2010-12-16 13 views
33

मैं एक खिड़कियों सेवा है कि LOCAL_MACHINE, रजिस्ट्री कुंजी नहीं लिख सकता हो रही UnauthorizedAccessException

में एक रजिस्ट्री कुंजी में लिखने के लिए कुंजी एक Windows इंस्टॉलर पैकेज के हिस्से के रूप में बनाया जाता है प्रयास है नियंत्रण खिड़कियों सेवा और अकेले एक स्टैंड नियंत्रण खिड़की।

नियंत्रण विंडो रजिस्ट्री कुंजी ठीक पढ़ और लिख सकती है, हालांकि जब भी मैं स्थानीय सेवा को पूर्ण अनुमति देता हूं तब भी मैं रजिस्ट्री कुंजी पर नहीं लिख सकता।

private void updateLocalRegistryVersion(Double newVersion) 
{ 
    RegistryKey rk = Registry.LocalMachine; 
    RegistryKey sk = rk.OpenSubKey(@"Software\CompanyName\Monitoring\Values"); 

    sk.SetValue("scriptversion", newVersion.ToString()); 
} 

कोई सुझाव:

इस कोड है कि अपवाद फेंकता है?

उत्तर

66

RegistryKey.OpenSubKey(string) लेखन के लिए कुंजी नहीं खोलता है। यह निर्दिष्ट करने के लिए कि आप कुंजी लिखने योग्य चाहते हैं, OpenSubKey(string, bool) अधिभार का उपयोग करने का प्रयास करें।

+7

+1 धन्यवाद! यह एक कष्टप्रद (अभी तक स्पष्ट रूप से स्पष्ट) अधिभार है। शर्मिंदा की तरह मुझे याद आया कि ... – Pwninstein

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^