2012-04-13 9 views
1

Ich habe eine Baugruppe, die in der GAC installiert ist. Kann diese Assembly auf Registrierungswerte in HKEY_LOCAL_MACHINE\SOFTWARE\COMPANYNAMEGAC Assembly Lese-Registrierung - C#

zugreifen Ich erhalte keinen Fehler, aber bin nicht in der Lage, Unterschlüssel von oben Pfad zu lesen. Meine Versammlung ist stark unterzeichnet.

Grund, ich verwende Registrierung ist, weil die Verwendung der Konfigurationsdatei nicht zulässig ist.

Beispielcode

string regKey = "HKEY_LOCAL_MACHINE\SOFTWARE\COMPANYNAME"; 
string userGUID = (string)Registry.GetValue(regKey, "userGUID", "-1"); 
+3

Bitte zeigen Sie ein Codebeispiel –

+0

@SteveWellens und die +1, haben Sie die Frage gelesen? –

+0

Vorher, als es sagte "Ich bekomme keinen Fehler ..." –

Antwort

1

Wenn Sie 64-Bit-Betriebssystem und Ihre Montage ist ausgeführt x86, oder von einem x86-Prozess genannt wird, dann wird Ihre Registrierung Aufruf an HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\COMPANYNAME Knoten weitergeleitet. Dies kann die Ursache Ihres Problems sein.

+0

Ich entwickle auf x32, also habe ich die Registrierung zu meinem System hinzugefügt und die .reg-Datei generiert, um auf der x64-Maschine zu laufen. Die Daten in der REG-Datei ist Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE \ SOFTWARE \ MyCompany] "userGUID" = "156789092267839" auf der x64-Maschine, die ich diesen Weg finden regedit HKEY_LOCAL_MACHINE \ SOFTWARE \ COMPANY mit – user721264

+0

Ja, aber jeder Zugriff von einer 32-Bit-App auf die Registrierung wird in den Unterknoten 'Wow6432Node' umgeleitet. Versuchen Sie, '[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MYCOMPANY]" userGUID "=" 156789092267839 "' auf einem x64-Computer zu erstellen und prüfen Sie, ob es funktioniert. P.S. es gibt kein "x32", es ist entweder "x86", was 32-bit ist oder "x64", was 64-bit ist. –

+0

danke für mein Tippfehler auf x32 – user721264

Verwandte Themen