Abschnitt im NSIS -Installationsprogramm ausblenden bedingt bei der Auswahl der Radiobuttons
Frage
Wie kann ein Abschnitt bedingt beim Überprüfen oder Deaktivieren von Radiobuttons im Dialogfeld "Installer -Komponenten des Mui nsis Installer -Komponenten deaktivieren" versteckt werden.
Ich habe 2 Radiobuttons, Demo & Backup hinzugefügt.
Wenn der Benutzer ausgewählt wird, wird Demo Radiobutton und der angezeigte Abschnitt "Daten installieren oder nicht" vom Benutzer überprüft oder deaktiviert werden, und "Sicherungsdaten" oder nicht "wird versteckt.
Wenn der Benutzer ausgewählt wird, Backup Radiobutton, wird der Abschnitt "Sicherungsdaten oder nicht" angezeigt. Dies kann vom Benutzer überprüft oder deaktiviert werden, und "Daten installieren oder nicht" wird versteckt.
Wenn ich das - Zeichen verwende, ist der Abschnitt "Daten installieren oder nicht" für beide Radiobutton -Auswahlmöglichkeiten versteckt, dh auch für Demo auch und für Update auch helfen.
Außerdem gibt es Funktionen der Auswahlabteilung oder der Unauswahl, aber sie verbergen den Abschnitt, was ich möchte, nicht, dass der Abschnitt versteckt und deaktiviert sein sollte.
Lösung
Ein versteckter Abschnitt hat keinen Namen, sodass Sie ihm einen Namen geben müssen, damit er wieder sichtbar wird:
!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