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 Medo3337, Dec 06 2012 03:18 PM
14 replies to this topic
#1 Members - Reputation: 355
Posted 06 December 2012 - 03:18 PM
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?
Any idea how to make the application run without having to install applications other than pure Windows 7?
#2 Moderators - Reputation: 5418
Posted 06 December 2012 - 03:53 PM
You probably need to install the DirectX end-user runtimes on the client PC.
Edited by MJP, 06 December 2012 - 03:55 PM.
#6 Members - Reputation: 215
Posted 09 December 2012 - 08:24 PM
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.
#7 Members - Reputation: 355
Posted 09 December 2012 - 08:42 PM
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).
#10 Members - Reputation: 215
Posted 10 December 2012 - 06:58 PM
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.
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.
#12 Members - Reputation: 215
Posted 10 December 2012 - 07:54 PM
I'm not saying other programs aren't using standard C functions. They are either linking to a version that is installed by default on their target machines, or they rewrote/copied what they needed.
If you look at MS's C++ implementation it uses their Platform SDK. so anything written using the standard C functions can be re-written using just the platform SDK
ie. CreateFile instead of fopen, VirtualAlloc instead of malloc. etc.
use depends to see your program dependencies. and remove the dependencies you don't want.
If you look at MS's C++ implementation it uses their Platform SDK. so anything written using the standard C functions can be re-written using just the platform SDK
ie. CreateFile instead of fopen, VirtualAlloc instead of malloc. etc.
use depends to see your program dependencies. and remove the dependencies you don't want.
#14 Members - Reputation: 215
Posted 11 December 2012 - 06:55 PM
seems like bullet relies on the C runtime then. your choices are...
1. don't use bullet
2. re-write portions of bullet to not use the C runtime
3. link against a earlier version of the C runtime that is guarenteed to be installed on your target machine.
good luck!
1. don't use bullet
2. re-write portions of bullet to not use the C runtime
3. link against a earlier version of the C runtime that is guarenteed to be installed on your target machine.
good luck!






