Скрыть раздел в установщике nsis при условии выбора радиокнопок
Как можно условно скрыть раздел при проверке или снятии флажка с RadioButtons в диалоговом окне страницы компонентов программы установки MUI NSIS.
Я добавил 2 RadioButtons, DEMO и BACKUP.
Когда пользователь выбирает DEMO RadioButton, то отображаемый раздел будет "УСТАНОВИТЬ ДАННЫЕ ИЛИ НЕТ", пользователь может проверить или снять флажок, а раздел "РЕЗЕРВНЫЕ ДАННЫЕ ИЛИ НЕТ" будет скрыт.
Когда пользователь выбирает BACKUP RadioButton, то отображаемая секция будет отображаться как "BACKUP DATA OR NOT", пользователь может проверить или снять флажок, а раздел "INSTALL DATA OR NOT" будет скрыт.
ЕСЛИ Я ИСПОЛЬЗУЮ - - ЗНАК, то раздел "УСТАНОВИТЬ ДАННЫЕ ИЛИ НЕТ" скрыт для ОБОИХ ВЫБОРОВ РАДИОБУТТОНА, т. Е. Для ДЕМО также и для ОБНОВЛЕНИЯ, пожалуйста, помогите.
Кроме того, есть функции SelectSection или UnSelectSection, но они не скрывают Раздел, а это то, что я хочу, чтобы Раздел был скрыт и не отмечен.
1 ответ
У скрытого раздела нет имени, поэтому вам нужно дать ему имя, чтобы он снова стал видимым:
!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