views:

1953

answers:

2

Hi,

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?

Sandeep Jindal

+2  A: 

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

sascha
+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.
Wim Coenen
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.
Sandeep Jindal
+1  A: 

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, it's service and creating tables and other things with it, and it's much easier to learn than others.

Mohammed Nasman
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)
sascha
ISTool is the GUI add on for Innosetup, you can write the script directly with InnoSetup
Mohammed Nasman
You have bundled mysql installation? Isn't that against their license? Let me rephrase it: how did you manage to bundle mysql legally?
mr.b