Установка программного обеспечения: запуск команды до установки и еще одна после нее - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь создать установочный пакет с NSIS, и мне нужно запустить команду перед установкой и еще одну после нее.

Это то, что я попытался безуспешно:

Name "MyProgram"
OutFile "MyInstall.exe"
InstallDir "$PROGRAMFILE\MyProgram"

Function .onInit
    !system vs_redist.x64.exe
FunctionEnd

Section "My Program"
    SetOutPath $INSTDIR
    File /r "xamp\*.*"
    File "start.bat"
    File "readme.txt"
SectionEnd

Function .onInstSuccess
    !system xampp/setup_xampp.bat
FunctionEnd

Кажется, он не вызывает две функции

1 Ответ

0 голосов
/ 20 декабря 2018

!system выполняет внешние команды во время компиляции.Используйте ExecWait для выполнения чего-либо во время выполнения:

Function .onInit
InitPluginsDir ; Create $pluginsdir temp folder
File "/oname=$Pluginsdir\myapp.exe" "c:\myfiles\myapp.exe"
ExecWait '"$Pluginsdir\myapp.exe" /param1 "par am 2" /param3' $0
MessageBox mb_ok "Returned $0"
FunctionEnd
...