Discussion:
[WiX-users] Fragments or Merge Modules?
Markus Karg
16 years ago
Permalink
If I understand correctly, there are two ways to modularize my setup:
Fragments and Merge Modules. So the question is: Which one to use?



For me it looks like Merge Modules being a more heavy weight solution, but
the benefit is that those are a product-independent standard (i. e.
InstallShield or Wise can use them, too), while Fragments are more light
weight, but can be used only by WiX. Is that correct? Or did I missed the
point? Maybe there is a more essential difference (besides the fact that a
Fragment is a *source object* while a Merge Module is a *binary (compiled
and linked) object*)?



What is the typical decision path (when to prefer Fragments over Merge
Modules and vice versa)?



Thanks

Markus
Blair
16 years ago
Permalink
More-or-less yes, you have it right.

There are several servicing issues related to Merge Modules, and some of
those issues are carried into the way that WiX incorporates Merge Modules
(making them even harder to deal with than they already would have been,
especially as relates to patching/patch generation).

You can create "binary" wixlibs, which are compiled fragments that carry the
files they otherwise incorporate by reference in the wixlib itself, making
them have all the advantages of merge modules except the portability with
other toolsets.

The typical decision path is: prefer either fragments or wixlibs over merge
modules when you don't need to incorporate the shared code with non-wix
toolsets.
Note that wix 3.5 and 3.0 can share the same wixlibs, while wix 2.0 can't
share the same libs with 3.x (or the same source code without some
transformation either).

-----Original Message-----
From: Markus Karg [mailto:***@gmx.net]
Sent: Monday, November 02, 2009 12:07 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: [WiX-users] Fragments or Merge Modules?

If I understand correctly, there are two ways to modularize my setup:
Fragments and Merge Modules. So the question is: Which one to use?



For me it looks like Merge Modules being a more heavy weight solution, but
the benefit is that those are a product-independent standard (i. e.
InstallShield or Wise can use them, too), while Fragments are more light
weight, but can be used only by WiX. Is that correct? Or did I missed the
point? Maybe there is a more essential difference (besides the fact that a
Fragment is a *source object* while a Merge Module is a *binary (compiled
and linked) object*)?



What is the typical decision path (when to prefer Fragments over Merge
Modules and vice versa)?



Thanks

Markus

----------------------------------------------------------------------------
--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
Rob Mensching
16 years ago
Permalink
Markus,

This old blog post of mine might be useful as well:
http://www.robmensching.com/blog/posts/2008/10/10/What-are-.wixlibs-and-why-would-you-use-them.
You've hit the high points already though.
...
--
virtually, Rob Mensching - http://RobMensching.com LLC
Markus Karg
16 years ago
Permalink
Rob,

thank you very much for this interesting insights. Using wixlibs seems to be
the right solution unless external partners come into play.

Thanks
Markus
...
Nick Ball
16 years ago
Permalink
I've had a problem using wixlibs in that auto-generated (heat.exe)
libraries can end up having the same ID's for components, which then
fails to build. This doesn't happen with merge modules - which is what
I've ended up doing.

-N

-----Original Message-----
From: Blair [mailto:***@live.com]
Sent: 02 November 2009 21:02
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Fragments or Merge Modules?

More-or-less yes, you have it right.

There are several servicing issues related to Merge Modules, and some of
those issues are carried into the way that WiX incorporates Merge
Modules
(making them even harder to deal with than they already would have been,
especially as relates to patching/patch generation).

You can create "binary" wixlibs, which are compiled fragments that carry
the
files they otherwise incorporate by reference in the wixlib itself,
making
them have all the advantages of merge modules except the portability
with
other toolsets.

The typical decision path is: prefer either fragments or wixlibs over
merge
modules when you don't need to incorporate the shared code with non-wix
toolsets.
Note that wix 3.5 and 3.0 can share the same wixlibs, while wix 2.0
can't
share the same libs with 3.x (or the same source code without some
transformation either).

-----Original Message-----
From: Markus Karg [mailto:***@gmx.net]
Sent: Monday, November 02, 2009 12:07 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: [WiX-users] Fragments or Merge Modules?

If I understand correctly, there are two ways to modularize my setup:
Fragments and Merge Modules. So the question is: Which one to use?



For me it looks like Merge Modules being a more heavy weight solution,
but
the benefit is that those are a product-independent standard (i. e.
InstallShield or Wise can use them, too), while Fragments are more light
weight, but can be used only by WiX. Is that correct? Or did I missed
the
point? Maybe there is a more essential difference (besides the fact that
a
Fragment is a *source object* while a Merge Module is a *binary
(compiled
and linked) object*)?



What is the typical decision path (when to prefer Fragments over Merge
Modules and vice versa)?



Thanks

Markus

------------------------------------------------------------------------
----
--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and
stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
Markus Karg
16 years ago
Permalink
For me this more sounds like a bug in heat. IDs should be GUID -- *unique*
IDs.

Regards
Markus
...
Nick Ball
16 years ago
Permalink
Actually, no. Say I have two wixlibs for two different features. I run
heat as a prebuild on both libs (so in total it is run twice) with the
-cg option which very nicely generates componentgroups, but the ID's for
each directory are things like 'folder1'. Now when both libraries have
directories with the same Id it is there that I run into trouble.

-Nick

-----Original Message-----
From: Markus Karg [mailto:***@gmx.net]
Sent: 03 November 2009 18:21
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Fragments or Merge Modules?

For me this more sounds like a bug in heat. IDs should be GUID --
*unique*
IDs.

Regards
Markus
...
-----------------------------------------------------------------------
Post by Blair
-
----
--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
https://lists.sourceforge.net/lists/listinfo/wix-users
-----------------------------------------------------------------------
Post by Blair
-------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
https://lists.sourceforge.net/lists/listinfo/wix-users
Markus Karg
16 years ago
Permalink
Just what I say: IDs should be GUIDs. If actually is not, it is a bug, since
you run in the problem that you actually run into. If I were you, I would
file a bug report describing the problem.

Regards
Markus
...
Markus Karg
16 years ago
Permalink
Blair,

thank you for your comments.

If WiX makes using Merge Modules more complex than it should be, why not
improving that issue? I mean, shouldn't WiX make dealing with MSI easier
than harder?

Regards
Markus
...
Continue reading on narkive:
Loading...