954,506 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

This application has failed to start becuase the application configuration is incorre

Hey - sorry if this is the wrong place for this.

I have this basic chess game I'm making, and I'm done with the first alpha build of it. It works fine when I compile it on my own computer, but when I bring the exe to a different computer, I get this error:

This application has failed to start becuase the application configuration is incorrect. Reinstalling the application may fix this problem.

Does anyone know how to fix this? I have the proper images in the same folder as the application. If anyone wants to try it for themselves: http://www.mediafire.com/?mgzmb3y94ty .

The program uses DirectX9. To my knowlege the computers I ran them on had DirectX, and even if they didn't, I'm under the impression that the program would at least run and give some sort of error once it gets to the DirectX code, not just refuse to run.

CoolGamer48
Posting Pro in Training
401 posts since Jan 2008
Reputation Points: 77
Solved Threads: 40
 

The computer that gets that error is missing one or more DLLs that are needed by the program. Make sure the program has been compiled for release mode instead of debug mode.

Ancient Dragon
Retired & Loving It
Team Colleague
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
 

How do you do that in VC++ 08? Does that solve the DLL problem, or is that still the fault of the computer? Does that mean that the computer is missing the DirectX SDK?

CoolGamer48
Posting Pro in Training
401 posts since Jan 2008
Reputation Points: 77
Solved Threads: 40
 

>>How do you do that in VC++ 08?
On my computer which has the default installation, just under the Help menu at the top is a combo box that you can set to either Debug or Release. Make sure its set to Release when you compile the program.

>> Does that solve the DLL problem
Not necessarily. There may be other DLLs that are not installed on the other computer

>>or is that still the fault of the computer
No -- its your fault for failing to install the proper DLLs.

>>Does that mean that the computer is missing the DirectX SDK?
Not the SDK but there are probably some redistributable DLLs. Look in the Microsoft DirectX SDK folder under Program Files and find a folder Developer Runtime. Those might be the DLLs you need to install with your program. Just copy them into the same folder where you installed your program.

Ancient Dragon
Retired & Loving It
Team Colleague
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
 

Um, what exactly does compiling it as release change, because I get linker errors when I do that. (debug is fine)

CoolGamer48
Posting Pro in Training
401 posts since Jan 2008
Reputation Points: 77
Solved Threads: 40
 
Um, what exactly does compiling it as release change


The release version of your program requires a different set of .dlls to be present on the target system.
What linker errors are you receiving?

mitrmkar
Posting Virtuoso
1,809 posts since Nov 2007
Reputation Points: 1,105
Solved Threads: 395
 
The release version of your program requires a different set of .dlls to be present on the target system. What linker errors are you receiving?


here's the log:

------ Build started: Project: Chess_2D, Configuration: Release Win32 ------
Linking...
dxgraphics.obj : error LNK2001: unresolved external symbol _D3DXCreateTextureFromFileExA@56
dxgraphics.obj : error LNK2001: unresolved external symbol _D3DXGetImageInfoFromFileA@8
dxgraphics.obj : error LNK2001: unresolved external symbol _D3DXLoadSurfaceFromFileA@32
dxgraphics.obj : error LNK2001: unresolved external symbol _Direct3DCreate9@4
dxinput.obj : error LNK2001: unresolved external symbol _GUID_SysMouse
dxinput.obj : error LNK2001: unresolved external symbol _c_dfDIMouse
dxinput.obj : error LNK2001: unresolved external symbol _DirectInput8Create@20
dxinput.obj : error LNK2001: unresolved external symbol _IID_IDirectInput8A
game.obj : error LNK2001: unresolved external symbol _D3DXCreateSprite@8
game.obj : error LNK2001: unresolved external symbol _D3DXCreateFontA@48
C:\Documents and Settings\Alec_2\Desktop\3D Chess Project\Chess_2D\Release\Chess_2D.exe : fatal error LNK1120: 10 unresolved externals
Build log was saved at "file://c:\Documents and Settings\Alec_2\Desktop\3D Chess Project\Chess_2D\Chess_2D\Release\BuildLog.htm"
Chess_2D - 11 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

CoolGamer48
Posting Pro in Training
401 posts since Jan 2008
Reputation Points: 77
Solved Threads: 40
 

>>Um, what exactly does compiling it as release change
I don't know exactly, but the debug version doubles the size of the executable because of all the stuff the compiler adds to make debugging easier, such as symbol names and line numbers and padding of data objects to make them bigger than you specified. The final release version of the program strips all that stuff out as well as optimizes code by changing some of it to make it run faster.

You have to tell the compiler the names of the DirectX *.lib files it is to use to link the program -- debug and release must be set up individually. When you set up the debug version you must have selected menu Project --> Properties --> Configuration Properties --> Linker --> Input then on the right side "Additional Dependencies" and listed the DirectX libraries there. You need to do the same thing for the release version. See the "Configuration" dropdown at the top of the left-hand pain.

Ancient Dragon
Retired & Loving It
Team Colleague
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
 

Allright, now it compiles, but I asked my friend to run it and now he gets this message:

applicatin failed to start because its side by side configuration is incorrect. please see the application event log for more detail

What does that mean?

CoolGamer48
Posting Pro in Training
401 posts since Jan 2008
Reputation Points: 77
Solved Threads: 40
 

Same reason as before -- your friend's computer does not have the required DLLs.

Ancient Dragon
Retired & Loving It
Team Colleague
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
 

Allright, now it compiles, but I asked my friend to run it and now he gets this message:

applicatin failed to start because its side by side configuration is incorrect. please see the application event log for more detail

What does that mean?


I'm not sure, but the event viewer (eventvwr.exe) Application log may contain more detailed information about the error (i.e. even the name(s) of the missing file(s), if any). So you may want to look into there.

It may be that installing the VS 2005 runtime components onto the offending machine solves this problem. These components are available at http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en

mitrmkar
Posting Virtuoso
1,809 posts since Nov 2007
Reputation Points: 1,105
Solved Threads: 395
 

Hey - thanks a bunch. I was using VC++ -8 so i used that redistributable package. It works now (I added one more DLL and then it worked). I currently just have the install file for the restributable files in the zip. Is there anyway to include the actual files in the zip, so that they don't have to install it? Or is there a way to just have one installer that does everything for you?

CoolGamer48
Posting Pro in Training
401 posts since Jan 2008
Reputation Points: 77
Solved Threads: 40
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You