VC2005 distribution issues

Started by
4 comments, last by Haytil 17 years, 1 month ago
The current game I am working on is the first game I've done using Visual Studio 2005 ( I used to use 2003). The game runs perfectly fine on my machine and the other developer's machines but we're having difficulty getting it to run on other machines consistently. Some people have gotten it to work, but others get error messages when they try to launch the game - "Error application failed to start ... " I think this is some issue with the dll's I'm loading or something. I suppose my question is: what steps do I need to take to distribute my game created in VS2005? I read some stuff about it on Microsoft's website concerning the .manifest files and some other dlls. I have also had people run the vcredist_x86.exe program. But nothing seems to work consistently. Thank you, Erik Irland
Advertisement
I had the same problem two years ago when using the express edition of Visual Studio 2005. It was some hacking to get it run on other computers that did not have VS2005 installed. I guess we had to make an installer of some kind. Don't really remember.
I am not sure if this site is the one that solved our problem back then, but it might help you. http://www.codeproject.com/cpp/vcredists_x86.asp
http://www.klarre.se
I never experienced this problem with MSVC++ EE. I have heard a solution,
though.

Is your project set up to use the multithreaded libraries?
You can copy the files from VS2005's VC/redist/x86/Microsoft.VC80.CRT (msvc?80.dll, Microsoft.VC80.CRT.manifest) into the same directory as your program, and it should run properly on any computer. The other main options that ought to work are getting people to install vcredist_x86.exe, or doing something with merge modules and the Microsoft Installer. (All of those assume you're distributing Release builds, not Debug.)

Thanks for your help. The website posted by Klarre was a great help. I'm currently trying to test it on some peoples systems.

One more question though. Which DirectX dlls do I need to distribute with my game? The game uses DirectX 9.0c October/Direct Input 8/XInput. Currently I'm distributing dinput8.dll, d3dx9_31.dll, and xinput1_3.dll.

Thanks guys.
I had a similar problem when I switched to VC2005 from 6.0.

If you want to make EXEs with the necessary DLL stuff packed in (so you don't have to distribute other files and DLLS), then you need to enable static linking.

Go to "Configuration Properties," open the "C/C++" submenu, and select "Code Generation. Click on the box next to "Runtime Library" and drop the box down. Choose "Multi-threaded Debug (/MTd)" for Debug configuration or "Multi-threaded" for Release configuration.

This topic is closed to new replies.

Advertisement