0
string user = @"NT AUTHORITY\NETWORK SERVICE";
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\services\eventlog");
RegistrySecurity regSec = new RegistrySecurity();
RegistryAccessRule rule = new RegistryAccessRule(
                user,
                RegistryRights.FullControl,
                InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
                PropagationFlags.InheritOnly,
                AccessControlType.Allow);
regSec.AddAccessRule(rule);

key.SetAccessControl(regSec);

System.Unauthorizedaccessexception: "レジストリ キーに書き込めません" というメッセージが表示されます。で key.SetAccessControl(regSec);

私は管理者としてアプリを実行しています。

4

1 に答える 1

0

デフォルトでは、Network Service アカウントにはレジストリへの書き込みアクセス権がないと思います。

http://msdn.microsoft.com/en-us/library/ff647402.aspx#paght000015_registryaccessを参照してください。

この例外は、アプリが管理者として実行されたかどうかとはおそらく関係ありません。

于 2012-07-16T23:36:04.643 に答える