Inno setup 在快捷方式目标中设置环境变量

Inno setup 在快捷方式目标中设置环境变量,inno-setup,Inno Setup,我正在编写一个Inno设置脚本,需要在其中创建一个快捷方式,在快捷方式目标中设置一个环境变量。目标字符串类似于: cmd.exe /c set ENV_VAR=%CD% && "C:\Program Files\MyApp\MyApp.exe" 但由于某种原因,我无法想象捷径从未创造过。我检查了目标字符串的长度:162个字符,似乎低于Windows(?)限制。但是,如果我使用不带“…&&”前缀的目标字符串创建快捷方式,然后手动添加它,它将按预期工作。如果您想使用inno set

我正在编写一个Inno设置脚本,需要在其中创建一个快捷方式,在快捷方式目标中设置一个环境变量。目标字符串类似于:

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

但由于某种原因,我无法想象捷径从未创造过。我检查了目标字符串的长度:162个字符,似乎低于Windows(?)限制。但是,如果我使用不带“…&&”前缀的目标字符串创建快捷方式,然后手动添加它,它将按预期工作。如果您想使用inno setup将环境变量设置为%CD%和“C:\Program Files\MyApp\MyApp.exe”
您可以使用如下所示

C:\程序文件;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个字符,因此我相信在您的情况下,长度没有问题

您希望ENV_VAR的最终值是什么?包含快捷方式的目录。发布您的[Icons]条目。很可能您没有正确地分离文件名和参数,但是如果不看到它,很难判断。快捷方式“Target”字段中的
&
连接了两个命令。环境变量只能设置为
%CD%
。设置环境变量=%CD%就足够了,在此之前,您需要使用set CD=xxxxxxxxx设置CD值。仅使用set。如果与cmd.exe一起使用,则不会创建环境变量。set ENV_VAR=%CD%&“C:\Program Files\MyApp\MyApp.exe”这将设置ENV_VAR=CD的值,然后使用set执行MyApp.exe,因为此命令仅在shell中有效,因此无法使用。快捷方式中的
Target
字段需要一个可执行命令。