InstallShield supports MSI Chaining and it supports it's own Feature/Setup 
Prerequisites pattern. 
 
If you are only doing MSI chaining and if you can assume that all of your 
users  already have MSI 4.0+ then you can get away with only an MSI.   
 
However the moment you step out of that box then yes, a setup.exe will be 
involved.  
 
There is a way to create a chainer with nothing but an MSI that gets around 
these limitations but it doesn't follow best practices, you give up the ability 
to do fully silent installs and you require the UI sequence to be elevated.   
You can do /qr but you can't do /qn or /qb.
 
Personally I like InstallShield's feature/setup prereq pattern the best.  Sure, 
it would be nice to not have an EXE but 8 years of working with MSI tells me 
that it's a pipe dream for all except the smallest, simplest installs for 
various reasons.

---
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 Fri, 5/13/11, Kevin MacDonald <kevinmacdon...@gmail.com> wrote:


From: Kevin MacDonald <kevinmacdon...@gmail.com>
Subject: Re: [WiX-users] Chaining MSIs together
To: "General discussion for Windows Installer XML toolset." 
<wix-users@lists.sourceforge.net>
Date: Friday, May 13, 2011, 11:31 AM


Using the latest version of Wix I could not see anything that supports the
execution of other MSIs. I tried using a custom action to execute another
MSI and, as expected, you will get an error telling you that another
installation is currently in progress.

I know it's quite possible to produce a *.exe that runs several MSIs
sequentially. I do this now with NSIS. The trick is, can one produce a *.msi
that does the same thing? The folks at Installshield tell me that they CAN
do it, although I'm starting to wonder if once one adds a prerequisite MSI
to the main MSI that all it will produce is a *.exe.

Kevin


On Thu, May 12, 2011 at 8:16 PM, Christopher Painter <
chr...@deploymentengineering.com> wrote:

