Fehlermeldung
Beim Löschen von Schlüsseln in der Windows Registry wird die Fehlermeldung ausgegeben:;
System.UnautohorizedAccessException:
In den Registrierungsschlüssel kann nicht geschrieben werden.
|
Im folgendem Code entsteht der Fehler:
Der C# Code versucht einen Schlüssel in der Registry zu entfernen
try
{
RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(registry_Menu_Path);
if (regKey != null)
{
if(regKey.SubKeyCount>0)
{
string[] subKeys = regKey.GetSubKeyNames();
foreach (string subKey in subKeys)
{
regKey.DeleteSubKey(subKey);
}
}
}
regKey.Close();
}
catch (Exception ex)
{
WinForms.MessageBox.Show(ex.ToString());
}
|
Lösung:
Man muss den Registry-Schlüssel mit dem Schreibattribut writable=true öffnen
Im Code:
RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(registry_Menu_Path,writable:true );
if (regKey != null)
{
//< delete all Subkeys >
if (regKey.SubKeyCount>0)
{
string[] subKeys = regKey.GetSubKeyNames();
foreach (string subKey in subKeys)
{
regKey.DeleteSubKey(subKey);
}
}
//</ delete all Subkeys >
}
regKey.Close();
|
Fehlermeldung:
bei System.ThrowHelper.ThrowUnauthorizedAccessException(ExceptionResource resource)
bei Microsoft.Win32.RegistryKey.EnsureWriteable()
bei Microsoft.Win32.RegistryKey.DeleteSubKey(String subkey, Boolean throwOnMissingSubKey)
bei Microsoft.Win32.RegistryKey.DeleteSubKey(String subkey)
bei Group_Images_By_Date.clsRegistry.fxRegistry_Remove_Key(String registry_Menu_Path) in C:\_Daten\Desktop\WPF\Group_Images_By_Date\Group_Images_By_Date\_classes\clsRegistry.cs:Zeile 63.
|
|