2008-09-02 35 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以来已经有一段时间了。