Why don't my exe's run on other systems? :(

Started by
9 comments, last by Steedie 16 years, 10 months ago
Hey guys I've got a major problem, I'm in the process of starting to apply for jobs, so obviously putting my demo together Only problem is, some of my exe's wont run on other systems, I get the following error (this is on my dads PC, my friends PC and a few other randoms off forums) Error Code It's important to mention here that I'm compiling under Visual Studio 2005, using GLUT (latest version) for my OpenGL stuff (the GLUT applications being the problematic exes) Wierd thing is, I originally thought maybe Vista was screwing around with them (dont ask me why, it was the only thing I could think of), but then I tried them on my laptop and they work fine, those are the only 2 systems that they work on so far. I even removed all the GLUT files from my laptop and it still worked (obviously I'm including the GLUT dll in with the EXE on other systems) Please help guys, I really need it. It's not a very good first impression if your demo work doesnt run lol I will sing your praises for ever if you manage to fix it
Advertisement
That error typically means you are missing DLLs on the other computer, or possibly you are using debug DLLs instead of release ones.

You can use a program such as "dependency walker" to see what is missing, but also look into changing your compile settings from debug to release (if you haven't done so already).
It is most likely that you need to distribute the VS 2005 runtime dll's with your app. Your dads computer probably doesn't have them. You are allowed to distribute these dlls. Start by looking here: http://msdn2.microsoft.com/en-us/library/aa985617(VS.80).aspx

What you are looking into doing is called deploying an application.

regards,
WireAlbatross
I've tried release and debug builds but both give the same error :(

Sounds like you have to run the Visual C++ 2005 redistributable on the other systems. It is available at the link above, and also in your Visual Studio installation.
You can either supply the redistrubutable in .exe-form or use the merge modules to slipstream them in your installer.
Quote:Original post by WireAlbatross
It is most likely that you need to distribute the VS 2005 runtime dll's with your app. Your dads computer probably doesn't have them. You are allowed to distribute these dlls. Start by looking here: http://msdn2.microsoft.com/en-us/library/aa985617(VS.80).aspx

What you are looking into doing is called deploying an application.

regards,
WireAlbatross



I did look at this actually, but then it appeared that wasnt the problem as one of the people I sent it to has both GLUT and Visual Studio 2005 installed :(

I'm totally stumped
This thread on the MSDN forums might be useful.
You should *not* have to distribute anything for this to work. I had this issue as well and got told the same thing, but eventually fixed it by either fiddling around with setting "Runtime library" as a non-dll variant, or setting ATL to be statically linked.

Can't remember which.
You mentioned you are using Vista. Is this the 64-bit version? If so, make sure you are not building for 64-bit machines and trying to run on 32-bit machines. Obvious, I know, but you never know.
In project properties->Configuration Properties->C/C++->Code Generation make sure basic runtime library is a non-dll version. IE Multi-threaded debug for debug or Multi-Threaded release for release.

This topic is closed to new replies.

Advertisement