!insertmacro MUI_PAGE_WELCOME
!define MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_PAGE_LICENSE "license.txt"
!insertmacro MUI_PAGE_COMPONENTS
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
;Confirmation Page
Page custom Confirmationpage
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!insertmacro MUI_PAGE_FINISH
这就是我在setup.nsi文件中的开头。在安装结束时,我提示用户安装其他软件。如果用户选择安装第二个软件,初始软件(正在安装)应该保持沉默,并在安装完成后立即消失。 在这里我试着设置
SetAutoClose true
但它忽略了我的SetAutoClose设置并显示完成页面,提示用户点击完成(我不想要)。任何人都可以帮助我吗?
答案 0 :(得分:2)
Autoclose仅在instfiles是最后一页时才有效。
如果您不想根据某些条件显示完成页面,只需在部分中调用quit
或跳过页面:
Var NoFinishPage
!insertmacro MUI_PAGE_INSTFILES
!define MUI_PAGE_CUSTOMFUNCTION_PRE maybeskipfinish
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE English
Section "Other software"
ExecWait '"c:\foo\bar.exe" /baz'
StrCpy $NoFinishPage 1
SectionEnd
Function maybeskipfinish
${If} $NoFinishPage = 1
Abort
${EndIf}
FunctionEnd