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

Reply via email to