I'm need to choose a software package for installing software. NSIS and WiX seem promising. Which one would you recommend over the other and why?
Feel free to offer something else if you think it's better than these two.
NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution.
Download. You can download the WiX toolset for free.
Unfortunately, No. NSIS lets you create scriptable, procedural installation packages. It's simple, easy to use and has a number of features not present in Windows Installer. Windows Installer (MSI) creates database driven, transactional installation packages.
Windows Installer XML Toolset (WiX, pronounced "wicks"), is a free software toolset that builds Windows Installer packages from XML. It consists of a command-line environment that developers may integrate into their build processes to build MSI and MSM packages.
NSIS will give you an exe, WiX will give you a MSI. I have used NSIS to package up a couple MSI installers into a single exe and do some additional checking I couldn't figure out how to do using the VS.NET Setup project. INNO Setup is another installer you may want to look at.
1 NSIS : Requires you to learn a new language. Creates EXE-installers. 2 WiX : Declarative setup creation, although a bit low-level. ... 3 Inno Setup: Allows you to create quite powerful EXE installers with an easy, largely .INI-File based syntax, but it forces you to learn Pascal if you need custom coding.
INNO Setup is another installer you may want to look at. It is closer to NSIS than WiX but the installers it makes look more like standard installers than NSIS installers do. Of the three I liked NSIS best as it had the best documentation.
NSIS is described as ' (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution' and is a popular software installer in the os & utilities category.
If you want to get an installer done today, with the minimum amount of overhead, use NSIS. Simple scripting language, good documentation, fast.
If you want to build MSI files, integrate with the Windows Installer transactional system, and have plenty of time to devote to learning the declarative model used by Windows Installer, then check out WiX.
Also, maybe give Inno Setup a shot. Sure, you might find it to be a bit strange as it forces you to write custom code in Pascal, but then again, there's hardly anything any more that forces you to actually do custom code - Inno Setup is really, really powerful.
Inno Setup also generates EXE installers - if you want your application to be easily deployable in enterprise environments, you'll probably have to go the WiX route, though personally, I've had quite the share of MSI related problems as a user that I personally would prefer MSI die a slow and horrible death (well - actually, a quick death would be favorable at this point - but horrible it can very well be), so just go ahead and do the EXE file thing.
So.
As a long-time Delphi coder, I'd always go Inno Setup, though that's probably very biased (I'm an Inno Setup fan since around 1996).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With