我是NSIS的新手我正在尝试执行类似于pre请求的安装时执行可执行文件。我尝试了下面的代码,它将exe复制到安装路径,但它没有执行它。
Section "example" example
SetOutPath "$INSTDIR"
File "setup.exe"
Exec "$INSTDIR\setup.exe"
BringToFront
SectionEnd
答案 0 :(得分:8)
Seki的答案大多是正确的,我只想补充一点,Exec / ExecWait的正确语法总是 Exec '"c:\path\app.exe" param1 "par am2" param3'
参数当然是可选的,但应始终引用应用程序的路径,这不仅仅是因为在你的情况下$ INSTDIR可能包含空格,但至少在Win9x上,如果你没有引用,它将会失败(根据到NSIS手册)
如果空格/缺少引号不是问题,那么您可能还需要考虑其他一些事项:
答案 1 :(得分:1)
$INSTDIR
变量是否映射到名称中包含空格的目录?如果是这样,您应该添加简单的引号以在Exec
参数中包含双引号:
Exec '"$INSTDIR\setup.exe"'