Das Installationsprogramm ändert die PATH-Variable. Änderungen werden nicht in der Befehlsshell angezeigt

StackOverflow https://stackoverflow.com/questions/40311

Frage

Ich habe meinem Installationsprogramm eine benutzerdefinierte Installationsaktion hinzugefügt, um eines meiner Installationsverzeichnisse zur Umgebungsvariablen System PATH hinzuzufügen.Nachdem ich das Installationsprogramm ausgeführt habe, spiegelt die PATH-Variable die Änderungen wider (wenn ich über das Control Panel::System-Applet darauf zugreife), aber wenn ich eine neue Befehlsshell starte, spiegelt die PATH-Variable die Änderungen nicht wider.Gibt es etwas, das ich nicht mache und das die Ursache dafür ist?

War es hilfreich?

Lösung

Ich denke, das hängt davon ab, wie Sie die neue Command-Shell starten.Wenn Sie beispielsweise die Umgebungsvariable PATH unter „Systemeigenschaften“ ändern, wird die Änderung erst wirksam, wenn Sie eine neue Eingabeaufforderung öffnen.Ich denke, wenn Sie einen neuen „cmd“-Prozess starten (z. B. über das Dialogfeld „Ausführen“), erhalten Sie eine neue Kopie aller Umgebungsvariablen. Wenn Sie die Eingabeaufforderung jedoch auf eine andere Art und Weise starten, ist dies nicht der Fall.

Für etwas, das über ein solches Skript erledigt wird, müssen Sie möglicherweise neu starten, bevor Sie die Änderung bemerken.

Andere Tipps

Wie starten Sie die Befehlsshell?Mit dem TaskManager?

Ich vermute, dass Sie es möglicherweise über den Explorer starten. Wenn ich mich richtig erinnere, könnte dies bedeuten, dass Sie die PATH-Variable der übergeordneten Prozesse (in diesem Fall Windows Explorer) erben.Da dies festgelegt wurde, bevor Ihr Installationsprogramm ausgeführt wurde, wird der alte Wert angezeigt.

Ich bin mir nicht sicher, ob das hilft ...

http://support.microsoft.com/kb/310519 sagt, dass für Systemumgebungsvariablen (zu denen PATH gehört) ein Neustart erforderlich ist, obwohl ich das Gefühl habe, dass das Ab- und Anmelden möglicherweise ausreicht.

Warum verwenden Sie hierfür eine CustomAction?Der Windows Installer unterstützt das native Ändern von Umgebungsvariablen.Außerdem denke ich, dass der Windows Installer eine Broadcast-Nachricht sendet, um das System zu aktualisieren, wenn sich Umgebungsvariablen ändern.Das kann bedeuten, dass Sie keinen Neustart benötigen ...aber es ist schon eine Weile her, seit ich es versucht habe, YMMV.

Wie fügen Sie die Umgebungsvariable hinzu?

Ohne die Verwendung externer Tools ist dies möglich Fügen Sie es zur Registrierung hinzu.Anschließend wird Ihr Test zum Öffnen eines neuen Befehlsfensters Ihre Änderung widerspiegeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top