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

如何在NSIS脚本中运行exe文件?,exe,nsis,Exe,Nsis,在InnoSetup中,有一个名为run的部分,它将执行exe、批处理文件和msi。我们还可以为这次运行提供命令行参数 我提供Innosetup示例: [Run] Filename: "{app}\msdirent.exe "; Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\NETCFSetupv2.msi""" ; Check:ShouldInstallComCtlUpdate ; 但是在NSIS脚本中,如何运行我的exe以及我必须为相关的

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

我提供Innosetup示例:

[Run]
Filename: "{app}\msdirent.exe ";
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\NETCFSetupv2.msi""" ; Check:ShouldInstallComCtlUpdate ;

但是在NSIS脚本中,如何运行我的exe以及我必须为相关的exe提供命令行参数?

尝试以下命令

Exec "$APPS\msdirent.exe"
对于命令行参数

Exec "$APPS\msdirent.exe 1"
要将msdirent.exe添加到安装程序

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

Exec "$APPS\msdirent.exe 1"
您可以启动一个新流程:
Exec
ExecWait
ExecShell
(前两个使用和最后一个使用在内部)

在所有情况下,
SetOutPath
设置输出路径

正确引用非常重要,因为NSIS有3个引号字符,带空格的windows路径应使用
”进行引用:


@Sivakg:如何将该msdirent.exe打包到安装程序中?您需要正确引用这些路径,请参阅NSIS手册或我的答案以获取示例!@Sivakg:谢谢您的信息。@Sivakg:如何将该msdirent.exe打包到卸载程序中?@Anders:谢谢您的回答。我支持您的答案,但Sivakg是第一个给出答案的人。@karthik好吧,他现在的答案是错误的,那些执行者不会在所有系统上工作。。。
ExecWait '"$instdir\myapp.exe"'
Exec '"$instdir\otherapp.exe" param1 "par am 2" param3'