我正在将NSIS用于其他安装的安装程序。复制完所有需要的文件后我运行它:
Section "Indusoft" SEC02
SetOutPath $INSTDIR\DISK1
ExecWait "$INSTDIR\DISK1\setup.exe"
SectionEnd
Section -Prerequisites
SetOutPath $INSTDIR\Prerequisites
MessageBox MB_YESNO "Install FTP Server?" /SD IDYES IDNO endFTPServer
ExecWait "$INSTDIR\Prerequisites\FileZilla_Server-0_9_41"
Goto endFTPServer
endFTPServer:
MessageBox MB_YESNO "Install MS SQL Server?" /SD IDYES IDNO endMSSQLServer
ExecWait "$INSTDIR\Prerequisites\SQLEXPRWT_x86_ENU.exe"
Goto endMSSQLServer
endMSSQLServer:
SectionEnd
现在我希望My Aplication运行一个安装在Indusoft Section的exe。我的想法是打开一个对话框,用户选择文件,然后创建用户选择的文件的快捷方式:
CreateShortCut "$SMPROGRAMS\My application\My application.lnk" "$INSTDIR\AppMainExe.exe"
这可能吗?
由于
编辑: 我找到了选择文件但是这样我创建了一个在完成对话框后出现的新页面,如何在完成之前显示它?感谢
Var Dialog
Var Text
Page custom nsDialogsPage
Function nsDialogsPage
nsDialogs::Create 1018
Pop $Dialog
nsDialogs::SelectFileDialog
Pop $Text
${NSD_CreateText} 0 13u 100% -13u $Text
Pop $Text
nsDialogs::Show
FunctionEnd
答案 0 :(得分:0)
页面的显示顺序与源代码中的页面命令相同:
!insertmacro MUI_PAGE_INSTFILES
Page custom YourCustomPage
!insertmacro MUI_PAGE_FINISH