安装软件:在安装前启动一个命令,在安装后启动另一个命令

时间:2018-12-20 11:08:53

标签: installation nsis

我正在尝试使用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 :(得分:1)

!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