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

PATH-Umgebungsvariable per Script ändern?


1 reply to this topic

smiley

smiley
  • Members
  • 2 posts

Posted 08 March 2004 - 10:54

Wie kann ich mit IS DevStudio / IS-Script die aktuelle Pfad-Umgebung anpassen, so dass es für jeden User passt?

Ich verwende gemeinsame DLLs (MFC-AFXDLLS) und möchte diese nicht ins System32 Verzeichnis installieren, sondern in einem Verzeichnis namens: <COMMONFILES> ^ "\MyCompany-Shared"

Bei meiner Installation werden auch einige eigene OCX'e installiert die auf diese AFX-DLL's schon während der SelfReg-Registrierung zugreifen müssen. Somit muss die Pfad-Variable bereits vor dem File-Moving angepasst werden.

Ich habe mit dem Ereignis "OnMoving()" unter NT4 den Registryschlüssel "Path" unter "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment" bearbeitet und es hat dort funktioniert.

Doch unter W2K wird der Registry-Eintrag zwar durchgeführt -> die Pfad-Einstellung gilt allerdings erst ab Neustart bzw. Neuanmeldung.

Weiss jemand Rat?

Perotin

Perotin
  • Full Members
  • 407 posts

Posted 08 March 2004 - 17:09

Um eine Pfad-Änderung sofort aktiv zu schalten, musst Du eine WINAPI-Aufruf machen. Hier ein Beispiel für die User-spezifische Pfad-Änderung

#define HWND_BROADCAST 0xFFFF
#define WM_SETTINGCHANGE 0x001A

POINTER pEnv;
STRING svValue, szKey, szName, szLine, szEnv;
szEnv = "Environment";
RegDBSetDefaultRoot( HKEY_CURRENT_USER );
// Flush the NT registry to all applications.
pEnv = &szEnv ;
SendMessage( HWND_BROADCAST, WM_SETTINGCHANGE, 0, pEnv );

siehe auch http://www.installsi...reshEnvironment

Gruß / regards
Thomas