For the archive: I implemented this as two separate Components (different GUIDs) having Environment element. Both Environment elements use value from same property PATHADD. However PATHADD is set using CustomAction Property having condition to set value to the property only when both features are being installed (or one is being installed and the other one is already installed). Also PATHADD is being set when feature is uninstalled, so that proper uninstallation will take place when either one of the features get removed. As a result I am able to set PATH environment variables only when both Feature1 and Register Env Variables feature are installed. If either one of them gets removed, PATH value is also removed.
I did not have to save PATHADD property in registry or something else, as it is constructed from INSTALLLOCATION property. I am not sure how but it looks like it is preserved during install/uninstall process. Any info on this one would be very helpful. Thank you, Martin -----Original Message----- From: Michael Osmond [mailto:mosm...@baytech.com.au] Sent: Tuesday, May 10, 2011 4:31 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] dependent features Not certain, but try saving the Path add string to registry and read it back in on Uninstall. Also if someone adds a Feature through maintenance mode, you can append to the path string. Your biggest issue would be if someone selectively removes a feature. Michael -----Original Message----- From: Martin Kulov [mailto:mar...@kulov.net] Sent: Tuesday, 10 May 2011 11:14 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] dependent features Michael, Any tips on how to implement compensating action on uninstall? Should I preserve the property in xml file or registry? Any other implementation? Martin -----Original Message----- From: Martin Kulov [mailto:mar...@kulov.net] Sent: Tuesday, May 10, 2011 3:32 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] dependent features Hi Michael, That was something I was playing with. However your solution just nailed it! One comment for the history - one should use public property like PATHADD instead of PathAdd to make sure property is transferred between user and service mode. Thanks a lot! Martin > From: mosm...@baytech.com.au > To: wix-users@lists.sourceforge.net > Date: Tue, 10 May 2011 08:04:59 +1000 > Subject: Re: [WiX-users] dependent features > > Hi Martin > > You could build up a single property with the PATH entry you wish to add using a series of Type 51 Custom Actions. Each would add the path option for a feature and be conditioned by the feature state. You then have a single component (linked to you Register Environment Variables feature) which actually applies the values. > > Pseudo code would be something like > > <CustomAction Id="Feature1.AddToPath" Property="PathAdd" > Value="[PathAdd];Feature1Path" /> <CustomAction > Id="Feature2.AddToPath" Property="PathAdd" > Value="[PathAdd];Feature2Path" /> > > <InstallExecuteSequence> > <Custom Action="Feature1.AddToPath" After="CostFinalize">&Feature1 = > 3</CustomAction> <Custom Action="Feature2.AddToPath" After=" > Feature1.AddToPath">&Feature2 = 3</CustomAction> > </InstallExecuteSequence> > > <Component Id=" Register Environment Variables Component"> Add > [PathAdd] to registry </Component> > > > Regards > > Michael > > > -----Original Message----- > From: Martin Kulov [mailto:mar...@kulov.net] > Sent: Tuesday, 10 May 2011 7:41 AM > To: wix-users > Subject: [WiX-users] dependent features > > Hi all, > > > > I would like to set environment variable PATH based on other features > that user has selected to install. PATH should set only the paths for > selected features. Additionally user must turn on and off PATH > registration by choosing to install feature called "Register Environment Variables". > > > > Based on the article below I found that it is not possible to have a > component condition based on feature state: > > http://www.joyofsetup.com/2008/04/09/feature-states-in-component-condi > tions/ > > > > I spent my day looking for a solution, so any ideas would be extremely > helpful. > > > > Thanks, > > > > Martin Kulov > > http://www.kulov.net > > > > ---------------------------------------------------------------------- > -------- WhatsUp Gold - Download Free Network Management Software The > most intuitive, comprehensive, and cost-effective network management > toolset available today. Delivers lowest initial acquisition cost and > overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ---------------------------------------------------------------------- > -------- WhatsUp Gold - Download Free Network Management Software The > most intuitive, comprehensive, and cost-effective network management > toolset available today. Delivers lowest initial acquisition cost and > overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users