views:

245

answers:

4

I'm currently doing some investigation on moving off of the installation package we currently use (Wise Installer 9) and moving to something that will handle things like Windows Vista, Windows 7 and 64-Bit systems. Localization of the installers would be of benefit since we do have a number of French Canadian clients as well.

We currently have installations for software packages and utilities in the following technologies:

  • Progress 4GL
  • Visual Studio 2005
  • Visual Studio 2008
  • .Net Compact Framework 3.5

I've already looked at WiX and InstallShield, and also the Altiris made replacement for the old Wise system.

I haven't played with InstallShield much at all yet, but from everything I've seen/installed it seems to be one of the industry favourites. I've browsed through some of the Stack tags relating to InstallShield and I'm curious to see what the group says about it.

Do I just by default go to them? How good is WiX at non .Net stuff?

Any help/thoughts/input is appreciated.

+1  A: 

I haven't used InstallShield in a few years. At my last job we moved away from it to NSIS mainly because it's binary format made version control difficult, and because a few times the source file simply became corrupted, with no hope for recovery. That might have been related to SourceSafe of course!

On top of that though, it was needlessly complicated. Don't get me wrong - we were doing some reasonably complicated installers, with lots of conditional paths, merge modules, and sophisticated UIs, but even for that it was far, far too complex.

NSIS has a great plugin system, and you can program it imperatively using the LogicLib plugin, have automatic uninstall files generated, and lots of other things besides.

RB
+5  A: 

How good is WiX at non .Net stuff?

WIX has support for all Windows Installer features by design. Windows installer predates .NET.

Personally I prefer WIX over InstallShield because

  • the XML text format allows review of commits, merging of changes between branches
  • build automation should include setup generation, which is easy with WIX
  • wixlib files with component group definitions allow for modular setup development. No need to worry about the dependencies of the dependencies etc.
  • no licensing or deployment headaches, we simply include the WIX toolset in a /tools folder of our projects in SVN

When we used Installshield, these were all pain points. WIX does have a very steep learning curve though.

Wim Coenen
+1 - Great response. Thanks for the insight. Good point on the review and merging. We've got issues with this using our existing .wse (Wise) scripts.
Mat Nadrofsky
+7  A: 

I have used all systems: Installshield, Wise, Wix and others. In my opinion the strong points are:

Installshield

  • Feature rich
  • Developer oriented
  • Always up to date with latest technologies
  • Good community support
  • Nicely integrated help in GUI
  • Without a shadow of a doubt, by far the buggiest of all installation products

Wise

  • Fast and easy and quite feature rich
  • Administrator / Repackager oriented
  • Sometimes lagging slightly with latest technologies
  • Much more intuitive GUI
  • Rock solid, very few significant bugs

WIX

  • The big plus is the text source files. Makes all the difference for development teams in terms of branching and versioning
  • Very feature rich, but quite hard to use at times
  • Rock solid, very few significant bugs
  • A remarkable lack of GUI tools and very few good samples available

For any serious development team I would suggest WIX - hands-down. Installshield is too buggy, and Wise is to focused on ease of use. WIX does it all, but sometimes with the penalty of being somewhat involved to deal with.

One tip for WIX is to use the dark.exe - decompiler, to decompile an existing MSI file. Sometimes I implement something in Wise or Installshield, compile an MSI and decompile it to WIX format. Then I lift the WIX markup and dump into my main WIX file. Works great and usually very fast. This in combination with the heat.exe tool for automatic component creation enabled me after some time to package a huge IIS web site in less than 10 minutes.

Finally a word of caution: Installshield and Wise generally allow packaging of software for virtualization. I am not aware of any features in WIX for this as of now.

Glytzhkof
+1 - Great breakdown. We're looking long and hard at WiX right now, specifically if using WixSharp will help simplify our usage of it and help us move away from manually editing XML.
Mat Nadrofsky
An update here. We've chosen WIX for now and are using a combination of working directly with the markup as well as WixAware. Good stuff.
Mat Nadrofsky
Keep in mind the trick to use dark.exe to decompile an existing MSI (built with Installshield, Wise or another tool) in order to get the correct WIX markup to insert into your new WIX source. This is usually much quicker than writing all the WIX markup from scratch.
Glytzhkof
+1  A: 

I inherited a handful of InstallShield (v12) projects. The files are all text/xml and thus there are no version control issues. We have a build machine that uses their command line tools, which works well. What I don't like is (a) the cost per dev seat and (b) bugs. IS is very capable/flexible and there are generally multiple ways to accomplish a goal, which led to a steep learning curve. We are several versions behind their latest version (due to their upgrade cost structure). Because our products run on Widows, if we have to switch I might first research Microsoft's Installer solution that comes with a MSDN subscription.

GregUzelac
+1 - thanks for the response and the background which is always important. I wasn't aware IS could be SCM friendly. Good to know!
Mat Nadrofsky