Sign in to follow this  
S8N

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

Recommended Posts

S8N    122
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]

Share this post


Link to post
Share on other sites
stonemetal    288
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.

Share this post


Link to post
Share on other sites
S8N    122
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

Share this post


Link to post
Share on other sites
S8N    122
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?

Share this post


Link to post
Share on other sites
Shadow Wolf    184
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.

Share this post


Link to post
Share on other sites
emeyex    382
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).

Share this post


Link to post
Share on other sites
S8N    122
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. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this