私はWindowsサービスプログラムの特別なフォルダを取得するための助けが必要です。私はこのコードを私の Windowsフォーム 応用:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
パスを取得しました "、" C:Users \ AppDataRoaming "*
しかし、私が同じコードを Winowsサービス 私は道を得ました: "C:WindowsServiceProfilesLocalServiceAppDataRoaming"
しかし、私はより早い道が必要です( Windowsフォーム)。 Service Projetでも同じパスを得るにはどうすればよいですか。
私はユーザー設定ファイル、ログ、設定ファイルを持っています "C:Users \ AppDataRoaming" フォルダ。だから私は同じ道を私の Windowsフォーム アプリケーションと Windowsサービス プロジェクト。
誰かが教えてくれますか?ここでの違いは何ですか。また、どのタイプのプロジェクトでも同じパスを得ることができますか?
ありがとう、 シャラテ
回答:
回答№1の場合は3Windowsサービスは、 "LocalService"または "LocalSystem"の代わりに "User"アカウントを使用する必要があります。
ServiceProcessInstaller process = new ServiceProcessInstaller();
process.Account = ServiceAccount.User;
また、サービスのインストール中に、現在ログインしているユーザーのユーザー名とパスワードを指定する必要があります。ユーザー名は "MachineNameUserName"の形式である必要があります。例: ".John"