0
如何根據某些子句更改頁面的順序?例如,在自定義頁面上有2個單選按鈕 - 「修復程序」和「卸載程序」。當我選擇'修復程序'下面應顯示5頁,當我選擇另一個單選按鈕應該是2頁。 是否有可能在卸載程序安裝頁面使用,反之亦然?NSIS中的MUI頁面訂單
如何根據某些子句更改頁面的順序?例如,在自定義頁面上有2個單選按鈕 - 「修復程序」和「卸載程序」。當我選擇'修復程序'下面應顯示5頁,當我選擇另一個單選按鈕應該是2頁。 是否有可能在卸載程序安裝頁面使用,反之亦然?NSIS中的MUI頁面訂單
MUI_UNPAGE_CONFIRM並沒有真正意義的安裝程序,比你可以在安裝程序和卸載都使用所有的頁面類型等。
要跳過一個頁面,您必須在該頁面的預回調函數調用Abort
。您也可以jump directly to a specific page。
!include MUI2.nsh
!include LogicLib.nsh
Var pagemode
Function selectpagemode
MessageBox MB_YESNO "Mode A?" IDNO nope
StrCpy $pagemode "A"
Return
nope:
StrCpy $pagemode "B"
FunctionEnd
Function onlymodeA
${IfThen} $pagemode != "A" ${|} Abort ${|}
FunctionEnd
Function onlymodeB
${IfThen} $pagemode == "A" ${|} Abort ${|}
FunctionEnd
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE selectpagemode
!insertmacro MUI_PAGE_WELCOME
;Mode A
!define MUI_PAGE_CUSTOMFUNCTION_PRE onlymodeA
!insertmacro MUI_PAGE_LICENSE "${__FILE__}"
!define MUI_PAGE_CUSTOMFUNCTION_PRE onlymodeA
!insertmacro MUI_PAGE_COMPONENTS
;Mode B
!define MUI_PAGE_CUSTOMFUNCTION_PRE onlymodeB
!insertmacro MUI_PAGE_COMPONENTS
!define MUI_PAGE_CUSTOMFUNCTION_PRE onlymodeB
!insertmacro MUI_PAGE_LICENSE "${__FILE__}"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE English
它適用於安裝頁面,但是當我使用它的MUI_UNPAGE這兒有3個警告: 安裝功能「selectpagemode」未引用 - 歸零碼(50-55)出 安裝功能「onlymodeA」不引用 - 歸零碼(55-58)出 安裝功能「onlymodeB」未引用 - 歸零碼(58-61)出 –
您有前綴的函數名「UN」。用於卸載程序使用的功能... – Anders