3
我想提示用戶額外的信息,如果選擇某個組件,但我不確定如何檢查給定的組件被選中。好像http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.13.2可能是某種聯繫,但我的印象是,一個部分是一組組件的下...如何檢查在NSIS中是否選擇了一個組件?
安德斯鑑於幫助下,我有這樣的作品:
!include MUI.nsh
!include nsDialogs.nsh
!include LogicLib.nsh
!include sections.nsh
Name A
InstProgressFlags smooth colored
LicenseBkColor /windows
OutFile A.exe
InstallDir $PROGRAMFILES\A
Var Dialog
Section "A" SEC_A
SectionEnd
Section "B" SEC_B
SectionEnd
!insertmacro MUI_PAGE_COMPONENTS
Page custom getA setA # {{{
!insertmacro MUI_PAGE_DIRECTORY # {{{ install
Function getA
${Unless} ${SectionIsSelected} ${SEC_A}
Abort
${EndUnless}
nsDialogs::Create 1018
Pop $Dialog
${If} $Dialog == error
Abort
${EndIf}
${NSD_CreateLabel} 0 0 100% 12u "Test"
nsDialogs::Show
FunctionEnd
Function setA
MessageBox MB_OK "clicked?"
FunctionEnd
# }}}
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
我想這而且大部分工作。看看我的編輯仍然給我什麼問題... – 2013-02-21 21:18:54
AHA!我明白了,它必須屬於SectionIsSelect才能工作的組。 – 2013-02-21 21:26:23
呃,我錯了。它仍然使用第一部分,即使這是一個SelectionGroup。 – 2013-02-21 22:09:14