Show dialog box dependant on feature selection
Posted 26 October 2001 - 10:00
I have build several dialog boxes to get these informations and included them in the dialog sequence via extra control events on the next/back buttons. I changed the Back/Next control events on CustomSetup, SetupType, MaintenanceType and ReadyToInstall to have my boxes shown in the Back/Next sequence.
As conditions I used the "&FeatureName=3" syntax like given in the "Conditional Statement Syntax" page in MSI help - but it doesn't work (with one exception). My dialog boxes never get opened. The only exception is the box "associated" with a feature allowing to select the installation and usage of Microsofts MSDE - no problems at all.
What's going on here? Why does the featurecondition of the feature containing MSDE work and all others not?
Or does anybody have another idea how to include dialogboxes in the back/next sequence in the UI, dependant on the selection state of features?
Posted 26 October 2001 - 10:52
Posted 26 October 2001 - 11:15
So I would have to add a "DoAction CostFinalize" on every Back/Next Button in the main dialogue sequence ?!
But why don't my dialogues pop up when using the "Typical" installation path? That way the features which need further info for installation are preselected in the .MSI, so the CostFinalize action in InstallUI sequence (before InstallWelcome) should have calculated alright.
And still there's the situation that the installation with the feature containing the MSDE-MSMs works like it should! And there is no re-CostFinalize, too.
Any suggestions?
Posted 26 October 2001 - 11:42
Posted 26 October 2001 - 13:40
Thanks for your help, Ian, but it was something different.
There is no need to include CostFinalize action - it may not be included, otherwise your selection tree will behave really funny.
For my special situation there were two things important:
1. The ordering of the actions. I just had a look around, but nowhere the ordering sequence is described. High or low numbers first? MS docu only says "An integer used to order several events tied to the same control". Yeah. Great. Up or down? I tried it, the ControlEvents with the higher Ordering are executed first; in ISWI (I use 1.52) that's the Events in the bottom; top actions last.
2. I had a wonderful typo (Sorry)
Conclusion:
Always build conditions which really select the controlevent only if it's exactly the situation you want.
Hope, that somebody else will have some use from this.