21

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

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

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

有人对如何解决这个问题有任何想法吗?

4

2 回答 2

33

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

RegistryKey key = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\services\\Tomcat7",true);
key.SetValue("Start", 2, RegistryValueKind.DWord);
于 2013-06-30T11:28:45.897 回答
6

这可能会有所帮助,

链接到堆栈溢出的类似问题

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

于 2012-04-26T19:45:30.563 回答