Skip to content

Packaging for Windows

Doug Thompson edited this page Feb 11, 2019 · 5 revisions

There are quite a few options here. Windows users are generally happy to just an extract a .zip, but there are a variety of reasons for wanting to make the jump to a Windows installer:

  • Having your game appear in users' 'installed programs' list.
  • Creating any registry keys your game might want.
  • Automatic creation of Start Menu shortcuts.

The following options pertain to creating Windows installers.

NSIS

NSIS is the Nullsoft Scriptable Install System. It's free, very customisable, and (predictably) scriptable. Its compiler is even usable from Linux, though it always generates Windows executables - that is, you'll need to test them on Windows itself, or with WINE, which seems to happily run the installers without issue.

Scripting is relatively trivial. You can easily get a very basic installer that just bungs your game into C:\Program Files:

Name "Hello World III: The Shreckoning"
OutFile "hello-install.exe"

InstallDir "$PROGRAMFILES64\Hello World III"

Page Directory
Page InstFiles

Section
  SetOutPath $INSTDIR
  File hello-world-iii.exe
SectionEnd

However, this leaves a lot to be desired:

  • We could do with a modern wizard-style installer
  • We want to put an uninstallation program in place which will then be run if the user chooses to uninstall your game from the 'installed apps' list
  • We want Start Menu shortcuts

TODO

Other options

Incomplete: these methods could do with expansion.

  • MSIs: these can be created with WiX.
  • InstallShield: a standard, but an expensive one. Most independent developers don't shell out for this.
  • Windows Apps: these are the smartphone-esque apps that you can download from the Windows Store. So far as I know, Allegro isn't (or can't) be used with these; if you've managed it, please add to this article!