2012-09-17 136 views
0
!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沒有按預期工作

SetAutoClose true 

但是卻忽略了我的SetAutoClose設置,帶來了終點頁面,提示用戶點擊完成(這是我不希望)。任何人都可以幫助我呢?

回答

2

只有當instfiles是最後一頁時,Autoclose才起作用。

如果您不希望顯示基於某些條件的完成頁面只需調用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