Well being picky you don't need MSI 4.5 if all you want to do is install a 
collection of MSI files wrapped in your custom UI using MsiSetExternalUIRecord 
- that's always been an option. MSI 4.5 gives you transaction support (so you 
don't need to uninstall some yourself if one fails), and the ability to say 
that you have an embedded UI, but folks have been chaining MSIs and generally 
making a collection look like a single "product" for a long time, and MSI 4.5 
just gave more hooks to make it better. 

Phil Wilson 

-----Original Message-----
From: Thom Leigh [mailto:t...@mondago.com] 
Sent: Friday, May 13, 2011 10:02 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Chaining MSIs together

As has already been said, if you really want to do this you must use Windows 
Installer 4.5 and its multiple package installation chaining feature:
http://msdn.microsoft.com/en-us/library/bb736322(v=vs.85).aspx

InstallShield uses a bootstrapper. It can't magically extend the Windows 
Installer API (just like wix can't either).

But if I were you, rather than force an upgrade to Windows Installer 4.5, I'd 
just provide multiple .MSIs to the customers that require "multiple 
installations from a central location" and tell them in what order to install 
them... In fact, that is what I do :-)



-----Original Message-----
From: Kevin MacDonald [mailto:kevinmacdon...@gmail.com] 
Sent: 13 May 2011 17:32
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Chaining MSIs together

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
> P 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


*** Confidentiality Notice: This e-mail, including any associated or attached 
files, is intended solely for the individual or entity to which it is 
addressed. This e-mail is confidential and may well also be legally privileged. 
If you have received it in error, you are on notice of its status. Please 
notify the sender immediately by reply e-mail and then delete this message from 
your system. Please do not copy it or use it for any purposes, or disclose its 
contents to any other person. This email comes from a division of the Invensys 
Group, owned by Invensys plc, which is a company registered in England and 
Wales with its registered office at 3rd Floor, 40 Grosvenor Place, London, SW1X 
7AW (Registered number 166023). For a list of European legal entities within 
the Invensys Group, please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77&nav_id=80&prev_id=77.

You may contact Invensys plc on +44 (0)20 3155 1200 or e-mail 
recept...@invensys.com. This e-mail and any attachments thereto may be subject 
to the terms of any agreements between Invensys (and/or its subsidiaries and 
affiliates) and the recipient (and/or its subsidiaries and affiliates).



------------------------------------------------------------------------------
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