我正在尝试使用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
似乎没有调用这两个函数
答案 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