Problems distributing my exe created with msvc 2005
Hey everyone, my problem is that when im developing my game in msvc 2005 express edition i can run both debug and release exe on my computer. Then when i try and run it on another system i get an error message saying that the program isnt configured correctly and needs reinstalling. Ive tryed both release and debug on other computers and both dont work. Has anyone got any ideas as to why my problem occurs. Thanks.
Hmm I downloaded and installed the framework on my computer and then recompiled my project but it still doesnt work on other computers. Did you mean the person using my exe must have the framework installed.
Quote:Original post by cNoob
Hmm I downloaded and installed the framework on my computer and then recompiled my project but it still doesnt work on other computers. Did you mean the person using my exe must have the framework installed.
Yes, or do what Oberon_Command suggested...
According to your OP, you're using VC++, so you need the new C++ unmanaged runtime as well. Most beginners don't realize there's a runtime with 2005, so be sure to include it as you would with any other runtime for distribution.
As the AP said, you need to distribute with your application the applicable runtime libraries. Since you appear to be using unmanaged C++, you don't need to distribute the .net framework at all. However, you should see this link for some information on the libraries you will need to redistribute: Redistributing Visual C++ Files
I made a thread about this a while ago, im having the exact same problem >.<
Originally i thought it was due to missing DLL's (im guessing that is still the problem...) so iv tried narrowing the problem down as much as possible.
The test program im trying to distribute is nothing but:
So its not linking to any other files, its a single exe and i thought it should just work wherever i send it. I tried copying the DLLs over as seen from here but that doesnt seem to make any difference whatsoever.
This is with Microsoft Visual Studio Beta 2 (i know about the Express version, im downloading it now!) and using the Inno compiler to build Setup.exe (although the exe wont work anyway, so its clearly not Inno's fault)
Not to hijack the thread (since it seem's were having the same problem!) but is there anything else i have forgotten to take into account? Are there some build settings i need to change within Visual Studio?
Thanks >.<
EDIT - just to add another question, im correct in thinking that the DLL's can be copied into the install directory (same directory as the exe) and dont need to be placed in system32 or anything?
EDIT2 - I also tried including a manifest file, as taken from this site (since my copy doesnt have a redist folder...)
Again however, the thing failed as always =(
EDIT - FINAL EDIT - I eventually got it to work by just compiling it with no CLR support, and changed one of the options in Project properties from Multi-Threaded DLL to just Multi-Threaded :)
[Edited by - Tesl on March 9, 2006 1:57:14 PM]
Originally i thought it was due to missing DLL's (im guessing that is still the problem...) so iv tried narrowing the problem down as much as possible.
The test program im trying to distribute is nothing but:
#include <windows.h>#include <iostream>using namespace std;int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE prevInstance, PSTR cmdLine, int showCmd){ MessageBoxA(NULL, "Application Ran Successfully", "Success!", MB_OK); return 0;}
So its not linking to any other files, its a single exe and i thought it should just work wherever i send it. I tried copying the DLLs over as seen from here but that doesnt seem to make any difference whatsoever.
This is with Microsoft Visual Studio Beta 2 (i know about the Express version, im downloading it now!) and using the Inno compiler to build Setup.exe (although the exe wont work anyway, so its clearly not Inno's fault)
Not to hijack the thread (since it seem's were having the same problem!) but is there anything else i have forgotten to take into account? Are there some build settings i need to change within Visual Studio?
Thanks >.<
EDIT - just to add another question, im correct in thinking that the DLL's can be copied into the install directory (same directory as the exe) and dont need to be placed in system32 or anything?
EDIT2 - I also tried including a manifest file, as taken from this site (since my copy doesnt have a redist folder...)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!-- Copyright © 1981-2001 Microsoft Corporation--><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <noInheritable/> <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" /> <file name="msvcr80.dll"/> <file name="msvcp80.dll"/> <file name="msvcm80.dll"/></assembly>
Again however, the thing failed as always =(
EDIT - FINAL EDIT - I eventually got it to work by just compiling it with no CLR support, and changed one of the options in Project properties from Multi-Threaded DLL to just Multi-Threaded :)
[Edited by - Tesl on March 9, 2006 1:57:14 PM]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement