2008-09-02 70 views
5

顯示我添加了一個自定義安裝動作我安裝程序來添加我的安裝目錄中的一個系統PATH環境變量。運行安裝程序後,PATH變量反映了這些更改(當我通過Control Panel :: System applet訪問它時),但是當我啓動一個新的命令shell時,PATH變量不會反映這些更改。有沒有我沒有做的事情,導致這種情況?安裝程序改變PATH變量,變化不會在命令外殼

+0

參見http://serverfault.com/questions/8855/how-do-you-add-a-windows-environment-variable-without-rebooting顯然你要發送系統消息或其他新路徑的韓元」 t採取 – rogerdpack 2014-10-10 20:56:15

回答

2

我認爲這取決於你如何啓動新的Command Shell。例如,當您在系統屬性下更改PATH環境變量時,只有在打開新的命令提示符後纔會反映該更改。我想當你啓動一個新的「cmd」過程(例如從運行對話框)時,你會得到所有環境變量的全新副本,但是如果以不同的方式啓動命令提示符,則不會。

對於一些通那樣的劇本完成後,您可能需要您注意的變化之前重新啓動。

+0

是的,我有腳本更改路徑變量,並發現沒有辦法啓動命令提示符顯示這些更改,直到重新啓動後。這是在Windows XP中。 – sampablokuper 2010-12-18 07:53:30

2

你是如何開始的命令shell?使用TaskManager?

我懷疑你可能會從資源管理器中啓動它 - 如果我沒有記錯,這可能meen你是繼承父進程(Windows資源管理器在這種情況下)PATH變量。由於這是在安裝程序運行之前設置的,因此您會看到舊值。

不知道這是否有幫助...

0

你如何添加環境變量?

無需使用任何外部工具,你可以add it to the registry。然後,您打開新命令窗口的測試將反映您的更改。

1

你爲什麼要使用這個CustomAction? Windows Installer支持本地修改環境變量。另外,我認爲Windows Installer會在環境變量發生變化時發送廣播消息來更新系統。這可能意味着你不需要重啓......但是自從我嘗試YMMV以來已經有一段時間了。