I recently had to modify a Basic MSI installer created with InstallShield so it behaved differently if a certain value was passed in via the command line. That part was easy. What I needed to do next was figure out how to alter the UI if that value was present, specifically to hide certain controls on a custom dialog.
You would think such a thing would be common and therefore it would be easy to deduce how to do it in InstallShield. Well, yes and no. After some web searching that didn’t get me very far, I was browsing around the Dialogs view in InstallShield 2010 and noticed that in the Behavior section for my custom dialog were three tabs at the bottom of the screen. They were labeled Events, Subscriptions, and Conditions, and though they didn’t *look* like tabs that is what they were. It turns out the Conditions tab was what I was after. From there I could specify the Hide action on my controls when a certain MSI property had a specific value. Not terribly intuitive, but I did find it eventually.
The trick will be remembering how I did it a year from now if I’m asked to modify the installer like that again.