[wix-users] Help with MSM including in MSI

Rob Mensching rob at firegiant.com
Sun Apr 11 13:23:32 PDT 2021


My POV (and I wrote the Merge Module spec 😊):

1. Use Merge Modules to share installation logic across setup development tools. For example, still using InstallShield while migrating pieces of the product to the WiX Toolset. Or, sharing installation logic with customers not using WiX.

2. If you only use WiX, use .wixlibs.

3. If your customers all use WiX share .wixlibs.

https://robmensching.com/blog/posts/2008/10/10/what-are-.wixlibs-and-why-would-you-use-them/

- - - - - - - - - - - - - - -
I provide short answers on wix-users. Full commercial support is offered by FireGiant at http://www.firegiant.com/services

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of John Zajac via wix-users
Sent: Sunday, April 11, 2021 8:22 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: John Zajac <jzajac2 at gmail.com>
Subject: Re: [wix-users] Help with MSM including in MSI

Also, in my experience, using merge modules internally / only to your organization but also for purposes of sharing 'behavior', if you will, such as custom actions and setting up config files - activities where your merge module would need a CustomAction table in your merge module the consuming MSI may need to also pass property values/parameters to - could be nightmarish.

Be curious to hear what others (Chris?) think about that. I'm tempted to hold onto a strong opinion: that merge modules should 1) be internal to an organization as a way of sharing and 2) limited to tables like components, files, dirs, resources and stay away from putting in behavior such as custom actions

re: "I do shy away from using merge modules in the third party sense because there have been so many poorly authored merge modules that consuming them often introduces problems into your own MSI.  For these I prefer  EXE/MSI redists and chaining them using Burn."

So in my current case where an internal merge module is shared across multiple products and that has several XmlConfig, CustomAction tables - behavior stuff - would be better off either A) having the behavior in the merge modules extracted and have it's consuming MSI responsible for or B) having it be it's own MSI instead and wrap them with a burn EXE.


On Thu, Apr 8, 2021 at 12:33 PM Christopher Painter via wix-users < wix-users at lists.wixtoolset.org> wrote:

> Hi Miles,
>
>  Remember that MSI predates WiX.  Merge Modules absolutely can be used 
> as libraries to build a larger installer.  That's what my tool IsWiX is all
> based on.   Merge modules can be useful because you can author them using
> WiX and consume them using InstallShield as an example. WiX then came 
> along and created it's fragment and wixlib patterns to streamline all 
> of that and eliminate some complexities associated with merge modules 
> but this assumes you are staying in an all WiX ecosystem.
>
>  I do shy away from using merge modules in the third party sense 
> because there have been so many poorly authored merge modules that 
> consuming them often introduces problems into your own MSI.  For these 
> I prefer  EXE/MSI redists and chaining them using Burn.
>
>
> As to the original question of how do you "convert" an MSI to an MSM...
> you don't really.   MSI has concept of Product, UI, Features, Installation
> directory and so on.  Merge modules are more abstract.  They have  
> module signature,  sub directories, components, resources but none of 
> the other previously mentioned meta that an MSI has.
>
> Regards,
> Chris
>
> -----Original Message-----
> From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of 
> Miles Davies via wix-users
> Sent: Thursday, April 8, 2021 8:08 AM
> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Cc: Miles Davies <Miles.Davies at horiba.com>
> Subject: Re: [wix-users] Help with MSM including in MSI
>
> Hi Pavel,
>         I wonder if I might ask why? This would seem an odd thing to 
> do, at least as far as my understanding goes.
>
> MSM files are Windows installer 'merge modules' which are intended to 
> be distributed by themselves. The merge module is then used by 
> external parties to include into their own installers. An example 
> might be a library or tool such as the Microsoft CRT re-distributable. 
> Merge modules are not designed as a 'library' container to build a 
> larger installer from. That would be more closely mirrored by a WiX library.
>
> In terms of installing a set of MSM files for an external user to 
> consume in their own installers you wouldn't want to unpack them in 
> your MSI but xcopy them into a known location.
>
> I can help with creating a MSM and consuming it from an MSI but I am 
> not really sure that is what you want.
>
> Best regards,
>         Miles
>
> -----Original Message-----
> From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of 
> Pa via wix-users
> Sent: 05 April 2021 17:03
> To: wix-users at lists.wixtoolset.org
> Cc: pavel.zelenko at ktp.solutions
> Subject: [wix-users] Help with MSM including in MSI
>
> Guys, can someone help me by providing full example of converting .MSI 
> to .MSM and include these newly created .MSM into another .MSI
>
> The sample or example will be helpful
>
> Thanks in advance
>
>
>
>
>
>
>
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>


--
-John

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list