Problem running on other machines...

Started by
6 comments, last by wicked357 13 years, 4 months ago
Ok so I put the final touches on my demo, and now I want to test it on other machines to make sure it works properly. Now I know I have to install VC++ 2010 Redist. because I was getting the error "The program can't start because MSVCP100.dll is missing from your computer." So after I fixed that, now I get "The application was unable to start correctly (0xc0150002).".

Game was built on: Win7 64-bit using VS2010 Pro.

Computer trying it on: Vista 32-bit with VC++ 2010 Redist.

Any suggestions would be much appreciated, and thank you in advance.
Advertisement
Quote:
Any suggestions would be much appreciated, and thank you in advance.

Write a log file from the beginning and log everything you do at startup (setting up rendering context, audio context etc.). Don't forget to flush the file whenever you add a log entry.
It sounds like you are referencing the debug versions of the vc runtime, which are not bundled in the redist. Rebuild your program in release mode. Looking in the event log might reveal an error such as this one?

Activation context generation failed for "…....". Dependent Assembly Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="....",type="win32",version="...." could not be found.

Please let me know if this was any help!
This is the release mode, that is why I am not sure why it only works on development computers and not just normal ones. I tried it on my laptop that has the same development tools as my desktop except it is 32-bit unlike my desktop that is 64-bit. On the computer with no development tools whatsoever I get the crash before anything even happens. Nothing pops up but that error, and like I said before it is the release mode, with release DLL's nothing should be debug about it.
When you say it works on dev machines and not others are you running it from the IDE and not clicking the executable?(Could hint at path differences between the two )
What other libraries are you using?(Have you forgotten a dll or linked your release build to a debug dll then shipped the release dll. Try using process explorer to see what your app loads on your dev box.)
This is by running the executable file, I have release mode DLL's I have one in question that I built a long time ago, but it works in both release and debug mode, so I am not sure, I am going to have to take a look at that one. I hope that fixes the issues. Thanks for the suggestion, I'll post back with the update if this works or not.
How did you "fix" this?

Grabbing the DLL and throwing it in some system directory - bad.
Running the VC++10 runtime redist - good.
Adding a merge module to your setup program - good.
Putting the DLLs in your application directory - OK.

Also consider using Dependency Walker to find out what goes wrong.

To make it is hell. To fail is divine.

Turns out my old physfs.dll from PhysicsFS for reading archives was the problem. I rebuilt a new one in VS2010 Pro on release mode and it is now working correctly. After this problem I rebuilt all my third-party sdk's lib/dll files on VS2010 Pro on debug/release mode's so I don't encounter this again. For the record I have done a lot of programming, but I have never tried to make a release version to try on other computers. In school we could just hand in debug mode since the instructor has developer tools on their computer. Lessons learned, and a good one at that. Thanks for all the assisistance everyone.

This topic is closed to new replies.

Advertisement