Jump to content


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.
Photo

Setzen von Umgebungsvariablen in der Registry


4 replies to this topic

JR-Essen

JR-Essen
  • Members
  • 8 posts

Posted 12 September 2002 - 12:54

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.

EberhardH

EberhardH
  • Members
  • 137 posts

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

JR-Essen

JR-Essen
  • Members
  • 8 posts

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.   :)

Perotin

Perotin
  • Full Members
  • 407 posts

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
Quote
UNIHOME1=D:\Program_V190
setzen, so kannst Du folgenden Code verwenden:
Code Sample
RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE );
szKey = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
RegDBSetKeyValueEx( szKey, "UNIHOME1", REGDB_STRING, "D:\Program_V190", -1 );
Ich hoffe mal, dass sich dieser Code aus IS5 nicht von dem in IS6 benötigten unterscheidet  :D
Gruß / regards
Thomas

probsar

probsar
  • Members
  • 31 posts

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