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);
我正在以管理员身份运行该应用。
答案 0 :(得分:0)
我认为默认情况下,网络服务帐户没有对注册表的写入权限。
请参阅http://msdn.microsoft.com/en-us/library/ff647402.aspx#paght000015_registryaccess
该应用程序是否以管理员身份运行时,该异常可能无关。