tags:

views:

2743

answers:

3

I'm currently learning how to create msi installers using WiX and it seems I've hit a wall.

All is well when I create an MSI containing everything needed for a single environment.

I have features, and components, and can install my MSI.

Now I'm at the stage where I want to convert this in a SQL Server-style installer, where you have multiple instances support.

At the start I want to user to get a screen which allows him to create a new instance, or manage already existing instances. (to update/remove them)

I've spend 2 full days looking everywhere for a solution, without much luck.

I've found the following resources with some info on it, but either they're limited in the number of instances, or don't describe how to such a bootstrapper which gives a user the option described above.

Has anyone achieved this already using WiX? Or can anyone point me towards some working examples on how this is achieved?

I know Installshield 2009 can do this, but since this is just a hobby, I don't have the money to buy that. Also I'd like to do it in WiX, since the upcoming Visual Studio 2010 will improve support for it.

A: 

Hi David,

Although I've never created a multi-instance setup, I also noticed that Acresso announced MI support in IS 2009. We have IS 2009 but didnt use this feature.

However, Installshield often simply makes use of new MSI features by offering an "intuitive" frontend to them (like for chaining multiple MSIs together into one). So you might want to look for general information on how to achieve that by using the MSI SDK.

Here are some useful links that might point you to the right direction:

Mephisztoe
Hi Tronex,Yeah, the IS 2009 does have a nice front end for it, I've read those articles, but I can't get my head around how you make an MSI behave as a multi-instance.I already figured out it needs a bootloader, which apparently does transforms at startup time, and keeps a list of these as well (in case you want to edit them later).The problem is in finding a decent bootstrapper, or an explanation on how to do the transforms in a generic way (unlimited instances)
David Cumps
+3  A: 

Creating multiple instances is pretty easy with WiX v3. You just use the InstanceTransform and Instance elements to create everything. Now, the bootstrapper problem requires something outside of the WiX toolset since we don't have burn, yet. I'm not sure we'll get this functionality in WiX v3.5 (with burn) but it is on our list for burn post v3.5.

Rob Mensching
Can't wait for 3.5, hopefully it's available before I have to deliver :)
David Cumps
A: 

Here are some links on how it all works:

http://blog.deploymentengineering.com/2006/10/multiple-instance-msis-and.html http://blog.deploymentengineering.com/2008/03/installshield-2009-beta-part-i.html

Christopher Painter