0

問題は、私の.NET Windowsサービス(で実行されているNT AUTHORITY\SYSTEM)が内のフォルダーにファイルを作成しProgramData、WindowsアプリケーションがSystem.UnauthorizedAccessExceptionそれを上書きしようとするとaを取得することです。現在ログインしているユーザーは管理者アカウントを持っていますが、アプリは昇格されません(そして私はそれを避けたいと思います)。

アプリケーションの後にサービスが開始された場合、ファイルはUIアプリによって作成され、正常に機能します。.NET WindowsサービスでWindowsアプリで上書きできるファイルを作成することはできますか?

4

1 に答える 1

1

それはちょうどファイルパーミッションについてです。アプリケーションを実行できるようにするユーザーの書き込みエントリを追加する必要があります。設定方法については、このMSDNの記事を参照してください。

重要な部分:

// Get a FileSecurity object that represents the 
// current security settings.
FileSecurity fSecurity = File.GetAccessControl(fileName);

// Add the FileSystemAccessRule to the security settings.
fSecurity.AddAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

// Set the new access settings.
File.SetAccessControl(fileName, fSecurity);
于 2012-10-15T07:15:44.847 に答える