G'day All, I am trying to display a MessageBox only if a feature has been selected and only if IIS 6 Compatability is NOT turned on on a machine with IIS 7 enabled (as the Feature needs IIS 6). This MesageBox should be displayed if the conditions are met for it to be displayed when the Next button on the Select Feature dialogue is clicked.
I do AppSearch in registry to populate IIS6METABASEINSTALLED if it is installed and to determine IISMAJOR (which is #7 if IIS 7 installed). The code below is what determines if the message box will be shown. It may seem a little weird but the message box is used all over the place with various messages depending on conditions used etc, none of which have anything to do with this feature. MessageBoxDlgText is {} by default. <Publish Dialog="SelectFeatureDlg" Control="Next" Property="MessageBoxDlgText" Value="{}" Order="6"> <![CDATA[ &Webdrawer >=2 AND IISMAJOR = "#7" AND IIS6METABASEINSTALLED <> "" ]]> </Publish> <Publish Dialog="SelectFeatureDlg" Control="Next" Property="MessageBoxDlgText" Value="(loc.LaunchConditionIIS6MetabaseWebdrawer)" Order="7"> <![CDATA[ &Webdrawer >=2 AND IISMAJOR = "#7" AND IIS6METABASEINSTALLED = "" ]]> </Publish> <Publish Dialog="SelectFeatureDlg" Control="Next" Event="SpawnDialog" Value="MessageBoxDlg" Order="8"> <![CDATA[ MessageBoxDlgText <> "" ]]> </Publish> <Publish Dialog="SelectFeatureDlg" Control="Next" Event="DoAction" Value="SelectFeatureDlg_Next" Order="9">1</Publish> <Publish Dialog="SelectFeatureDlg" Control="Next" Event="NewDialog" Value="[SelectFeatureDlg_Next]" Order="99"> <![CDATA[SelectFeatureDlg_Next and OutOfDiskSpace=0 AND MessageBoxDlgText = "" ]]> </Publish> As you may be able to see the install can only proceed if MessageBoxDlgText is nothing\empty. This all works fine when a fresh install is done. If The machine has IIS7 and no IIS6 Metabase and the Webdrawer Feature is selected, then the message displays but if the same IIS conditions hold true and the Webdrawer Feature is not selected then the message is not displayed and all is good. The problem arises on Major upgrade. I upgrade an existing install (which didn't have Webdrawer feature installed on first install). MigrateFeatureStates runs and populates the FeatureTree with the previously installed features of which Webdrawer is not one. I am happy with the features selected and click on next but instead of the install just proceeding as it should it brings up the message box and this is the bug. A workaround is to select the feature, click on next and it displays the message as expected, then deselect the Feature and click on next and now it has recognised that the feature isn't being installed and allows the install to proceed as it should have done in the first place. My question, why is it not recognising that I am not wanting to install the Webdrawer feature on upgrade and hence displaying this message when it shouldn't be? -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Feature-State-on-Upgrade-as-a-condition-tp5787006p5787006.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users