views:

58

answers:

4

I'm looking for a tool (preferably not InstallShield, and also preferably cheap/Free) that supports Chained MSI Installations. I've got several small installations that need to be able to be deployed separately, but also as one group, and I'd like to not have to maintain multiple installers.

It looks like I need Windows Installer 4.5 to do this properly, but I can't seem to find to much info when I'm looking around for what version of Installer is supported.

A: 

What you need is a bootstrapper. Using and InstallShield or Wix will created an MSI themselves which when that is running will not allow the other smaller MSIs to run. If you already have the smaller MSIs to run a bootstrapper is all you need.

MSDN has a free one you can download that plugs into VS2008 and uses MSBuild to compile. What you will probably need to do is create packages for your MSIs and put them in the bootstrapper as prerequisites. This will allow you to set it up to run them in a particular order.

Here is the MSDN link: MSDN Bootstrapper Manifest Generator

Scott Boettger
I've seen this but it's not quite what I'm looking for. Windows Installer 4.5 has support to chain MSI's together into a single package. With this method, i'd have an empty installer with a bunch of prereq's.
JoelHess
OK I see what you mean. Take a look at this blog: http://www.techquila.com/blog/?p=393. That might be what you need.
Scott Boettger
A: 

The MSI 4.5 functionality is just a set of APIs that allow bootstrapper/chainers to do smarter things for multiple MSIs. You still need a bootstrapper/chainer to install multiple packages. In WiX v3.6 there will Burn.

Rob Mensching
A: 

Look at NSIS

uno
+1  A: 

Incidentally, it used to be possible--although not particularly easy--to "nest" or embed other MSIs into one parent, but it involved tweaking custom actions and such to ensure that the nested programs were removed upon removal of the parent, etc. Sadly, this feature is "deprecated" and thus no longer recommended by Micro$oft. Here's how to do it in a Visual Studio installer project... but creating a bootstrapper with WiX would be more advised.

ewall