Unfortunately it's not so easy. There are important differences between doing a simple database merge and a full merge-module merge. See http://msdn.microsoft.com/en-us/library/aa370081.aspx:
The MsiDatabaseMerge function and the Merge<http://msdn.microsoft.com/en-us/library/aa368253(VS.85).aspx> method of the Database<http://msdn.microsoft.com/en-us/library/aa368254(VS.85).aspx> object cannot be used to merge a module that is included in the installation package. They should not be used to merge Merge Modules<http://msdn.microsoft.com/en-us/library/aa369820(VS.85).aspx> into a Windows Installer package. To include a merge module in an installation package, authors of installation packages should follow the guidelines that are described in the Applying Merge Modules<http://msdn.microsoft.com/en-us/library/aa367572(VS.85).aspx> topic. MsiDatabaseMerge does not copy over embedded Cabinet Files<http://msdn.microsoft.com/en-us/library/aa367841(VS.85).aspx> or embedded transforms<http://msdn.microsoft.com/en-us/library/aa368347(VS.85).aspx> from the reference database into the target database. Embedded data streams that are listed in the Binary Table<http://msdn.microsoft.com/en-us/library/aa367825(VS.85).aspx> or Icon Table<http://msdn.microsoft.com/en-us/library/aa369210(VS.85).aspx> are copied from the reference database to the target database. Storage embedded in the reference database are not copied to the target database. The real logic for merging merge modules is in mergemod.dll, which DTF does not attempt to use or expose. So I would not recommend using DTF for this purpose, unless you augment it with the object model of mergemod.dll using COM interop. I don't have any example code for doing that in C#. -Jason- -----Original Message----- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Tuesday, April 21, 2009 8:07 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Using DTF to merge a merge module into an msi package DTF is meant for creating build automation / installer authoring tools also. My guess is he has an MSI that wasn't built using WiX and he'd like to use DTF to merge a module (perhaps built using WiX, perhaps not ) into the database. DTF's Database class has a merge method to handle this. You can also look at the MSI Windows Platform SDK example ( WiMerge.vbs ) for a general overview of how this is used. The examples are in VBScript using the WindowsInstaller.Installer automation interface but it'll port over to C#/DTF pretty easy. Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me --- On Tue, 4/21/09, Frank Neumann <frank.neumann.karlsho...@web.de> wrote: > From: Frank Neumann <frank.neumann.karlsho...@web.de> > Subject: [WiX-users] Using DTF to merge a merge module into an msi package > To: wix-users@lists.sourceforge.net > Date: Tuesday, April 21, 2009, 8:29 AM > I consider using DTF to merge a merge > module (msm) into an msi package. > Would you recommend DTF for this purpose? Where can I find > additional information (tutorial, examples) for it? > > Regards, > > Frank > > ------------------------------------------------------------------------------ Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users