Essentially "two installers listing the same component GUID in separate locations" is how things like the VC++ redistributable merge modules work.
For example, your installer puts the VC++ 2008 redistributables onto a users machine. My installer then does the same. Both of our installers use the merge modules. The user then uninstalls your application but my application still works fine. Why? Because the Windows Installer tracks how many applications have installed the same components & will only remove components when there are no applications left installed which require them (annoyingly this is called "Shared DLL reference counting" when it actually refers to Components which can contain anything not just DLL's). This is explained in the Remarks section of the Component Table page on MSDN -> http://msdn.microsoft.com/en-us/library/aa368007.aspx Personally I have a number of fragments shared between 2 installers however in our situation you can have only one or the other installed & I use the major upgrade functionality to ensure a one way upgrade path from the smaller package to the larger one. I could create a wixlib (or merge module) containing the shared fragments & then consume it in both installers but as I have my project files in the same directory it works fine as is using Votive (and saves the extra build step of creating the wixlib/merge module). If your projects are in different directories however you will find Visual Studio will make a copy of the file into the second directory when you add it to your second project (hence why I have both project files in the same directory to avoid having to update 2 copies of the same code). Depending on how many people need to build your code on a regular basis you may find implementing the shared code in a wixlib (or merge module) a more robust solution. Good luck. Palbinder Sandher Software Deployment & IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the <Virtual Environment>** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -----Original Message----- From: JKLists [mailto:jkli...@ifm-services.com] Sent: 20 November 2009 23:09 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Shared assemblies If I had two applications which shared some core assemblies, how would these handled between two installers? If I shared a WiX fragment source file between two WiX projects, the components would have the same GUIDs. Would that cause a problem or conflict? Could the two projects be installed, for example, on two separate drive letters? I'm not sure if MSI insists on having only one instance of a component with a particular GUID, or if it tolerates two installers listing the same component GUID in separate locations. Any recommendations on how this is supposed to be handled? Thanks! ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users