views:

71

answers:

3

Hi,

I'm want to add a windows installer to my project.

I saw two open source solutions: WiX and Nsis.

Do you have any expirience with them? Do you use another FOSS installer?

+2  A: 

Inno Setup. I rolled out an installer with it in 15 minutes - and that included the time to download it, install it, and read the documentation.

Ori Pessach
Open source it is, and even scriptable. Unfortunately for some, it is written in Pascal and scripted with a Pascal interpreter ;-) Despite that, it is a decent installer and has been used for a number of FOSS and commercial projects.
RBerteig
Oh, there's nothing wrong with Delphi. Or Pascal. It's a perfectly decent language.
Ori Pessach
I favor InnoSetup for small installer projects, too. However, it's worth noting that it does *not* make a Windows Install MSI, but rather a simple SETUP.EXE.
ewall
It certainly doesn't, and the question didn't ask about MSI.
Ori Pessach
+1  A: 

I've used WiX to very good effect on a couple of small projects.

Microsoft uses it themselves for some products you may have heard of ... like Office.

You might wonder if WiX is already mature enough for the installation of large, complex applications with a large number of files to be deployed. Well, Microsoft itself is switching to WiX with all its major software packages. Just as an example, the setup of Microsoft Office 2007 was developed entirely with WiX.
-- http://www.tramontana.co.hu/wix/

It's certain that WiX can handle what you need to achieve, but it's not the most straightforward to learn. Well worth persevering though.

Bevan
didn't know that, intereseting
Am
good tutorial, thanks
Am
+3  A: 

WiX is great if you're willing to invest the time and effort into understanding Windows Installer, generally if your software doesn't need to support Enterprise deployment the effort might not be worth it. First you need to understand Windows Installer (MSI), then learn WiX, then write your setup. Very, very few developers care this much about setup and won't invest the time to learn the fundamentals, get screwed over when releasing an update, and have a hatred of Windows Installer in general. Windows Installer (MSI) requires you to declare the state a system should be in following install, upgrade or repair - a logical but non-procedural way of thinking.

NSIS is different, there is no concept of "repair" and "upgrade" doesn't exist so much either. It's a basic script, do this, then this, then this, etc. It'll take a couple of days to get up to speed with NSIS and not much longer to write your setup. If you can do what you need with NSIS (i.e. no requirements for Enterprise deployment) and you don't understand MSI, then I suggest starting with NSIS.

Update: Before you embark on WiX, make sure you understand MSI

Here's the top three resources I suggest anyone reads before even looking at WiX code.

sascha
good info, since updates is relevant for me, i think WiX will be the answer.
Am
see the additional resources I added above. Get a basic grasp of Windows Installer first, then learn WiX.
sascha

related questions