Hi Rob, thanks for your answer

The few shared files are in components defined manually, so it's not a
problem. When it comes to the thousand of (unshared) files, manually
defining components is not an option - there's no way to do it in code,
one must use Installshield's clunky GUI. This setup works pretty well,
except when it comes to patching.
Indeed, NSIS's interaction with MSI is not that good, this is why we are
looking for solutions of harmonizing patching with the main installer.

Regarding your personal philosophy, I don't think there's really a
choice when using MSI. How am I supposed to know what files are to be
modified on the user's system, in a future patch ? How can I correctly
define components without an intimate knowledge of the relationship
between files ? I can only go the paranoid path of one component / file,
and at the same time, flush any performance down the drain - most of our
files are small include headers in the KB range.

Upon further consideration, maybe MSI is not that well suited for us,
and what I should do is move the main product to an xcopy setup, and do
away with these pesky components altogether :)


--
Stelian ENE
Installer Engineer, DevTech
Freescale Semiconductor Romania
Work: +40 21 305 2064
Mobile: +40 728 052 499

This e-mail, and any associated attachments have been classified as:
[X] Public
[ ] Freescale Semiconductor Internal Use Only
[ ] Freescale Semiconductor Confidential Proprietary 


-----Original Message-----
From: Rob Mensching [mailto:[EMAIL PROTECTED] 
Sent: Monday, May 19, 2008 9:10 PM
To: Ene Stelian-Bogdan; wix-users@lists.sourceforge.net
Subject: RE: Integrate WiX in our process

The "Dynamic linking" feature where Component Ids change with every
build makes it impossible to patch.  In fact, I think the only option
available to you using that methodology for creating MSI packages is
major upgrade.  Also, I assume you don't have any shared files in the
"big zip file" because those would not be reference counted correctly.

It's interesting you use NSIS for the patches.  Does the interaction
between NSIS patches plus MSI repair/uninstall work out well?

I'm not up on the intimate details of patching but there are new
features in the WiX toolset that enable you to create patches that
target subsets of your setup authoring.  That enables you to build
independent patches for different areas of your installation.  However,
when you need to patch the same file more than once, the patch ordering
definitely becomes an issue.  I'm not sure this advanced functionality
is available unless you use the WiX toolset to create the MSI (I think a
lot of information comes from the .wixpdb), but it *may* be possible
using admin images.

Ultimately, I believe that you are correct that maintaining Component
Guids is going to be the hardest problem to tackle when creating your
patch system.  I know Bob had to tackle this exact problem in his day
job so he may have suggestions of things to try or avoid.  I also know
that tallow/heat in their current form will not help you because they
don't correctly assign Guids.  I haven't tried paraffin but on my
initial readings it looked like it was trying to do the right thing...
but I don't know if it works in this sort of scenario.

Note, these issues for Component Guid are a recognized pain point in the
Windows Installer. I'm still working on a way to solve the problem of
automatic Guid generation.


Finally, the "philosophy" that each developer should maintain their
portion of setup is my personal philosophy.  The WiX toolset has
features to enable such distributed setup development but that doesn't
mean you have to use them.


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ene
Stelian-Bogdan
Sent: Monday, May 19, 2008 09:41
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Integrate WiX in our process

Hello,

Here's the way our process currently looks like:
- We build and ship the main product installer as an MSI, Installshield
based project. I am talking about a 900MB product, comprising of about
15.000 files and 2300 folders, so we use Installshield's "Dynamic
linking" feature extensively. (Basically, you point to a folder, and
components will be generated on the fly at build time, one component per
directory; the ComponentIDs will of course change on every rebuild)
Needless to say, we don't subscribe to the MSI/WiX philosophy of having
developers maintain the installer components; I receive one big zip
file, and must deliver an installer. While I have nothing against
changing this state of facts, I don't think it will change soon.
- When new chips are introduced, we must deliver a "Service pack" that
will offer compiling/debugging support for it. The patch will generally
add new files to the installation, and sometimes update existing files,
always in a backwards-compatible manner. Since customers will download
only the patch offering support for the device they are working with,
these patches can be applied more or less in any order. Currently, these
patches are built using the NullSoft installer.

As a first step, I'd like to get rid of NullSoft, and replace it with
WiX; on the long run, a full transition to WiX could be an interesting
option.
I don't understand how I can use MSI's own patching support: it seems to
impose a linear evolution of the product, with a well defined sequence
of applying patches - and by all means, do correct me if I'm wrong.
My first impulse is to integrate something like tallow/paraffin in the
patch build system, and generate service packs as standalone installers
with 1 component/file (performance of patches is not really critical,
they are quite small). Coupled with Installshield's dynamic linking,
this is bound to break the component rules in a systematic manner. Also,
there's the open issue of uninstalling these patches when the main
product is uninstalled.

Can you provide some pointers on the best way to proceed ?

Thank you !

--
Stelian ENE
Installer Engineer, DevTech
Freescale Semiconductor
Work: +40 21 305 2064
Mobile: +40 728 052 499

This e-mail, and any associated attachments have been classified as:
[X] Public
[ ] Freescale Semiconductor Internal Use Only [ ] Freescale
Semiconductor Confidential Proprietary

------------------------------------------------------------------------
-
This SF.net email is sponsored by: Microsoft Defy all challenges.
Microsoft(R) Visual Studio 2008.
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

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
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

Reply via email to