Unless Im missing something, you dont need to do any of that. Just add <MigrateFeatureStates> to your UI and execute sequences.
-----Original Message----- From: ondrej.zarevu...@fine.cz [mailto:ondrej.zarevu...@fine.cz] Sent: 24 July 2009 14:12 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Saving ADDLOCAL to registry for major upgrades Hi, I'm trying to remember list of all the installed features so after a major upgrade the user end up with the same features as selected in the original installation. To acomplish this I save the ADDLOCAL property to registry and then read it using RegistrySearch during major upgrade. Sadly, there are some probelsm: a) When user changes the installation, the new ADDLOCAL value is not saved. I've "solved" this by forcing the registry component to reinstall... I'm not sure, if this is the proper way whough. b) Whn user repairs the installation the registry entry is cleared! I know from the Log file that the ADDLOCAL property contained the right values, but it is not saved. I don't have a solution for this. My questions are: 1) How to properly remember the list of installed features? 2) How can I properly update this list when the user installs/removes some features in Maintance mode? 3) How can I preserve the list during installation repair? My WiX code: <!-- Save the list --> <Component Id="FeatureList" Guid="2c7cb837-6242-4db3-981e-bcf8ade51b53"> <RegistryValue Root="HKLM" Key="Software\Fine\ProductInfo" Name="FeatureList" Type="string" Value="[ADDLOCAL]" KeyPath="yes" /> </Component> <!-- Read the list --> <Property Id="ADDLOCAL"> <RegistrySearch Id='FeatureRegSearch' Type='raw' Root='HKLM' Key='Software\Fine\ProductInfo' Name='FeatureList' /> </Property> <!-- "Core" component with the FeatureList - installed always --> <Feature Id="Core" Title="Core" Level="1" Display="hidden" AllowAdvertise="no" Absent="disallow"> <ComponentRef Id="FeatureList" /> </Feature> <!-- HACK: Reinstall the Core component in Maintaince mode --> <CustomAction Id="SetReinstallCore" Property="REINSTALL" Value="Core" Execute="immediate" /> <InstallExecuteSequence> <Custom Action="SetReinstallCore" Before="CostFinalize">Installed AND NOT RESUME AND NOT Preselected</Custom> </InstallExecuteSequence> <InstallUISequence> <Custom Action="SetReinstallCore" Before="CostFinalize">Installed AND NOT RESUME AND NOT Preselected</Custom> </InstallUISequence> Thank you Ondrej Zarevucky ------------------------------------------------------------------------ ------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. ------------------------------------------------------------------------------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users