2013-07-25 56 views
3

我正在编写Inno安装脚本,我需要在快捷方式目标中创建一个设置环境变量的快捷方式。目标字符串是一样的东西:在快捷方式目标中设置环境变量

cmd.exe /c set ENV_VAR=%CD% && "C:\Program Files\MyApp\MyApp.exe" 

但出于某种原因,我不能FANTOM快捷,从未创建。我检查了目标字符串的长度:162个字符,这似乎低于Windows(?)限制。如果我使用不带“... & &”前缀的目标字符串创建快捷方式,然后手动添加该快捷方式,则它会按预期工作。任何帮助表示赞赏。

+0

您预期作为ENV_VAR的最终值是什么? – Gangadhar

+0

包含快捷方式的目录。 –

+1

发布您的[图标]条目。很可能你没有正确分离文件名和参数,但很难说没有看到它。 – Miral

回答

0

如果你想使用Inno Setup的作为%CD%和 “C:\ Program Files文件\ MyApp的\ MyApp.exe的” 设置ENV_VAR
可以使用;像下面

C:\ Program Files文件; C:\ WINNT; C:\ WINNT \ SYSTEM32

这可能帮助你

set ENV_VAR=%CD%;C:\Program Files\MyApp\MyApp.exe 

我用

set ENV_VAR=%PATH%;C:\program files 

检查后列出所有,我发现

ENV_VAR=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Linux For Windows\bin;C:\Program Files (x86)\Universal Extractor;C:\Program Files (x86)\Universal Extractor\bin;C:\Program Files (x86)\Calibre2\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Subversion\bin;C:\Program Files (x86)\WinMerge;C:\Program Files 

上面的环境变量长度是390个字符,所以我相信你的情况下长度没问题。

+1

快捷方式“目标”字段中的“&&”连接两个命令。环境变量只能设置为'%CD%'。 –

+0

**设置ENV_VAR =%CD%**就够了,在此之前您需要使用** set CD = xxxxxxxxx **设置CD值。如果我们使用cmd.exe,则不会创建环境变量。 **设置ENV_VAR =%CD%&&“C:\ Program Files \ MyApp \ MyApp.exe”**这将设置ENV_VAR = CD的值,然后执行** MyApp.exe ** – Gangadhar

+0

仅使用'set'不起作用,因为此命令仅在shell中有效。快捷方式中的“目标”字段需要执行命令。 –