Archive: Install Options - "either" but not "both"


Install Options - "either" but not "both"
I have a program that has two types of installations. One is for type "a" equipment, and the other is for type "b" equipment.

Both programs do the same thing but they are different builds.

I want a single installer, where you must chose either option a or option b. Not both.

I have been trying to figure this one out, and I have tried searching, but no good results.


have a look at "Sections.nsh" in your {NSIS ROOT}\Include folder :)


i would suggest either using a InstallOptions(custom) page where the user selects or a components page with two sections with the radio button logic (as commander suggested)


Ok I like the sections.nsh option. This will work fine.

I am having trouble figuring out how to tie this in. I have 2 radio buttons, basically copied the one section.nsi script, and deleted all except 2 selections. I renamed the selections. Tested the modified one-section.nsi and it works fine.

How to I tie this into my MUI based script? how do I get from "g1o1" to ";Installer Sections-Section 'Ethernet'"

;--------------------------------
; Sections
Section "Ethernet (Network) connection." g1o1
SectionEnd

Section /o "Serial (RS-232) connection." g1o2
SectionEnd

;--------------------------------
; Functions
; $1 stores the status of group 1
Function .onInit

StrCpy $1 ${g1o1} ; Group 1 - Option 1 is selected by default

FunctionEnd

Function .onSelChange

!insertmacro StartRadioButtons $1
!insertmacro RadioButton ${g1o1}
!insertmacro RadioButton ${g1o2}
!insertmacro EndRadioButtons

FunctionEnd

;--------------------------------
;Installer Sections

Section "Ethernet"

SetOutPath "$INSTDIR"
File "program.exe"
File "Documentation.doc"


you could put all files that are common between the two programs in a hidden section and just the the File instruction for each unique program in its own section (Ethernet (Network) connection./Serial (RS-232) connection.)