That was mostly fine, BUT....
We're going to release a new version which only warrants a Minor Upgrade. Some people are on the previous version, and some are on older version. People on the previous version will be fine with REINSTALL=ALL, those on older versions will need the ADDLOCAL bits.
Obviously I want all people to be able to use exactly the same setup.exe, so how should I handle this? I've been tempted to use CmdLine=REINSTALLMODE=vomus REINSTALL=(List of features that existed before the latest ones were added) . I'd then tell the InstallShield to reinstall the new features if added already, and add them if not (and if they're required - in this case the new features are all subfeatures and are required if their parents are).
Okay, the questions are:
* Given that I'm running a Minor Upgrade, how do I add (using addlocal,
I guess) features? Putting an AddLocal control event on the SetupResume dialog doesn't seem to work.
* Would I use addlocal to reinstall these new features (assuming they're already installed) - remember, they aren't in the REINSTALL list in the setup.ini?
* How can I detect features already installed on the PC early enough to do add the new features?
I've a feeling that my real answer will be to rewrite the InstallShield, but I really don't (and don't have time) to do this.