0

我正在将 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
4

1 回答 1

0

页面的显示顺序与源代码中的页面命令相同:

!insertmacro MUI_PAGE_INSTFILES
Page custom YourCustomPage
!insertmacro MUI_PAGE_FINISH
于 2012-08-24T22:42:30.840 回答