我向安装程序添加了自定义安装操作,以将安装目录之一添加到系统 PATH 环境变量中。运行安装程序后,PATH 变量会反映更改(当我通过控制面板::系统小程序访问它时),但当我启动新的命令 shell 时,PATH 变量不会反映更改。是不是有什么我没做的事情导致了这个?

有帮助吗?

解决方案

我认为这取决于您如何启动新的命令 shell。例如,当您更改“系统属性”下的 PATH 环境变量时,只有在打开新的命令提示符后才会反映更改。我认为当您启动新的“cmd”进程(例如从“运行”对话框)时,您会获得所有环境变量的新副本,但如果您以不同的方式启动命令提示符,则不会。

对于通过类似脚本完成的操作,您可能需要重新启动才能注意到更改。

其他提示

你如何启动命令外壳?用任务管理器?

我怀疑您可能是从资源管理器启动它 - 如果我没记错的话,这可能意味着您正在继承父进程(在本例中为 Windows 资源管理器)PATH 变量。由于这是在安装程序运行之前设置的,因此您会看到旧值。

不确定这是否有帮助......

http://support.microsoft.com/kb/310519 说对于系统环境变量(其中 PATH 是其中之一)需要重新启动,尽管我有一种感觉注销并重新启动可能就足够了。

为什么要使用 CustomAction 来实现此目的?Windows Installer 本机支持修改环境变量。另外,我认为当环境变量发生变化时,Windows Installer 会发送广播消息来更新系统。这可能意味着您不需要重新启动...但自从我尝试YMMV以来已经有一段时间了。

你是如何添加环境变量的?

无需使用任何外部工具,您就可以 将其添加到注册表中. 。然后,打开新命令窗口的测试将反映您的更改。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top