Hallo und Grüß Gott,
ich möchte (muß) im Pfad HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\\ Sytemvariable setzen.
Für die Reallisierung bin ich auf die Befehle RegDBSetDefaultRoot, RegDBCreateKeyEx, RegDBKeyExist etc.
gestoßen. Leider nur mit dem Teilerfolg, daß ich in HKEY_LOCAL_MACHINE, HKEY_USERS keine Schlüssel setzen kann. Die anderen drei Registry-Schlüssel sind erweiterbar.
Händisch ist die Registry erweiterbar.
Das ganze Vorhaben muß mir unter NT V4.0 und WS2000 gelingen. Testumgebung ist WS2000 momentan.
So, wer kann mir hier wertvolle Tipps geben??
1000 x für die Unterstützung.
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Setzen von Umgebungsvariablen in der Registry
Started by
JR-Essen
, Sep 12 2002 12:54
4 replies to this topic
Posted 12 September 2002 - 14:37
Hallo,
beachte, daß die RegDB...-Befehle sich i.a. auf HKCR beziehen, d.h. Du solltest immer erst mit RegDBSetDefaultRoot den gewünschten HiveKey einstellen, bevor Du einen oder eine Salve von RegDB...-Befehlen losfeuerst; in Deinem Falle also:
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
Ich hoffe, es klappt damit. Denn da Du von Hand ja die Werte setzen kannst, scheint es nicht an fehlenden Zugriffsrechten zu liegen.
Eberhard
beachte, daß die RegDB...-Befehle sich i.a. auf HKCR beziehen, d.h. Du solltest immer erst mit RegDBSetDefaultRoot den gewünschten HiveKey einstellen, bevor Du einen oder eine Salve von RegDB...-Befehlen losfeuerst; in Deinem Falle also:
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
Ich hoffe, es klappt damit. Denn da Du von Hand ja die Werte setzen kannst, scheint es nicht an fehlenden Zugriffsrechten zu liegen.
Eberhard
Posted 13 September 2002 - 10:27
Hi Eberhard,
vielen Dank für den Hinweis. Wegen eines Schreibfehlers ist der von Dir angesprochene PARAMETER bei mir nicht ausgewertet worden.
Jetzt kann ich also z.B. den Schlüssel szKey_UNIHOME1 = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\\UNIHOME1" setzen.
Ich muß jetzt eine Umbebungsvariable (Wert) als Zeichenfolge in dem Schlüssel SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\\UNIHOME1 definieren.
z.B: UNIHOME1=D:\Program_V190
Und da weis ich jetzt nicht mehr weiter. Wenn Du oder jemand anders einen Tipp hat, wäre ich sehr dankbar!
Ciao Jürgen.
vielen Dank für den Hinweis. Wegen eines Schreibfehlers ist der von Dir angesprochene PARAMETER bei mir nicht ausgewertet worden.
Jetzt kann ich also z.B. den Schlüssel szKey_UNIHOME1 = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\\UNIHOME1" setzen.
Ich muß jetzt eine Umbebungsvariable (Wert) als Zeichenfolge in dem Schlüssel SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\\UNIHOME1 definieren.
z.B: UNIHOME1=D:\Program_V190
Und da weis ich jetzt nicht mehr weiter. Wenn Du oder jemand anders einen Tipp hat, wäre ich sehr dankbar!
Ciao Jürgen.
Posted 16 September 2002 - 13:51
Nach der Euro-Einführung kann ich nun auch meine 2cent dazugeben
1. paß auf mit "Session Manager" und "SessionManager", beide Schlüssel sind unter NT4 vorhanden ...
2. Unter dem Schlüssel "Environment" solltest Du keine weiteren Schlüssel anlegen. Die Variablen in diesem Schlüssel entsprechen den Umgebungsvariablen.
Willst Du also die Variable
setzen, so kannst Du folgenden Code verwenden:
Ich hoffe mal, dass sich dieser Code aus IS5 nicht von dem in IS6 benötigten unterscheidet
1. paß auf mit "Session Manager" und "SessionManager", beide Schlüssel sind unter NT4 vorhanden ...
2. Unter dem Schlüssel "Environment" solltest Du keine weiteren Schlüssel anlegen. Die Variablen in diesem Schlüssel entsprechen den Umgebungsvariablen.
Willst Du also die Variable
Quote |
UNIHOME1=D:\Program_V190 |
Code Sample |
RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE ); szKey = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment"; RegDBSetKeyValueEx( szKey, "UNIHOME1", REGDB_STRING, "D:\Program_V190", -1 ); |
Gruß / regards
Thomas
Thomas
Posted 05 December 2002 - 10:21
Perotin hat dir den richtigen code genannt. Funktioniert genau so.
Noch was auf das du achten solltest:
Die Path Variable in der Environment is vom Typ REGDB_STRING_EXPAND!!!
Falls du REGDB_STRING verwendest ist der Path von keiner Anwendung aus mehr anwendbar!!!
MFG
Noch was auf das du achten solltest:
Die Path Variable in der Environment is vom Typ REGDB_STRING_EXPAND!!!
Falls du REGDB_STRING verwendest ist der Path von keiner Anwendung aus mehr anwendbar!!!
MFG