NSIS Vs WiX Vs AnyOther Installation Package
Asked Answered
C

3

36

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?

Concordance answered 14/12, 2009 at 20:2 Comment(0)
L
37

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 :)

Lyonnais answered 14/12, 2009 at 22:36 Comment(5)
+1 but personally I wasn't very impressed with the "the definitive guide to windows installer". I think I learned more about Windows Installer by following the blogs of Rob Mensching et al.Pandiculation
Hi, Hi Google and find mixed opinions.Following is my analysis: WiX is more powerful but it has very very steep learning curve. NSIS is strong, stable used by Big Names, easy to learn but because of scripting concept, it is lacking behind WiX. Being used by Big Names of Open Source Community, it think that it would go better and better. Now, I am confused. I am doing a small project and want the installation package quickly at the same time robust.Concordance
Re NSIS: unless you feel like scripting in pseudo-assembly language, take a look at InnoSetup instead.Ridgway
@Sandeep For example Microsoft Office setup is written entirely in WiX. So Big Names are here too.Conjugal
Can you maybe elaborate a bit on the "automated deployment" part? I was told that one can also produce silent installers with NSIS?Defilade
G
11

I would like to suggest another installer which is InnoSetup combined with ISTools

Innosetup has very good scripting language, and has a wizard to make it easy for you do the installation package and ISTools have the GUI interface for most of Innosetup options,

I was able to Install Mysql, its service and creating tables and other things with it, and it's much easier to learn than others.

Grantinaid answered 15/12, 2009 at 18:55 Comment(5)
I've looked at InnoSetup in the past, but never used it. It seemed to be much more restrictive than NSIS (and I prefer to write the script directly rather than using a GUI)Lyonnais
ISTool is the GUI add on for Innosetup, you can write the script directly with InnoSetupGrantinaid
You have bundled mysql installation? Isn't that against their license? Let me rephrase it: how did you manage to bundle mysql legally?Landscapist
@Landscapist In my understanding, as long as the MySQL is bundled for internal use, it is legal. You can be paid by a company to develop a software bundled with MySQL, or moreover if u are an employee of the company. Just DON'T make an ISV or OEM bundled with mysql.Mysticism
@MohammedNasman You mean: Inno Script Studio, see: kymoto.org/products/inno-script-studioJaehne
V
2

It depends on what you are trying to install. If it is a simple application installation, then NSIS is fast and easy to implement (wix has a very bad documentation). But if your installer does some changes in Windows OS, like, creating restore point, installing kmdf or umdf driver, then WIX is much better than NSIS.

Varnish answered 12/12, 2013 at 8:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.