C# 设置注册表值引发UnauthorizedAccessException

C# 设置注册表值引发UnauthorizedAccessException,c#,C#,我有一个C#应用程序,我正试图通过注册表编辑服务。我使用的清单文件需要管理员权限才能运行我的应用程序。尽管如此,这段代码抛出 System.UnauthorizedAccessException:无法写入注册表项 有人知道如何解决这个问题吗?这可能会有帮助 看起来您正在以只读方式打开密钥。按照以下代码操作,注意附加的true参数: RegistryKey key = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\ser

我有一个C#应用程序,我正试图通过注册表编辑服务。我使用的清单文件需要管理员权限才能运行我的应用程序。尽管如此,这段代码抛出

System.UnauthorizedAccessException:无法写入注册表项

有人知道如何解决这个问题吗?

这可能会有帮助


看起来您正在以只读方式打开密钥。

按照以下代码操作,注意附加的
true
参数:

RegistryKey key = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\services\\Tomcat7",true);
key.SetValue("Start", 2, RegistryValueKind.DWord);

这可能会有帮助,看起来你正在打开钥匙,只读的谷歌是你的朋友。当然,在你提出问题之前,谷歌的工作很好,比stackoverflow快得多,即使是最好的。。。我只是复制了你的主题,粘贴到谷歌上,答案是第二个链接:)谢谢你的链接,埃里克,可惜我做了一些搜索,没有找到它。我所发现的一切都是关于提升权限的需要。这是问鸭子的经典案例…:)
RegistryKey key = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\services\\Tomcat7",true);
key.SetValue("Start", 2, RegistryValueKind.DWord);