[Note: If you would like to see this process improved then vote and add your comments to this item in connect]
See the MSDN Documents on Sharing and Distributing your game - specifically the dependencies for 1.0 and dependencies for 2.0 and the dependencies FAQ
- Click once (Publish in visual studio) - will not work
- Visual Studio installer projects - will not work, at least not without a great deal of work. Paul Stubbs documented a way to do this though it relies on URLs which are known to change. MikeTrejo also documented a way in a forum post
Both of these technologies will try to determine the dependencies and will miss most of them. They will also try to include parts of XNA and DirectX which should not be distributed that way (see the XNA Framework and DirectX EULAs)
Right now the only way to do it is to create your own installer package and add in the dependencies and call their installers - or - ask your end users to manually install the dependencies and then provide them the contents of the /bin/release folder to run directly.
If you know your end users also have XNA Game Studio Express installed you can use the Game Packager
The process has been described for the following installers:
- Inno Setup - http://forums.xna.com/thread/2828.aspx
- XNAInstaller may also help
If you have worked out steps to do it with other installers please let us know and we will link it here.
Other suggested 'setup creation tools'
- NSIS - open source and free
- WiX - also open source and free. However VS integration only with Pro
[ZMan's soapbox]
The issue of having a web installer for DirectX has long been a thorn in the side of managed developers since our games have small EXEs and few assets so packaging the full redist with the setups makes the download huge. DirectX has a web installer available but Microsoft do not allow you to call it from your setup. The MVPs have raised this issue with Microsoft several times with no results. With the introduction of the XNA framework and the fact that it has an even bigger audience the problem is set to get worse since your installer will have to package both the DirectX runtime and the XNA Framework runtime. If this is of concern to you then feel free to add your scenario to http://connect.microsoft.com for the XNA framework.
The ZBuffer - News and information for XNA and Managed DirectX