Nascondi la sezione nel programma di installazione NSIS Condizionalmente sulla scelta dei radiobutton

StackOverflow https://stackoverflow.com/questions/5842127

  •  27-10-2019
  •  | 
  •  

Domanda

Come può una sezione essere nascosta condizionatamente al controllo o deselezionamento di radibutton nella finestra di dialogo Pagina dei componenti di installazione di MUI NSIS.

Ho aggiunto 2 radiobutton, demo e backup.

Quando l'utente sceglie, la radibutton demo, quindi la sezione visualizzata sarà "Installa dati o no", può essere controllata o deselezionata dall'utente e la sezione "Backup o no" sarebbe nascosta.

Quando l'utente sceglie, il radibutton di backup, quindi la sezione visualizzata sarà "dati di backup o no", può essere controllato o deselezionato dall'utente e "Installa i dati o no" la sezione sarebbe nascosta.

Se utilizzo il segno - la sezione "Installa i dati o no" è nascosta per entrambe le scelte di radiobutton, cioè anche per la demo e anche per l'aggiornamento, ti preghiamo di aiutare.

Inoltre, ci sono caratteristiche di selezione o discesa, ma non nascondono la sezione, che è ciò che voglio, che la sezione dovrebbe essere nascosta e incontrollata.

È stato utile?

Soluzione

Una sezione nascosta non ha nome, quindi devi dargli un nome per diventare di nuovo visibile:

!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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top