Merge modules are for providing to third parties, for them to integrate into their installers. If you're only using this common code in-house, in other WiX-based installers, I recommend building and sharing a .wixlib instead (or you can simply share the .wxs source code, the .wixlib simply saves some compilation time).
Sharing components between product installers is being de-emphasised as it leads to trouble with servicing - you cannot target a component with a patch, only a product, so if a defect is discovered in a common component, all products which installed that component have to be patched, unless some other mechanism is available to redirect clients to the new version (e.g. publisher policy in .NET and Win32 assemblies). In answer to your question, the scheduling of custom actions contained in a merge module is controlled by the ModuleInstallExecuteSequence table. Unlike in the master InstallExecuteSequence table, the merge module can specify a sequence relative to a base action rather than a specific sequence. The absolute sequence number is resolved when the module is merged in. This requires that a merge tool is used which understands this - the standard mergemod.dll does. WiX interprets <InstallExecuteSequence> elements to generate rows in the InstallExecuteSequence for the main installer, if building an .msi (the <Product> element) or in the ModuleInstallExecuteSequence for a merge module. The standard scheduling of SchedXmlFile, as of at least 3.0.3502, is to come after InstallFiles, but this can be overridden in your own <InstallExecuteSequence>. To confirm the problem could you post: - The exact version of WiX you're using, including build number; - The name and version of the tool used to build the final .msi; - If you have access to Orca, or another tool for viewing .msm contents, the contents of the ModuleInstallExecuteSequence table from the .msm (specifically the SchedXmlFile row). -- Mike Dimmick -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of csellers Sent: 27 December 2007 23:00 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Using XmlFile in a merge module I currently have an MSI Wix project that (among other things) copies an xml file and makes modifications to it using util:XmlFile. I am in the process of converting this project to a merge module (MSM), but when I include the merge module in another install, I get an error saying there was a failure while configuring XML files. I then noticed that I get this error before the xml file had been copied (which would explain the error). I did not have this problem when I was building an msi file. Looking at the log file, the failure is in SchedXmlFile, which is occurring before any files have been copied. If I remove the XmlFile commands, the install runs without any problems. Is there a reason why this is happening in the merge module when it didn't in the msi? Is there anyway to control when SchedXmlFile runs? ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users