2013-05-21 37 views
1

我正在使用MUI用户界面,但只想在用户选择InstallOption页面中的某个CheckBox时显示目录页面。如何在InstallOption上有条件地显示目录页面?

我的问题是,我不知道如何有条件地禁用MUI_PAGE_DIRECTORY页面。

Function InstallTypeLeave 
    !insertmacro INSTALLOPTIONS_READ $INSTALL_TYPE "InstallType.ini" "Field 1" "State" 
    SetShellVarContext current 
    StrCmp $INSTALL_TYPE "1" SET_LOCATION_LOCAL SET_LOCATION_NETWORK 
    SET_LOCATION_LOCAL: 
    StrCpy $INSTDIR "$APPDATA\..." 
    GOTO SET_LOCATION_FINISH 
    SET_LOCATION_NETWORK: 
    StrCpy $INSTDIR "" 
    GOTO SET_LOCATION_FINISH 
    SET_LOCATION_FINISH: 
FunctionEnd 

; Directory page 
!insertmacro MUI_PAGE_DIRECTORY 

页面只能显示在$INSTALL_TYPE"1",如何做到这一点?

回答

2

添加页面回调根据您的病情,它放弃页面,e.g:

#specify a callback before the MUI_PAGE_DIRECTORY 
!define MUI_PAGE_CUSTOMFUNCTION_SHOW DirectoryPageCallBack 
!insertmacro MUI_PAGE_DIRECTORY 

#... 

Function DirectoryPageCallBack 
    ${if} $INSTALL_TYPE = 1 
     Abort #in pre-function callback, discard the page 
    ${endif} 
FunctionEnd 

详见Callbacks参考。

相关问题