Как запустить exe файлы в NSIS Script?
В InnoSetup есть часть, называемая run, которая будет выполнять exe, командный файл и msi. Мы также можем предоставить параметры командной строки для этого прогона.
Я предоставляю образец Innosetup:
[Run]
Filename: "{app}\msdirent.exe ";
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\NETCFSetupv2.msi""" ; Check:ShouldInstallComCtlUpdate ;
Но в NSISS Script, как запустить мой exe, а также я должен предоставить аргументы командной строки для соответствующего exe?
Ответы
Ответ 1
Попробуйте выполнить следующие команды
Exec "$APPS\msdirent.exe"
Для командной строки Args,
Exec "$APPS\msdirent.exe 1"
Для добавления msdirent.exe в программу установки
SetOutPath "$APPS"
File "localpath\msdirent.exe"
Exec "$APPS\msdirent.exe 1"
Ответ 2
У вас 3 инструкции NSIS, которые могут начать новый процесс: Exec
, ExecWait
и ExecShell
(внутренне первый два используют CreateProcess, а последний использует ShellExecute)
Во всех случаях SetOutPath
устанавливает рабочий каталог для дочернего процесса.
Очень важно получить правильную цитату, так как NSIS имеет 3 символа кавычки, а пути окон с пробелами должны быть указаны с помощью "
:
ExecWait '"$instdir\myapp.exe"'
Exec '"$instdir\otherapp.exe" param1 "par am 2" param3'