XNA Installer

Combined logo of WiX and XNA

What is it?

This is a professional grade installer for your XNA-based games, written in WiX, Microsoft's Open Source toolkit for creating .msi packages. It gets around the problem of your users not having the neccessary components on their systems - once and for all.

Why WiX?

Windows Installer, and therefore, WiX, differs from traditional install scripts in that instead of telling it what to do, you describe to it what the system should look like after installation has finished.

This might seem confusing at first, but by leaving it to the installer to sequence and to execute the neccessary installation steps, you get lots of functionality for free: clean uninstalls, patching and even the repair function that fixes your application when the user tampered around with your application directory.

What can it do?

The installer gets your XNA game onto any system running at least Windows XP SP2. Of course, Windows Vista is fully supported. If the installer is launched on an older OS, it will tell the user to upgrade to Windows XP SP2 in a friendly manner.

You can configure the installer to require a certain level of shader support on the target system. If the installer then doesn't detect a suitable graphics card, it will warn the user and inform him that the game will not run unless he actually has a graphics card with the required minimum level of shader support.

You can set up the installer in two different modes:

  • Mode 1: Require Preinstalled Components - In this mode, the installer does not include the redistributables and is therefore very small. The generated .msi file adds less than 1 MB of overhead to your game's base size.

    If any of the required components are missing from the target system, the installer will ask the user to install the missing components and prevent your game from being installed until all the requirements have been satisfied.

  • Mode 2: Bundle Component Redistributables - In this mode, the installer contains all redistributables required to get your game running (DirectX 9.0c October 2006, .NET Framework 2.0 SP1 and XNA 1.0 Refresh). This adds about 27 MB to your installer's size.

    If any of the required components are missing from the target system, the installer will tell the user about the additional components that need to be installed on his system and then proceed to selectively install what was missing.

All system components are installed using the official redistributables, thereby keeping in compliance with their vendor's license terms and at the same time ensuring your end-users will have an officially supported and fully updateable system.

As an added bonus, the redistributables, when stored in the installer, are compressed with cutting edge LZMA compression (known from 7-Zip and superior to .zip, .bz2, .rar) to reduce the total size of your game installer:

Redistributable Official Size Adds to Installer
DirectX 9.0c October 2006 4.01 MB 1.81 MB
XNA 1.0 Refresh 1.94 MB 1.58 MB
.NET Framework 2.0 SP1 23.6 MB 23.9 MB