Schlüssel in Registrierung schreiben (C#)

Gast #2326585
Lesenswert?
• ▲
▼
Hallo
Ich möchte in der Registry einen neuen Schlüssel erzeugen mit:

RegistryKey ItemKey = Registry.LocalMachine.CreateSubKey 
(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\CommandStore\ 
\shell\\"+  name);
 ItemKey.SetValue("Standart", name);

Leider passiert genau nichts. Der neue Key und Wert wird nicht erstellt 
und Fehlermeldung bekomme ich auch keine...

Andere Schlüssel kann ich aber erzeugen. zB:
RegistryKey MenuKey = 
Registry.LocalMachine.CreateSubKey(@"Software\\Classes\\DesktopBackgroun 
d\\Shell\\"  + MenuName);

Funktioniert einwandfrei! Warum wird aber der obere nicht erstellt? Das 
Programm startet mit Adminrechten. Habe ich etwas übersehen?

Vielen Dank im vorraus!
Gast #2326591
Lesenswert?
• ▲
▼
bei C# verwendet man etweder @ oder \\ aber doch nicht beides? Wenn man 
@ verwendet dann reicht ein \.

könnte es sein das STandard mit d geschriebn wird?

ItemKey.SetValue("Standart", name);

auserdem heist diese eintrag nicht so, aus dem Grund steht er auch in 
(). Den muss man anders setzen.
Gast #2326632
Lesenswert?
• ▲
▼
okey wieder etwas dazugelernt! Danke!
Leider ist das Problem wegen des nicht erzeugens des Schlüssels 
immernoch vorhanden. Der Zweite Key wird einfach nicht erstellt....

Interessanterweise funktioniert es, wenn ich es nicht in LocalMachine 
schreibe/speichere, sondern CurrentUser. Also ist codetechnisch alles 
funktionsfähig.
Ich vermute, das es an mangelnder Rechte liegen könnte. Das Programm 
startet jedoch schon als Admin -> was könnte ich noch ausprobiern??

Edit:
mit @ und \\ zusammen funktioniert es auch :P
Gast #2326639
Lesenswert?
• ▲
▼
ein Rechte Problem kann es eignetlich nicht sein, sonst würdes du eine 
Exception bekommen, ich kann mir noch ein 32/64bit Problem vorstellen. 
Die Registry ist für 32bit Programm teilweise eine andere wie für 64bit 
Programm. Da wird jeweil ein anderer Zweig geladen.
Gast #3650241
Lesenswert?
• ▲
▼
Ich habe das Problem das er es nicht in Software\Microsoft schreibt 
sondern in Software\Wow6432Node\Microsoft geschrieben.

Hast Du Dein Problem gelöst? Wäre nett wenn Du einen codeschnipsel 
posten könntest

Gruß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren