Good installer making software?

Preferably free to cheap.

I’m slowly glueing together my indie gaming masterpiece over here and I’m getting towards an early ‘tech test’ milestone. I’d hopefully like to distribute it to get some feedback on how well the engine works on different machines.

Unfortunately I don’t have much experience in packaging up and delivering software to the end user. Does anyone here roll their own installers?

Any advice on installer making or software packaging up for end users in general would be much appreciated.

From what I know, and I’m no programmer, NSIS is a pretty good (open source and free) customizable installer system for Windows. I’ve installed a lot of apps and I usually see that installer pop up the most.

NSIS means you have to program in a Pascal-like language. It’s bad for two reasons:

  1. It’s like Pascal
  2. It’s like Pascal

Assuming you only want support for Windows, check out Inno Installer and MSI.

I’m only looking at windows as a target platform right now. Thanks for the reccomendations so far.

Currently I’m leaning toward Inno over NSIS since it seems more windowsy oriented from a surface glance, plus the ever present fear of dead languages.

Scanning over that MSI documentation it looks like a confusing mess. Windows 2000 CD? Though I often find that searching Microsoft’s website is like panning for gold. Unrivalled breadth of information but they don’t half delight in making it tricky to pull out even with some dedicated google fu.

Oops, I just pasted the first seemingly-related link google found for me on the microsoft site. Try finding better info from the Wikipedia page. A quick google turns up this freeware MSI creator.

MSI is certainly more complex than the other two for small projects. The advantage is you get stuff like transactionality and bug-free uninstall logic for free. For example: Your uninstaller will never delete E:\Games\ because Joey doesn’t believe in standard install locations and you assumed everyone would install to C:\DanLawrence\Game.

That won’t happen with InnoSetup either, though. InnoSetup is definitely the easiest-to-use installer out there so unless you have a compelling reason to use something else I’d start with that one.

I’ve used InnoSetup on a couple project with a lot of success. To do pretty basic stuff you can just use a wizard (I think) to put the installer together. There’s a second-level you can go to which is also pretty quick and easy to grasp. And if you need functionality beyond that, you can also do a lot of custom stuff in code (which is based on Pascal as well).

There are some limitations to it that I’ve come across (like one or two screens that must appear in the installer), but nothing serious. And if they were really an issue you could always modify the source code and recompile it, but I don’t think I’ll ever get to that point.

I think you’ve got it around the wrong way, Innosetup uses the pascal-like language, and NSIS uses the high-level assembly like language ( or at least it did when I looked at it a few years ago).

But really, if you have to do significant scripting in an installer, you are prolly doing it wrong.

MSI is an incredible steaming turd that is still probably the best way to do installers for Windows. The turdiness may be polished by various tools, but looking at the internals will always require a SAN roll.