我向安装程序添加了一个自定义安装操作,以将我的一个安装目录添加到System PATH环境变量中。运行安装程序后,PATH变量反映了更改(当我通过Control Panel :: System applet访问它时),但是当我启动一个新的命令shell时,PATH变量不会反映更改。有什么我没做的,导致这个吗?
答案 0 :(得分:3)
我认为这取决于你如何启动新的Command shell。例如,在“系统属性”下更改PATH环境变量时,直到打开新的命令提示符才会反映更改。我认为当你启动一个新的“cmd”进程时(例如从“运行”对话框中),你会获得所有环境变量的全新副本,但是如果你以不同的方式启动命令提示符,那么你就不会这样做。
对于通过这样的脚本完成的事情,您可能需要在注意到更改之前重新启动。
答案 1 :(得分:2)
你是如何启动命令shell的?使用TaskManager?
我怀疑你可能是从资源管理器启动它 - 如果我没记错的话,这可能意味着你继承了父进程(本例中是Windows资源管理器)PATH变量。由于这是在安装程序运行之前设置的,因此您会看到旧值。
不确定这是否有帮助...
答案 2 :(得分:2)
http://support.microsoft.com/kb/310519表示对于系统环境变量(PATH是其中之一)需要重启,尽管我觉得注销和开启可能就足够了。
答案 3 :(得分:1)
为什么要使用CustomAction? Windows Installer支持本机修改环境变量。此外,我认为Windows安装程序发送广播消息以在环境变量更改时更新系统。这可能意味着你不需要重新启动......但是我已经尝试过YMMV了一段时间。
答案 4 :(得分:0)
您如何添加环境变量?
不使用任何外部工具,您可以add it to the registry。然后,您打开新命令窗口的测试将反映您的更改。