显示我添加了一个自定义安装动作我安装程序来添加我的安装目录中的一个系统PATH环境变量。运行安装程序后,PATH变量反映了这些更改(当我通过Control Panel :: System applet访问它时),但是当我启动一个新的命令shell时,PATH变量不会反映这些更改。有没有我没有做的事情,导致这种情况?安装程序改变PATH变量,变化不会在命令外壳
回答
我认为这取决于你如何启动新的Command Shell。例如,当您在系统属性下更改PATH环境变量时,只有在打开新的命令提示符后才会反映该更改。我想当你启动一个新的“cmd”过程(例如从运行对话框)时,你会得到所有环境变量的全新副本,但是如果以不同的方式启动命令提示符,则不会。
对于一些通那样的剧本完成后,您可能需要您注意的变化之前重新启动。
是的,我有脚本更改路径变量,并发现没有办法启动命令提示符显示这些更改,直到重新启动后。这是在Windows XP中。 – sampablokuper 2010-12-18 07:53:30
你是如何开始的命令shell?使用TaskManager?
我怀疑你可能会从资源管理器中启动它 - 如果我没有记错,这可能meen你是继承父进程(Windows资源管理器在这种情况下)PATH变量。由于这是在安装程序运行之前设置的,因此您会看到旧值。
不知道这是否有帮助...
http://support.microsoft.com/kb/310519说,对系统环境变量(PATH是之一)需要重新启动,虽然我有注销和可能足够的感觉。
你如何添加环境变量?
无需使用任何外部工具,你可以add it to the registry。然后,您打开新命令窗口的测试将反映您的更改。
你为什么要使用这个CustomAction? Windows Installer支持本地修改环境变量。另外,我认为Windows Installer会在环境变量发生变化时发送广播消息来更新系统。这可能意味着你不需要重启......但是自从我尝试YMMV以来已经有一段时间了。
- 1. 通过命令行更改变量NSIS安装程序
- 2. cd命令不改变变量值的变化目录
- 3. Debian $ PATH变量变化
- 4. 音量变化不会改变应用程序音量
- 5. 外壳出口变量不会生效
- 6. LLDB expr命令不改变变量
- 7. NodeJS模块安装程序不设置PATH变量
- 8. C#安装程序变量
- 9. 为什么外壳变量在为命令添加前缀时会变成环境变量?
- 10. 安装程序如何在Mac OSX上设置PATH变量?
- 11. 修改$ PATH变量
- 12. 命令行OSX:配置PATH变量
- 13. 命令替换和$ PATH变量
- 14. 壳牌嵌入变量,命令
- 15. 从命令提示符(PATH环境变量)运行程序
- 16. C#变量不会改变?
- 17. Python变量不会改变
- 18. 变量不会改变
- 19. 变量不会改变值
- 20. 变量不会改变
- 21. Angularjs变量不会改变
- 22. 命令甚至改变路径变量
- 23. windows%PATH%变量 - 如何拆分';'在CMD外壳再次
- 24. PATH变量因事故而改变
- 25. 在R运行命令后出现意外变化的变化
- 26. 外壳脚本需要变量作为命令
- 27. 电源外壳:一个命令作为参数的变量
- 28. 提取变量从命令输出bash外壳
- 29. 设置外壳脚本命令输出的变量
- 30. 由另一个线程读取变量 - 变量不会改变
参见http://serverfault.com/questions/8855/how-do-you-add-a-windows-environment-variable-without-rebooting显然你要发送系统消息或其他新路径的韩元” t采取 – rogerdpack 2014-10-10 20:56:15