C#Set Registry Value抛出UnauthorizedAccessException

时间:2012-04-26 19:22:47

标签: c#

我有一个C#应用程序,我正在尝试通过注册表编辑服务。我正在使用需要管理员权限才能运行我的应用程序的清单文件。尽管如此,此代码抛出System.UnauthorizedAccessException: Cannot write to the registry key

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

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

2 个答案:

答案 0 :(得分:22)

请遵循以下代码,请注意其他true参数:

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

答案 1 :(得分:5)

这可能会有所帮助,

Link to similar issue on stack overflow

看起来你正在打开关键只读...谷歌是你的朋友。