Cool, that actually sounds like a clever plan. 
Thanks for the input. 

Best regards,
Thomas Due

-----Original Message-----
From: Blair [mailto:os...@live.com] 
Sent: 23. oktober 2009 10:29
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] How to best install genericsystem
withcustomerspecific add-ins

The difference between wixlibs and shared wix fragments is that the
wixlibs
are simply several shared compiled wix fragments joined into a single
"library" file. That would ensure you don't have multiple copies of the
sources, but would require that you compile them, either from their own
projects in your solution(s) or into some "super-library" repository you
simply grab at either buildtime or version control sync time.

Either one is usually vastly superior to merge modules. Merge modules
have
several limitations that makes them more difficult to service, including
issues related to patching. Their content lives in a strange world where
they are live in your MSI but stand apart from all other content in that
MSI. They bulk up the size and slow down the performance of your MSI due
to
the way they integrate in (created system folder custom actions,
difficulties in being referenced from your MSI-specific authoring,
etc.).

The closest build-style to merge modules on your list would be wixlibs
(you
can build and managed them the exact same way, without the merge
module-specific pain). Or, you simply link in your projects to the
source
files wherever you place them for the shared fragment solution.

One other thing superior with the wixlib/shared fragments approach over
the
MSM one is that any fragments you don't access in some way aren't
included
in the final link, meaning they don't take up any room in your MSI. That
means you can always include all of them in all your projects, and just
reference what you need. Merge modules, once built, are an
all-or-nothing
where simply including them includes everything in the MSM in your MSI,
whether you really needed it or not.

-----Original Message-----
From: Thomas Due [mailto:thomas....@scanvaegt.dk] 
Sent: Thursday, October 22, 2009 11:45 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] How to best install generic system
withcustomerspecific add-ins

Fair enough, I'll try to explain the situation a little better, but
Sascha's
suggestion about shared fragments files makes absolute sense now that I
think about it. It hadn't even crossed my mind. I would to be careful
about
how I shared them, so I would only have one actual copy of the fragments
files, otherwise I would face hell updating all copies when there were
changes to the common files.

Anyway: 

I have a service with a couple of common libraries, in itself this
service
does nothing. It merely forms an extensible framework for customer
specific
functions. 

Then I have the customer specific functions, these are "just" dll
assemblies
which are added to the service and supplies the actual functionality. 

So, instead of having to copy-and-paste a generic WiX project to each
customer project, I thought I would make a generic module which contains
the
service and common assemblies, the necessary functionality for
installing
and starting the service etc. 
Additionally it would contain the UI sequence but allow for customer
specific dialogs.

This module would then be added to a customer specific installer which
contained the remaining logic, like adding the customer extension to the
framework and other various customer specific actions. 

This is what I want, how do I do that best? 

Merge Modules? 
WiX libraries? 
Shared WiX fragments?

Best regards,

Thomas Due



-----Original Message-----
From: Rob Mensching [mailto:r...@robmensching.com] 
Sent: 22. oktober 2009 17:41
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] How to best install generic system
withcustomerspecific add-ins

If Merge Modules look like they will work, I'd use .wixlibs instead (
http://www.robmensching.com/blog/posts/2008/10/10/What-are-.wixlibs-and-
why-
would-you-use-them).
The WiX toolset's reusable functionality (from the Extensions and all
the
UI) use .wixlibs. The Wix.chm has a nice section on how to customize
dialogs.  I'd start there. Without more details about your exact project
it's hard to provide more detailed advice. <smile/>

On Thu, Oct 22, 2009 at 1:27 AM, Thomas Due <thomas....@scanvaegt.dk>
wrote:

> I have been studying the documentation and the tutorial and come to
the
> conclusion that patching is out, since that is essentially just the
> difference between two installers which is exactly what I want to
avoid;
> Writing two installers...
>
> So, my next thought is: How about merge modules then?
>
> What I mean is, that I put all the common stuff into a merge module,
it
> seems that it can contain all the logic regarding files and components
> and installing/starting services etc.
>
> Then I write the installer for each customer, which contains only the
> customer specific bits and adds the merge module containing all the
> common bit etc.
>
> So far so good. But how about the UI? Can I contain MOST of the gui in
> the merge module and only add a few customer specific dialogs (if
> necessary) in the customer installer, and if so, how do inject dialogs
> like that?
>
> Best regards,
> Thomas Due - Software Developer
>
> -----Original Message-----
> From: Thomas Due
> Sent: 22. oktober 2009 09:13
> To: General discussion for Windows Installer XML toolset.
> Subject: [WiX-users] How to best install generic system with
> customerspecific add-ins
>
> I am currently finishing up on a generic system which we will sell to
> many different customer with different needs. So, as a result this
> generic system is based on extensions, or add-ins.
>
> Now I am thinking how to best write an installer for this.
> Although I could copy-n-paste the entire WiX project every time I make
a
> new customer-specific extension, I think that is quite the wrong way
to
> go about writing the installer for this system.
>
> So, I am thinking patches, or maybe transformations?
>
> An installer for the system itself, and then a patch with the customer
> specific bits. This way, I get to maintain a single installer with
> upgrade codes etc. and a simple patch installer for each customer
> project. On paper that should be simple enough, but how do I do that?
>
> I am currently still learning WiX, so my knowledge is, at best, shaky.
> So I need a bit of help.
>
> How do I create patches for a specific installer, and is the plan
> actually sound?
>
> Best regards,
> Thomas Due - Software Developer
>
>
>
>
>
>
------------------------------------------------------------------------
----
--
> 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
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


-- 
virtually, Rob Mensching - http://RobMensching.com LLC

------------------------------------------------------------------------
----
--
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




------------------------------------------------------------------------------
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to