2012-04-26 16 views
8

Ho un'applicazione C# e sto cercando di modificare un servizio tramite il registro. Sto usando un file manifest che richiede i privilegi di amministratore per eseguire la mia applicazione. Nonostante ciò, questo codice getta System.UnauthorizedAccessException: Cannot write to the registry key:C# Imposta valore di registro genera UnauthorizedAccessException

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

Qualcuno ha qualche idea su come risolvere questo problema?

+3

Questo potrebbe aiutare, sembra che si sta aprendo la chiave sola lettura http://stackoverflow.com/questions/2732126/deletesubkey-unauthorizedaccessexception Google è tuo amico. –

+0

Sicuramente enuff, prima di fare una domanda qui googleing funziona alla grande, molto più velocemente dello stackoverflow anche al meglio ... Ho letteralmente copiato il soggetto, incollato in google e la risposta era il 2o link :) –

+0

Grazie per questo Eric, peccato che ho fatto qualche ricerca e non l'ho trovato. Tutto ciò che ho trovato riguarda la necessità di elevare le autorizzazioni. – Nik

risposta

15

Plz seguire il seguente codice, osservino i true argomento:

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