80 lines
1.5 KiB
Plaintext
80 lines
1.5 KiB
Plaintext
; one-section.nsi
|
|
;
|
|
; This example demonstrates how to control section selection.
|
|
; It allows only one of the sections of a group to be selected.
|
|
|
|
;--------------------------------
|
|
|
|
; Section define/macro header file
|
|
; See this header file for more info
|
|
|
|
!include "Sections.nsh"
|
|
|
|
;--------------------------------
|
|
|
|
Name "One Section"
|
|
OutFile "one-section.exe"
|
|
RequestExecutionLevel user
|
|
|
|
;--------------------------------
|
|
|
|
; Pages
|
|
|
|
Page Components
|
|
Page InstFiles
|
|
|
|
;--------------------------------
|
|
|
|
; Sections
|
|
|
|
Section !Required
|
|
SectionIn RO
|
|
SectionEnd
|
|
|
|
Section "Group 1 - Option 1" g1o1
|
|
SectionEnd
|
|
|
|
Section /o "Group 1 - Option 2" g1o2
|
|
SectionEnd
|
|
|
|
Section /o "Group 1 - Option 3" g1o3
|
|
SectionEnd
|
|
|
|
Section "Group 2 - Option 1" g2o1
|
|
SectionEnd
|
|
|
|
Section /o "Group 2 - Option 2" g2o2
|
|
SectionEnd
|
|
|
|
Section /o "Group 2 - Option 3" g2o3
|
|
SectionEnd
|
|
|
|
;--------------------------------
|
|
|
|
; Functions
|
|
|
|
; $1 stores the status of group 1
|
|
; $2 stores the status of group 2
|
|
|
|
Function .onInit
|
|
|
|
StrCpy $1 ${g1o1} ; Group 1 - Option 1 is selected by default
|
|
StrCpy $2 ${g2o1} ; Group 2 - Option 1 is selected by default
|
|
|
|
FunctionEnd
|
|
|
|
Function .onSelChange
|
|
|
|
!insertmacro StartRadioButtons $1
|
|
!insertmacro RadioButton ${g1o1}
|
|
!insertmacro RadioButton ${g1o2}
|
|
!insertmacro RadioButton ${g1o3}
|
|
!insertmacro EndRadioButtons
|
|
|
|
!insertmacro StartRadioButtons $2
|
|
!insertmacro RadioButton ${g2o1}
|
|
!insertmacro RadioButton ${g2o2}
|
|
!insertmacro RadioButton ${g2o3}
|
|
!insertmacro EndRadioButtons
|
|
|
|
FunctionEnd |