How to prepare a program for redistribution? (Visual C++ Express 2005)

Started by
6 comments, last by S8N 16 years, 1 month ago
Hi, I'm trying to get my program to work on computers other than the one that I developed it on. On some computers it works fine, others it comes up with an error: "This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem" I've searched on google and the solution appeared to be to install the VC++ Redistributable Package (http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en) I tried this and the error still occurred on the computer, I ran Dependency Walker on the program and it reported that MSVCP80.DLL, MSVCR80.DLL and DWMAPI.DLL were missing. Are there any good guides/instructions on how to best get it working on as many other computers as possible? What files should I/shouldn't I provide with my program? Thanks to anyone who can help! [Edited by - S8N on March 1, 2008 9:20:26 PM]
http://www.thomaswiggins.co.uk (under construction)
Advertisement
What OS did you develop on?
What libraries are you using?
Roger that, lets run like hell!
the first to dlls you mention are apart of the re-distributable. the third is a vista specific dll also apart of the re-distributable. I haven't really noticed if there is a build for vista/XP switch in VS.
OS I'm using is Windows XP SP2 (Media Center edition if that makes any difference)

Libraries that I'm using:
OpenGL
SDL (plus SDL_Image and SDL_TTF)
Bullet Physics
GLee
Boost (for some filesystem stuff)

I've uploaded a dependency walker image from my development PC to www.thomaswiggins.co.uk/depends/main.dwi if it will help.

My own EXE/DLL files are:
main.exe
data.dll
engine.dll
game.dll
graphics.dll
gui.dll
input.dll
math.dll
resourceloader.dll
http://www.thomaswiggins.co.uk (under construction)
Quote:Original post by stonemetal
the first to dlls you mention are apart of the re-distributable. the third is a vista specific dll also apart of the re-distributable.


I've installed the redistributable on the target computer though and it still isn't recognizing any of those dlls... at least I think it installed, it didn't confirm to me either way after it finished the progress bar. Is that normal? Is there any other reason why it might not recognize the DLL files?
http://www.thomaswiggins.co.uk (under construction)
It could be a Manifest issue or the DLL files were not installed properly on that system. You should read up on Manifests, and you can find the DLL's you need in the SxS folder located in your <WIN32Folder>\WinSxS\x86_Microsoft.VC80.CRT_.... folder(s); just copy and bundle those with your project and everything should be fine.
Although the dlls you listed don't look like debug libraries, I've seen this when exes/dlls were accidentally compiled against debug versions of the CRT (I don't believe the redist installs those, as well it shouldn't).
Well, simply providing the files with it didn't seem to work (whether it was by my own error I'm not sure).

However I found this page while googling for an answer: http://blogs.msdn.com/nikolad/archive/2005/09/02/460368.aspx and followed the instructions on it, now I just need to ask the user to run a msi file before running the program and then it seems to work fine on their computer. :)
http://www.thomaswiggins.co.uk (under construction)

This topic is closed to new replies.

Advertisement