How can I create an installer for my game?
I would like to send my game to friends for testing. But the problem is that I compiled it with Visual Studio 2013, so the C++ runtime is required for running the game.exe.
I could simply tell them how to install the C++ runtime, but I want them to click on install and simply launch the game when installation is finished. How can I create an installer that does everything needed before running the game, including extracting files, creating an uninstaller, creating a start menu folder etc., installing C++ runtime and the game itself? I have never done this before, I currently just create a zip containing all the files, but that's not the way it should work. I don't know where to start and I don't know good tutorials for this.
Greetings,
Magogan
As far as I remember, the Visual Studio Installer project can be configured to include the installation of other components like the runtime library as part of the install. It won't embed the whole thing but rather download and install the latest from Microsoft's servers during the install process.
Look it up. If not, there's Inno setup. It is a powerful, script driven system that definitely handles pre-requisite installs.
nsis is awesome, however if you are going cross platform route:
http://www.cmake.org/Wiki/CMake:Packaging_With_CPack
Is where it's at (IMO).
I have never done this before, I currently just create a zip containing all the files, but that's not the way it should work
If you do it this way you will not be registered correctly for install/uninstall and app pool. On windows you can do all things by a custom install application, that means - check for dot net ramework if so, run vs redist, invok setup.exe with parameter to install your app correctly, all done in your custom interface. Also in registry create desktop icons, run on start-up and such.
I second Norman's post. Inno is actually very easy to use and has a ton of tutorials and demo scripts. Probably the best one I have tried.
You can do that, or you can write your own. It's all resources, registry settings, temp files, running other installers and public Windows API.
If you want to do the installer quickly, use Inno or NSIS. In case you are curious how it works on the inside, or you want to heavily customize the UI, you might have to roll your own.