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

Reply via email to