Playing with fire writing to the Windows Installer's private data but I don't 
have other ideas if old chainer doesn't have a sharing mechanism.

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


-----Original Message-----
From: Reuss, Matthias [mailto:matthias.mr.re...@sivantos.com] 
Sent: Monday, July 6, 2015 3:47 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Burn: "External" dependencies?

Hello,

we are migrating from another chained MSI installation (in fact we used 
ISChainer, but I do not think that matters) to Burn.

There are several bundles that may be installed in parallel and that share some 
of their packages. With WiX 3.9R2, the dependencies among these Burn bundles 
are treated well without extra coding. I.e. I install Bundle1 and Bundle2 that 
both contain  a SharedProduct, than I uninstall one of the bundles, and the 
shared product remains.

However, we also have to treat the use case that an "old-style" chained 
installation and a Burn bundle coexist. Is there a built-in way (with or 
without using the Dependency extension) to handle such dependencies?

In the "old-style" chain, we mimic Burn's dependency-keeping behaviour by a 
dummy "flag" component in the root of the chain that is installed if the 
associated chained package is installed and an uninstall condition for the 
chained product that inhibits uninstallation if this component has other 
clients (Uninstall if $GUID=2)

Our current approach to build the bridge between the old and the new chain is 
that the CustomBA adds a new value to the component entry under

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\<CompressedComponentGUID>

for the "flag" component and removes it again on uninstallation, so that 
uninstallation of the "old-style" chain will not remove the product. I know 
that this is ugly, but I do not see another solution.

On uninstallation, the CustomBA also looks whether the flag component is still 
used by other products to determine whether  to uninstall the shared product.

Best regards

Matthias Reuss 

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to