The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line

Started by
13 comments, last by Medo Mex 11 years, 4 months ago
I just installed Windows 7 on a PC and getting that error message when I try to run D3D9 application, even the runtime library is set to "Multi-threaded (/MT)"

Any idea how to make the application run without having to install applications other than pure Windows 7?
Advertisement
You probably need to install the DirectX end-user runtimes on the client PC.
I think DirectX 9 is installed by default in Windows 7, I tried opening other DirectX 9 games and they are working.
that usually is a problem with the MS C++ DLLs. that or your manifest. by chance did you look at what the event logger stated?
I think the problem was resolved after installing C++ runtime files, but I want the program to work even if C++ runtime files are not installed, so I can have portable software.
as part of your installer then you will have to check if they are installed and install them if they are not. you could either download them from MS's website and/or host it locally (thats what i did on previous projects) or include it as part of the installer (increasing download size) if your using NSIS check their page for examples.
I have many games working without having to install them or install any runtime files other than pure Windows 7 and they are made in C++ and DirectX, maybe they are using static libraries? I want the software to be portable (no installer).
For DX9 you needn't install the newest version of dx sdk. Try to compile your project with older version such as dxsdk_2007apr, the library d3dx9_33.dll is install by default in win7.
Well, I have to download and install the older version of the SDK, can't I compile the code with recent SDK and resolve this problem?
AFAIK its a runtime issue. which version of visual studios are you using?

VS2010 uses the MS C++ 2010 runtime (most likely installed on windows 8. no clue of 7. most likely not installed on XP)

if you want the "most portable" code. don't use standard C functions so you don't need to link to the C runtime. i good way to check which libraries you actually need is to set the compiler to "ignore all default libraries" and see where the linker fails. then decide if you are willing to link to that library or rewrite the function(s) you need from that library.

ex. if you are using fopen. i THINK you can use createfileex instead and reduce your dependencies.

static linking could help but if your using a 3rd party library you will have to match the dll linking they used.

This topic is closed to new replies.

Advertisement