2012-04-26 18 views
8

Mam aplikację C# i próbuję edytować usługę za pośrednictwem rejestru. Używam pliku manifestu, który wymaga uprawnień administratora do uruchomienia aplikacji. Pomimo, że ten kod rzuca System.UnauthorizedAccessException: Cannot write to the registry key:C# Ustaw wartość rejestru wyrzuca UnauthorizedAccessException

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

Czy ktoś ma jakieś pomysły jak to naprawić?

+3

To może pomóc, wygląda na to, otwieramy klucz tylko do odczytu http://stackoverflow.com/questions/2732126/deletesubkey-unauthorizedaccessexception Google to twój przyjaciel. –

+0

Oczywiście, zanim wystosujesz pytanie tutaj, googleing działa świetnie, o wiele szybciej niż stackoverflow nawet w najlepszym wydaniu ... Dosłownie skopiowałem twój temat, wkleiłem go do google, a odpowiedź brzmi: drugi link :) –

+0

Dzięki za to Eric, szkoda, że ​​nie szukałem i nie natknąłem się na to. Wszystko, co znalazłem, dotyczyło konieczności podniesienia uprawnień. – Nik

Odpowiedz

15

Plz wykonaj poniższy kod, należy zwrócić uwagę na dodatkowe true argument:

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