NSIS Vs WiX Vs AnyOther Installation Package

Sandeep Jindal picture Sandeep Jindal · Dec 14, 2009 · Viewed 19.3k times · Source

Need to create a Installation Package that would need to a) install a Database, b) create database and tables, c) installed already created installable in Visual Studio, d) create ODBC datasource, e) copy files. f) create shortcuts, etc

Can you please suggestion which one to use? To simplify following would be my criteria(Descending Order)

  1. Stable
  2. Fullfill all my needs.
  3. Easy to learn

Can you please suggest?

Answer

saschabeaumont picture saschabeaumont · Dec 14, 2009

If you want to use WiX, you need at least a basic understanding of how Windows Installer works. The best reference around is The Definitive Guide to Windows Installer, which runs through the all basics with examples using Visual Studio and Orca.

WiX is very easy to learn once you understand Windows Installer.

A properly written Windows Installer package will be more stable and resilient than anything else you can imagine. It'll take a month or so to get your head around it, and you'll get better and learn more about it over time.

On the other hand, NSIS only takes a day to learn - it's just a simple scripting language.

@wcoenen - I'd agree that you definitely will learn more by reading various blogs of those on the WiX team, but I personally find that particular book gives a really solid foundation which makes it easier to understand the concepts they're talking about.

@Sandeep - You need an MSI package for corporate software, if you have no intention of selling your product to customers who need automated deployment in a locked down environment then NSIS will suit you just fine :)

@romkyns InnoSetup is fairly limited in my opinion, you can do just as much with a batch file and a self extracting EXE - it all comes down to your target market, corporate/enterprise clients demand MSI - home users don't care as long as it works and would happily double click on a SETUP.BAT file :)