我正在将 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
现在我希望我的应用程序将运行已安装在 Indusoft 部分中的 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