In InnoSetup, there is a part called run which will execute the exe, batch file and msi. We can also give command line parameters to this run.
I provide the Innosetup sample:
[Run]
Filename: "{app}\msdirent.exe ";
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\NETCFSetupv2.msi""" ; Check:ShouldInstallComCtlUpdate ;
But in NSISS Script, how to run my exe and also I have to provide command line arguments to the concerned exe?
You have 3 NSIS instructions that can start a new process: Exec
, ExecWait
and ExecShell
(Internally the first two use CreateProcess and the last one uses ShellExecute)
In all cases SetOutPath
sets the working directory for the child process.
It is important to get the quoting correct since NSIS has 3 quote characters and windows paths with spaces should be quoted with "
:
ExecWait '"$instdir\myapp.exe"'
Exec '"$instdir\otherapp.exe" param1 "par am 2" param3'