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