I\'m trying to prepare a setup for my app with server and client installation type. Server type is easy with some code, but Client installation have many options too. I\'m t
If you want everything in one place, you can make use of parent components:
[Types]
Name: custom; Description: "Custom"; Flags: iscustom
[Components]
Name: server; Description: "Server"; Types: custom; Flags: exclusive
Name: client; Description: "Client"; Flags: exclusive
Name: client\feature1; Description: "Feature 1"
Name: client\feature2; Description: "Feature 2"
(Whichever one you put Types: custom
on is selected by default.)
You can then condition things on Components: client
for all clients, or Components: client\feature1
for only when feature 1 is selected, etc.
There are some other variations depending on whether the client features are mutually exclusive or not.