在有条不紊地选择无线电按钮时,在nsis安装程序中隐藏部分

时间:2011-04-30 13:43:39

标签: installer hide nsis mui

如何在MUI NSIS安装程序组件页面对话框中选中或取消选中RadioButtons时有条件地隐藏节。

我添加了2个RadioButtons,DEMO& BACKUP。

当用户选择DEMO RadioButton时,显示的部分将是“INSTALL DATA OR NOT”,用户可以选中或取消选中,& “BACKUP DATA OR NOT”部分将被隐藏。

当用户选择BACKUP RadioButton时,显示的部分将是“BACKUP DATA OR NOT”,用户可以选中或取消选中,& “安装数据或不安装”部分将被隐藏。

如果我使用 - 签名,那么“安装数据或不安装”部分对于两个RADIOBUTTON选择都是隐藏的,即对于DEMO也是&对于UPDATE也请帮忙。

此外,还有SelectSection或UnSelectSection的功能,但它们不会隐藏Section,这就是我想要的,应该隐藏和取消选中该部分。

1 个答案:

答案 0 :(得分:6)

隐藏部分没有名称,因此您需要为其指定一个名称,以便再次显示:

!include Logiclib.nsh
!include Sections.nsh

page Components InitComponentsPage

!define INSTALLSECTIONNAME "Install"
section "" SEC_INSTALL
sectionend

!define BACKUPSECTIONNAME "Backup"
section "" SEC_BACKUP
sectionend

Function InitComponentsPage
${If} $InstallType == BACKUP
    SectionSetText ${SEC_BACKUP} "${BACKUPSECTIONNAME}"
    !insertmacro UnSelectSection ${SEC_INSTALL}
    SectionSetText ${SEC_INSTALL} ""
${Else}
    SectionSetText ${SEC_INSTALL} "${INSTALLSECTIONNAME}"
    !insertmacro UnSelectSection ${SEC_BACKUP}
    SectionSetText ${SEC_BACKUP} ""
${EndIf}
Functionend