【发布时间】:2012-02-15 11:10:24
【问题描述】:
我正在创建一个 Env 变量,然后将其附加到我在 Win7 - 64 位上的 NSIS 安装程序脚本中的 PATH 变量中。
Push "MyPath"
Push "D:\MyFolder\bin;D:\MyFolder\lib"
Call WriteEnvStr
Push "%MyPath%"
Call AddToPath
现在安装后我可以在 cmd 提示符中看到两个变量
MyPath=D:\MyFolder\bin;D:\MyFolder\lib
Path=%MyPath%;<my existsing path>
但在运行时找不到任何 exe/dll。 如果我以管理员身份运行 cmd 提示符,然后运行 exe,它运行良好。 如果我直接以管理员身份运行 exe,它也可以工作。
另外有趣的是,如果我打开环境编辑器,双击 MyPath 变量并单击确定(不更改任何内容),我的 exe 可以正常运行而无需以管理员身份运行。 现在,如果我在 cmd 提示符下检查 Path,MyPath 变量将被替换
MyPath=D:\MyFolder\bin;D:\MyFolder\lib
Path=D:\MyFolder\bin;D:\MyFolder\lib;<my existsing path>
我尝试在创建环境变量后添加“调用 EnvVarUpdate”,但它不起作用。
我使用的是 NSIS Unicode 版本 2.46.3
【问题讨论】:
-
我在 SuperUser 中看到的答案表明这不是 NSIS 问题,而是 Windows 存在 env 问题。另一个环境中的变量。多变的。不确定它的真实性。
标签: nsis