!include "MUI2.nsh"
!include "WordFunc.nsh"
# define the name of the installer
outfile "simple installer.exe"
!macro installVddk
MessageBox MB_OKCANCEL "a.exe is required for installing agent.Do you wish to install it?" IDOK lblinst IDCANCEL abort_inst
abort_inst:
ABORT
GoTo lblinst
lblinst:
SetOutPath $EXEDir
;MessageBox MB_OK $OUTDIR
File a.exe
ExecWait "a.exe" $1
!macroend
# default section
section " Agent (required)" main_section
sectionEnd
Function .onInit
!insertmacro installVddk
FunctionEnd
我的问题是:
1.我必须在编译期间将a.exe保存在与NSI脚本相同的目录中。 如果它是NSI脚本以外的目录,我如何以及在何处指定可以从中获取a.exe的位置?
2.如果File a.exe
命令正在解压缩exe,那么代码捆绑了exe,在编译期间。请帮助
答案 0 :(得分:1)
a.exe 不必与 .nsi 脚本位于同一文件夹中,但您必须在“文件”中声明完整路径 - 考虑以下事项:
SetOutPath $EXEDir
File "C:\A_folder\a.exe"
ExecWait "$EXEDir\a.exe"
SetOutPath
,告诉您在运行安装程序时将文件部署到何处File
告诉NSIS要包装的文件(将在部署期间使用)