1

installutil を使用して Windows サービスをインストールしましたが、プロジェクト インストーラーのアカウント プロパティがユーザーに設定されています。

現在ログオンしているユーザー (ドメイン/ユーザー名) としてサービスをインストールします。

このサービスは何らかの処理を行い、テキスト ファイルを作成します。Windows エクスプローラーでテキスト ファイルを表示できませんが、サービスの出力に基づいて存在することはわかっています。

サービスを実行しているユーザーとしてログインしている場合、サービスが作成するファイルが表示されないのはなぜですか?

ありがとう、アンドリュー

4

1 に答える 1

1

私の経験では、サービスの現在の作業ディレクトリは、エントリ アセンブリが配置されているフォルダーではなく、システム フォルダーにデフォルト設定されています。ここでファイルを確認してください。作業ディレクトリを変更したい場合は、次のコードで行うことができます。

Assembly assembly = Assembly.GetEntryAssembly();
string assemblyFolder = Path.GetDirectoryName(assembly.Location);
Environment.CurrentDirectory = assemblyFolder;
于 2013-09-09T23:48:14.387 に答える