I have a lot of components and want to create a few different extraction (installation) scenarios. All data is extracting from external archives with solid compression, so, when full install components is selected, it would be faster to decompress everything at once. But in custom installation just for a few components that way has no sense, setup (extraction tools: FreeArc+7z) will extract only selected directories. Unfortunately this process need to be repeated for each selected component (I do not know how to extract multiple directories at once, not sure that's possible). Is it possible to check the selected [Types] values in [Code] similarly to WizardIsComponentSelected function? Or maybe any other idea?
[Components]
Name: "Comp1"; Description: "Component 1"; Types: full custom
Name: "Comp1\A"; Description: "TypeA"; Types: full typea custom
Name: "Comp1\B"; Description: "TypeB"; Types: full typeb custom
Name: "Comp2"; Description: "Component 2"; Types: full custom
Name: "Comp2\A"; Description: "TypeA"; Types: full typea custom
Name: "Comp2\B"; Description: "TypeB"; Types: full typeb custom
;etc...
[Types]
Name: "full"; Description: "Full installation";
Name: "typea"; Description: "Full installation of TypeA";
Name: "typeb"; Description: "Full installation of TypeB";
Name: "custom"; Description: "Custom installation";
[Code]
//Release variation, types is not using
//....
begin
if not WizardIsComponentSelected('Comp1'+'Comp2') then
begin
//extraction commands for each selected components
end else
begin
//extraction commands for full installation
if not WizardIsComponentSelected ('Comp1\A'+'Comp2\A') then
//delete files and dirs included typea
if not WizardIsComponentSelected ('Comp1\B'+'Comp2\B') then
//delete files and dirs included typeb
end;
end;