का उपयोग कर रजिस्ट्री कुंजी लिखने की अनुमतियां सेट करना मैं इंस्टॉल प्रक्रिया के दौरान मशीन के सभी या सभी उपयोगकर्ताओं को अपने एप्लिकेशन की रजिस्ट्री सेटिंग्स तक पहुंच लिखने की कोशिश कर रहा हूं।.NET
मेरे आवेदन में व्यवस्थापक को आवश्यकतानुसार अनुमति देने के बाद उचित अनुमतियां नहीं हैं, भले ही कुंजी और मान मौजूद हों, उन्हें अपडेट नहीं किया जा सकता है? मेरे पास नीचे स्निपेट है, लेकिन अनधिकृत एक्सेस/एक्सेस अस्वीकार होने के कारण इंस्टॉलर विफल हो रहा है। मुझे लगता है कि मैं सही रास्ते पर हूं ...
मैन्युअल ध्यान देने के बिना अनुमतियों के मुद्दे को मैं कैसे हल कर सकता हूं? क्या कोई बेहतर दृष्टिकोण है? मैं इस कार्यक्षमता को जोड़कर विजुअल स्टूडियो सेटअप के साथ एक अतिरिक्त इंस्टॉलर को प्रतिस्थापित करने का प्रयास कर रहा हूं।
protected void GrantAllAccessPermission(String key)
{
try
{
SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
NTAccount account = sid.Translate(typeof(NTAccount)) as NTAccount;
// Get ACL from Windows, allow writing to the registry key
using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(key, true))
{
RegistrySecurity rs = new RegistrySecurity();
// Creating registry access rule for 'Everyone' NT account
RegistryAccessRule rar = new RegistryAccessRule(
account.ToString(),
RegistryRights.FullControl,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.None,
AccessControlType.Allow);
rs.AddAccessRule(rar);
rk.SetAccessControl(rs);
}
}
catch (System.Security.SecurityException ex)
{
throw new InstallException(
String.Format("An exception in GrantAllAccessPermission, security exception! {0}", key),
ex);
}
catch (UnauthorizedAccessException ex)
{
throw new InstallException(
String.Format("An exception in GrantAllAccessPermission, access denied! {0}", key),
ex);
}
}
मैं अपने टुकड़ा इस्तेमाल किया कुछ इसी तरह पूरा करने के लिए ... बस आपको यह बताने के , 'रजिस्ट्री.LocalMachine.OpenSubKey (कुंजी)' रजिस्ट्री होना चाहिए। LocalMachine.OpenSubKey (कुंजी, सत्य) '(जहां 'सत्य' इंगित करता है कि कुंजी लिखने योग्य होगी)। मैं उस परिवर्तन के बिना 'अनधिकृत एक्सेस अपवाद' में भाग रहा था। धन्यवाद! – Pwninstein
इसके लिए धन्यवाद, पनडिनस्टीन! यह मुझे निराशा के अनगिनत घंटे बचाया! –