> The MSI teams discourages "nested" aka "concurrent" installs. MSI chaining
> is relatively new and requires MSI 4.5 which frequently requires a
> bootstrapper to get you to that level ( i.e. MSI 2 / 3.1 not enough ).
>
> There terms "bootstrapper" and "chainer" are used interchangeably but there
> is a subtle distinction between the two. Strictly speaking a "bootstrapper"
> runs before the MSI and installs MSI to be able to run the MSI. In my world
> it installs .NET also because I use managed custom actions. The chainer then
> comes into play and chains all of the remaining packages together.
>
> At my day job I have about 50 packages ( about 26gb total ) that get
> consumed by a couple dozen different product installers in various
> combinations. We follow Product Line Development methodologies and depending
> on which software assets are incorporated into a product and what the ConOps
> for the product is, will drive what it needs. This is a problem we licked a
> long time ago and extending the pattern is a piece of cake.
>
>
>
> ---
> 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 Thu, 5/12/11, Castro, Edwin G. (Hillsboro) <edwin.cas...@fiserv.com>
> wrote:
>
>
> From: Castro, Edwin G. (Hillsboro) <edwin.cas...@fiserv.com>
> Subject: Re: [WiX-users] Chaining MSIs together
> To: "General discussion for Windows Installer XML toolset." <
> wix-users@lists.sourceforge.net>
> Date: Thursday, May 12, 2011, 7:40 PM
>
>
> A bootstrapper is an executable that is responsible for running other setup
> programs (.exe) and MSI packages in the order required by the product
> getting installed. An example would be the Visual Studio installer. It
> provides a user interface that determines what MSI products need to be
> installed and installs them in the correct order. MSI chaining  is not used.
>
> I don't understand how MSI chaining works but I have heard on numerous
> occasions on this list that the Windows Installer team tries to discourage
> MSI chaining but I don't know the exact reasons nor how true that statement
> is.
>
> I've often heard that WiX supports everything in Windows Installer so if
> MSI chaining is supported by Windows Installer then it must be exposed in
> WiX somewhere but I don't know where. I am fairly sure that having a custom
> action execute another setup executable is *not* MSI chaining though.
>
> I don't have too much help in terms of options but hopefully the
> descriptions above will help you understand some of it and perhaps spark
> ideas on where next to look. Sorry I couldn't be more helpful.
>
> Edwin G. Castro
> Software Developer - Staff
> Digital Channels
> Fiserv
> Office: 503-746-0643
> Fax: 503-617-0291
> www.fiserv.com
> Please consider the environment before printing this e-mail
>
> > -----Original Message-----
> > From: Kevin MacDonald [mailto:kevinmacdon...@gmail.com]
> > Sent: Thursday, May 12, 2011 4:57 PM
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Chaining MSIs together
> >
> > So, dotNetInstaller is a package of .NET classes that facilitate chaining
> > together MSIs? But, if it requires .NET then wouldn't any bootstrapper
> one
> > builds with dotNetInstaller require that it be bootstrapped itself with
> .NET?
> > My target computers don't necessarily have the .NET runtime installed.
> >
> > Sorry, perhaps I'm mis-understanding. I'm just now reading up on
> > bootstrappers and wrapping my head around what they are. I don't think I
> > understand them well enough yet to know if the end product of using a
> > bootstrapper will be a single MSI that includes everything necessary for
> my
> > installation. Or is it a .NET executable that internally calls one MSI
> after
> > another? If that's true I'm not sure that will work for me, because my
> > customers require an MSI. I think they need it for their systems that
> allow
> > rapid deployment to multiple machine.
> >
> > Thanks for responding!
> >
> > Kevin
> >
> >
> > On Thu, May 12, 2011 at 2:40 PM, John Cooper <jocoo...@jackhenry.com>
> > wrote:
> >
> > > Burn is meant to provide this functionality, but it is under developed.
> > >  There are plenty of chaining/bootstrapping products out there in the
> > > meantime.  One I like is DotNetInstaller:
> > > http://dotnetinstaller.codeplex.com/ .  You could use this to install
> > > the prerequisite Adobe AIR, if necessary, and then your product.
> > > --
> > > John M. Cooper
> > >
> > > -----Original Message-----
> > > From: Kevin MacDonald [mailto:kevinmacdon...@gmail.com]
> > > Sent: Thursday, May 12, 2011 4:25 PM
> > > To: wix-users
> > > Subject: [WiX-users] Chaining MSIs together
> > >
> > > Hello,
> > >
> > > I have an existing installer that I wrote in NSIS that does several
> things.
> > > It installs the Adobe AIR runtime by invoking an executable provided
> > > by Adobe. It then installs our AIR application, again using
> > > installation utilities provided by Adobe. And finally, it installs
> > > media which our AIR application knows where to find. This all works
> > > great. However, some of our clients require a single MSI file so that
> > > they can do multiple installations from a central location. I started
> playing
> > with Wix in order to do this.
> > > However, I have encountered the problem where it does not seem to be
> > > possible to chain MSIs together. I was able to kinda get it working by
> > > having a custom action invoke the AIR runtime installer using the code
> > > below:
> > >
> > >    <CustomAction Id='InstallAIRRuntimeAction'
> FileKey='file_AIRInstaller_0'
> > > ExeCommand='-silent' Return='asyncNoWait' />
> > >
> > >    <InstallExecuteSequence>
> > >      <Custom Action='InstallAIRRuntimeAction'
> > > After='InstallFinalize'>NOT Installed</Custom>
> > >    </InstallExecuteSequence>
> > >
> > > This works because the enclosing MSI doesn't wait for a response, and
> > > the other MSI takes a few seconds to launch. This is of course very
> > > hacky. Is there no way to do this properly? I don't mind if the two
> > > MSIs are not chained, i.e. it would be O.K. if the AIR runtime
> > > remained on the machine during an uninstall.
> > >
> > > InstallShield advertises that they can chain MSIs. I would rather go
> > > the extra mile and use Wix or something similar, rather than fork out
> > > $2000 for InstallShield Professional. I'm suprised that Wix can't do
> > > the basic task of calling another MSI given how low level it is when
> > > InstallShield is able to do it. Am I missing something?
> > >
> > > Thanks
> > >
> > > Kevin
> > >
> > > ----------------------------------------------------------------------
> > > -------- Achieve unprecedented app performance and reliability What
> > > every C/C++ and Fortran developer should know.
> > > Learn how Intel has extended the reach of its next-generation tools to
> > > help boost performance applications - inlcuding clusters.
> > > http://p.sf.net/sfu/intel-dev2devmay
> > > _______________________________________________
> > > WiX-users mailing list
> > > WiX-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/wix-users
> > > NOTICE: This electronic mail message and any files transmitted with it
> > > are intended exclusively for the individual or entity to which it is
> > > addressed. The message, together with any attachment, may contain
> > > confidential and/or privileged information.
> > > Any unauthorized review, use, printing, saving, copying, disclosure or
> > > distribution is strictly prohibited. If you have received this message
> > > in error, please immediately advise the sender by reply email and
> > > delete all copies.
> > >
> > >
> > >
> > > ----------------------------------------------------------------------
> > > -------- Achieve unprecedented app performance and reliability What
> > > every C/C++ and Fortran developer should know.
> > > Learn how Intel has extended the reach of its next-generation tools to
> > > help boost performance applications - inlcuding clusters.
> > > http://p.sf.net/sfu/intel-dev2devmay
> > > _______________________________________________
> > > WiX-users mailing list
> > > WiX-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/wix-users
> > >
> >
> ------------------------------------------------------------------------------
> > Achieve unprecedented app performance and reliability What every C/C++
> > and Fortran developer should know.
> > Learn how Intel has extended the reach of its next-generation tools to
> help
> > boost performance applications - inlcuding clusters.
> > http://p.sf.net/sfu/intel-dev2devmay
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
>
> ------------------------------------------------------------------------------
> Achieve unprecedented app performance and reliability
> What every C/C++ and Fortran developer should know.
> Learn how Intel has extended the reach of its next-generation tools
> to help boost performance applications - inlcuding clusters.
> http://p.sf.net/sfu/intel-dev2devmay
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> ------------------------------------------------------------------------------
> Achieve unprecedented app performance and reliability
> What every C/C++ and Fortran developer should know.
> Learn how Intel has extended the reach of its next-generation tools
> to help boost performance applications - inlcuding clusters.
> http://p.sf.net/sfu/intel-dev2devmay
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to