如何根据某些条款更改页面顺序?例如,自定义页面上有 2 个单选按钮 - “修复程序”和“卸载程序”。当我选择“修复程序”时,下一个应该显示 5 页,当我选择另一个单选按钮时应该显示 2 页。是否可以在卸载程序安装页面中使用,反之亦然?
问问题
1479 次
1 回答
2
MUI_UNPAGE_CONFIRM 在安装程序中没有真正意义,除了您可以在安装程序和卸载程序中使用所有页面类型。
要跳过页面,您必须调用Abort
该页面的预回调函数。您也可以直接跳转到特定页面。
!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
于 2012-10-11T22:00:10.297 回答