質問

私が持っているサービスを書く過程で

        //# Service Account Information
        serviceProcessInstaller.Account = ServiceAccount.LocalSystem;

インストーラーで。

ログを書くのに問題がありました

    static string USERS_HOME_DIR = Environment.GetEnvironmentVariable("HOMEDRIVE") + Environment.GetEnvironmentVariable("HOMEPATH");

サービスが実行されていたとき(「管理者として」インストール)イベントロガーが報告していた

サービスを開始できません。 System.io.DirectoryNotFoundException:パスの一部を見つけることができませんでした 'c: documents folder of tenting "

local_pcのユーザーのホームパスが必要です。それらを取得する方法はありますか?

アップデート

実際、セッションとサービスが始まると、現在ログに記録されているユーザーのパスを取得する方が良いでしょう。私のSeviceは再入力ではありませんが、1人のユーザーは誰よりも優れています。

役に立ちましたか?

解決

私があなたの質問を正しく理解しているなら、あなたが探しているものは 特別なフォルダーの列挙.

のようなもの:

String PersonalFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);

LocalSystemアカウントとしてサービスを実行する場合は、データを保存するための個別の標準セットがあります。見る ServerFaultでのこの答え.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top