login を使用して実行している Windows サービスがありますlocalhost\administrator。このサービスは、別の実行可能ファイル ( ) を呼び出すためのMyProcess.exeもので、ログ ファイルに何かを書き込むことになっています。サービスはProcess.Start()、次のようにプロセスを作成するために使用します。
var p = new Process();
p.StartInfo.FileName = processFileName;
p.StartInfo.Arguments = arg;
p.Start();
問題は、ログ フォルダへの書き込み権限が間違いなくMyProcess.exeあるにもかかわらず、ログ ファイルへの書き込み権限が拒否されているように見えることです。localhost\administratorコマンドラインから実行するMyProcess.exeと、完全に機能します。
では、別のユーザーログインを使用してプロセスが実行されている可能性はありますか?
MyProcess.exeログ ファイルへの書き込み権限が拒否されている理由を他に考えられますか?
更新:ログ ファイルはローカル マシンに書き込まれていますが、ネットワーク アドレスを使用しています\\MyPC\LogFolder。を参照するようにコードを変更するとC:\MyFolder、すべて正常に動作します。明らかにネットワーク アドレスに問題があります (ローカルであっても)。
ローカル システム アカウントがファイルにアクセスできるようにするには、フォルダーにどのような共有設定を行う必要がありますか?