С# Set Registry Value выбрасывает UnauthorizedAccessException

У меня есть приложение С#, и я пытаюсь редактировать службу через реестр. Я использую файл манифеста, который требует прав администратора для запуска моего приложения. Несмотря на это, этот код вызывает System.UnauthorizedAccessException: Cannot write to the registry key:

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

Есть ли у кого-нибудь идеи, как это исправить?

Ответ 2

Следуйте следующему коду, обратите внимание на дополнительный аргумент true:

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