Laden...

[Gelöst] Aus einem Thread in Registry schreiben: UnauthorizedAccessException

Erstellt von Bansi vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.164 Views
B
Bansi Themenstarter:in
22 Beiträge seit 2008
vor 12 Jahren
[Gelöst] Aus einem Thread in Registry schreiben: UnauthorizedAccessException

Schönen guten Abend,

folgendes Problem:

Ich möchte aus einem Thread in die Registry schreiben, bei der Ausführung kommt immer dieser Fehler.

Fehlermeldung:
System.UnauthorizedAccessException was unhandled
Message=Cannot write to the registry key.

Das einlesen geht tadellos und wenn ich in die Registry aus dem Gui-Thread heraus schreibe, funktioniert alles soweit gut. Wie kann ich diesen Fehler beseitigen?

Vielen Dank
Bansi

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo Bansi,

mich wundert, dass es aus dem GUI-Thread heraus gehen soll. Bist du dir wirklich sicher, dass du in beiden Fällen genau das gleiche unter auch ansonsten gleichen Umständen probierst?

Wenn es in beiden Fällen nicht geht, würde ich sagen, dass dir oder deiner Anwendung einfach die nötigen Rechte (z.B. Adminrechte) fehlen. Du solltest die Anwendung als Admin starten.

Zugriffs-/Rechteprobleme im Zusammenhang mir Registry wurde schon oft besprochen. Bitte benutze die Forumssuche und poste die besten Treffer hier. Vielen Dank! (Siehe auch Wird die Bitte, die besten Treffer aus der Forensuche zu posten, ausreichend ernst genommen?)

herbivore

T
94 Beiträge seit 2007
vor 12 Jahren

Möglicherweise benutzt du die OpenSubKey-Methode ohne den zweiten Parameter anzugeben. Der sollte bei dir den Wert true enthalten.

siehe OpenSubkey

B
Bansi Themenstarter:in
22 Beiträge seit 2008
vor 12 Jahren

Hallo,

ich hab mal ein komplett neues Projekt erstellt um die ganze Sache schrittweise noch einmal durchzugehen und konnte das Problem feststellen.

Mein Fehler war das ich für dem neuen Thread eine neue Instanz von Registry erstellt habe, ohne die nötigen Schreibrechte zugeben

newKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\Bansi\RegistryTest", RegistryKeyPermissionCheck.ReadWriteSubTree);

Näheres wird hier erklärt:
UnauthorizedAccessException beim Registry-Schreiben

Vielen Dank