これがそのような質問の適切な場所かどうかはわかりませんが (おそらく SuperUser に配置する必要がありますか?)、試してみます。
1 つの C# コンソール アプリケーションと 1 つの Windows サービスがあります。どちらも同じことを行いますが、コンソール アプリは以前に作成されており、下位互換性のために保持されています。これらはそれぞれ、C:\ProgramData\MyApp 内のファイルに対してメソッドが動作する WCF サービスを実行しています。コンソール アプリは制限付きユーザー (非管理者) として実行され、Windows サービスは NT AUTHORITY\NETWORK SERVICE として実行されます。アプリがいくつかのディレクトリ/ファイルを作成すると、サービスはそれを削除できず、その逆も同様です。
確保したいと思います。私の質問は: C:\ProgramData\MyApp に対する完全なアクセス許可を NETWORK SERVICE と現在のユーザーに付与する必要がありますか? または、サービス/アプリを実行するための専用ユーザーを作成する必要がありますか?