Pregunta

I've been tasked to create an installer that will handle and install multiple .msi files. I nearly went down the InstallShield route, but you need to Premier edition to create Suite installations, and to say you're paying almost £3000 doesn't even let you fully customise the UI.

For our last release I wrote a custom Setup.exe file which looks in the same folder that it is stored, for the msi files we wish to install, and then silently installs each one. It's pretty basic though, and we now need something more professional.

At the moment I've got 2 main options:

  • Use WiX - This is free and seems to offer a lot of customisability. I'm not too sure yet what exactly it can do, and it will take a bit of time to learn.

  • I can expand upon what I already have and build my own installer that allows the user to pick which features/components they want to install and which they don't. I would prefer this if I could get the installer to download the required msi files from a server, install them, then delete them. I just don't want to have to include a separate folder full of msi files with the main setup download. Would this be possible without TOO much effort? Also, using this would I be able to add a single program to the Add/Remove Programs menu?

Any ideas welcome :)

¿Fue útil?

Solución

I would recommend checking out the features of Burn in WiX 3.6. You can create a bootstrapper and it has the capability to download your installation packages from a server. You can fully customize it or use the standard bootstrapper application. You can use your current .msis as well. You don't have to convert all of your .msis to WiX to use the bootstrapper functionality.

I'd recommend reading this blog post by Rob Mensching.

Otros consejos

How effort free it is depends on how complex your set ups are, the interdependencies and their pre-requisites.

For instance you want to install product X, but it needs a database server installed, which need a .net framework upgrade, which need reboots..

Wix is for creating msi's so it would only be a help if you wanted to create an msi could manage the install of several apps.

WiX 3.6 is still a beta project and Burn is still a work in progress. Truthfully InstallShield Suite installers are pretty new and still a work in progress as well.

Before you get all freaked out over the cost of InstallShield, you need to decide exactly what your setup.exe needs to be able to do. Then you need to do a feature gap analysis between InstallShield and WiX and come up with labor estimates for rolling your own, doing it in WiX and doing it in InstallShield.

It certain situations the off the shelf tools aren't mature enough and it makes sense to roll your own. ( Think MS SQL Server, Office, Visual Studio ) but for most line of business applications you probably just need to pick the tool that gets you closest to where you need to be.

For something that needs to be a little bit more professional than your own custom setup.exe, with less of a learning curve than WiX and Burn, and less of a pain on your wallet than InstallShield - I would suggest MSI Factory, not for MSI Factory (it would speed up your WiX learning though) but for the bootstrapper thats included.

The learning curve is less than Burn, and there's a 90 day trial so you can see if its good enough for you.

InstallShield will let you customise the installation interface, and for that hefty price tag you get support and maintenance (very useful when you're ramping up from scratch).

What you save on up front cost with InstallShield, you'll invest in terms of time with WiX - so you really need to do a cost/benefit analysis and figure out how much your time is worth. InstallShield is just as powerful as WiX when you really start to understand Windows Installer and what's under the hood. Many commercial developers will use elements from both depending on individual project requirements.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top