Give it a Provides element from Dependency Extension to enable reference 
tracking.

_______________________________________________________________
 FireGiant  |  Dedicated support for the WiX toolset  |  
http://www.firegiant.com/

-----Original Message-----
From: Edwin Castro [mailto:egca...@gmail.com] 
Sent: Tuesday, June 23, 2015 4:06 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] How to Uninstall ExePackage Only During Uninstall

My ExePackage gets uninstalled during upgrades and I'd like to only uninstall 
during an actual uninstall. Any suggestions on how I might go about doing this? 
I was hoping I could do something in my bafunctions.dll but I'm hitting a wall 
in my brainstorming.

My bundle consists of the following:
* A few pre-requisites (A) that will remain on the system after uninstall
* A pre-requisite ExePackage (B) that will be uninstalled only when my product 
MSI is uninstalled
* My product MSI (C)

The package order in the chain is as follows:

<chain>
  <PackageGroupRef Id="A"/>
  <PackageGroupRef Id="B"/>
  <PackageGroupRef Id="C"/>
</chain>

B is an ExePackage that has DetectCondition and InstallCondition set.

During an install or uninstall the packages run in the expected order:
* Install: A, B, C
* Uninstall: C, B

However, during an upgrade I get an undesired order. A and B are not upgraded 
because they are detected as already existing at the correct version. C is 
upgraded to the new version. The last thing the new bundle does is to uninstall 
the related bundle. In the log for the related bundle uninstall I see that B is 
marked as Obsolete so it is uncached and unregistered. BUT C is detected as 
Present and is thus selected to be uninstalled.

* Upgrade: C, UninstallRelatedBundle(B)

I'd like to only uninstall B when C is uninstalled. I think I have my 
DetectCondition setup properly to install B when the new bundle contains a new 
version of B. However, I never want to uninstall B during an upgrade. B should 
be uninstalled only during an uninstall.

--
Edwin G. Castro
------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors network 
devices and physical & virtual servers, alerts via email & sms for fault. 
Monitor 25 devices for free with no restriction. Download now 
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to