0

一部の句に応じてページの順序を変更する方法は? たとえば、カスタム ページには、「プログラムの修復」と「プログラムのアンインストール」という 2 つのラジオボタンがあります。「修復プログラム」を選択すると、次に 5 ページが表示され、別のラジオボタンを選択すると 2 ページが表示されます。また、アンインストーラーのインストール ページで使用できますか? また、その逆も可能ですか?

4

1 に答える 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 に答える