Hi,

I posted this question on an older thread and haven't heard anything, so I'm
wondering if it got through.  Sorry if it did.  Here is the older thread for
reference:
http://www.nabble.com/Major-upgrade---feature-migration-td23222720.html

During a major upgrade some features that are not already installed are
being set to Local by MigrateFeatureStates.  My product has the option to
install any of 4 features, with two defaulting to Local each with a must
have subfeature.



<Property Id="INSTALLLEVEL" Value="100" />

<Feature Id="Feature1" Level="1">

      <Feature Id="Feature1A" Level="1" Display="hidden" InstallDefault="
followParent">

            <ComponentGroupRef Id="ComponentGroup1A" />

      </Feature>

      <Feature Id="Feature1B" Level="999”>

            <ComponentGroupRef Id="ComponentGroup1B" />

      </Feature>
</Feature>
<Feature Id="Feature2" Level="1">

      <Feature Id="Feature2A" Level="1" Display="hidden" InstallDefault="
followParent">
            <ComponentGroupRef Id="ComponentGroup2A" />
      </Feature>

      <Feature Id="Feature2B" Level="999”>

            <ComponentGroupRef Id="ComponentGroup2B" />

      </Feature>
</Feature>
<Feature Id="Feature3" Level="999">

      <Condition Level="0">(NOT IISMAJORVERSION) AND (NOT REMOVE)</Condition
>
      <ComponentGroupRef Id="ComponentGroup3" />
</Feature>
<Feature Id="Feature4" Level="999">

      <Condition Level="0">(NOT IISMAJORVERSION) AND (NOT REMOVE)</Condition
>
      <ComponentGroupRef Id="ComponentGroup4" />
</Feature>



NOTE: IIS is not installed but I expect that does not affect this example.


If I install the product and only select Feature1, Feature1 and Feature1A
are installed as expected.  However during a major upgrade with
MigrateFeatures, it seems to think Feature2 is installed as well (but
not Feature2A which it has as Advertise).  Feature3 and Feature4 as
exepected are not acted upon in MigrateFeatureStates as they were not
installed previously.

Action ended 18:15:01: CostFinalize. Return value 1.
MSI (c) (98:1C) [18:15:01:428]: Doing action: MigrateFeatureStates
Action 18:15:01: MigrateFeatureStates. Migrating feature states from related
applications
Action start 18:15:01: MigrateFeatureStates.
MSI (c) (98:1C) [18:15:01:428]: Migrating feature settings from product(s)
'{3D25093F-AAB3-4486-B5A4-3FE4981E9A90}'
MSI (c) (98:1C) [18:15:01:428]: MigrateFeatureStates: based on existing
product, setting feature 'Feature1' to 'Local' state.
MSI (c) (98:1C) [18:15:01:522]: MigrateFeatureStates: based on existing
product, setting feature 'Feature1A' to 'Local' state.
MSI (c) (98:1C) [18:15:01:600]: MigrateFeatureStates: based on existing
product, setting feature 'Feature2' to 'Local' state.
MSI (c) (98:1C) [18:15:01:616]: MigrateFeatureStates: based on existing
product, setting feature 'Feature2A' to 'Advertise' state.

Action ended 18:15:01: MigrateFeatureStates. Return value 1.


Here is my sequence for reference:
ShowError  -3
ShowCancel  -2
ShowSuccess  -1
AppSearch  100
FindRelatedProducts  101
LaunchConditions (NOT (REMOVE="ALL")) 102
ValidateProductID  700
CostInitialize  800
FileCost  900
CostFinalize  1000
MigrateFeatureStates  1200
DTFCustomActionThatReliesOnFeatureStates (NOT (REMOVE="ALL")) 1201



I have a few question regarding this:

1.  Why does it think Feature2 is installed?

2.  Why does it have Feature2A as Advertise (I would expect Absent)

3.  Once I get this working I'll need my DTF custom action to check the
states.  Does MigrateFeatureStates set the FeatureInfo.CurrentState or
FeatureInfo.RequestState or both?


Thanks!

Shawn
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to