#


 
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.

 
 
 
 
 
Mobile

.

0123movie.net