如何在NSIS脚本中运行exe文件?

kar*_*hik 14 exe nsis

在InnoSetup中,有一个名为run的部分将执行exe,批处理文件和msi.我们还可以为此运行提供命令行参数.

我提供了Innosetup样本:

[Run]
Filename: "{app}\msdirent.exe ";
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\NETCFSetupv2.msi""" ; Check:ShouldInstallComCtlUpdate ;
Run Code Online (Sandbox Code Playgroud)

但是在NSISS Script中,如何运行我的exe并且还必须为相关的exe提供命令行参数?

And*_*ers 20

你有3个NSIS指令可以启动一个新的流程:Exec,ExecWaitExecShell(内部前两个使用CreateProcess的最后一个使用的ShellExecute)

在所有情况下都SetOutPath设置子进程工作目录.

引用正确非常重要,因为NSIS有3个引号字符,带空格的窗口路径应引用":

ExecWait '"$instdir\myapp.exe"'
Exec '"$instdir\otherapp.exe" param1 "par am 2" param3'
Run Code Online (Sandbox Code Playgroud)


Siv*_*iah 13

请尝试以下命令

Exec "$APPS\msdirent.exe"
Run Code Online (Sandbox Code Playgroud)

对于Command Line Args,

Exec "$APPS\msdirent.exe 1"
Run Code Online (Sandbox Code Playgroud)

要将msdirent.exe添加到安装程序,

SetOutPath "$APPS"
File "localpath\msdirent.exe"

Exec "$APPS\msdirent.exe 1"
Run Code Online (Sandbox Code Playgroud)