Jump to content

  • Log In with Google      Sign In   
  • Create Account

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


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
14 replies to this topic

#1 Medo3337   Members   -  Reputation: 680

Like
0Likes
Like

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?

Sponsor:

#2 MJP   Moderators   -  Reputation: 11770

Like
0Likes
Like

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.


#3 Medo3337   Members   -  Reputation: 680

Like
0Likes
Like

Posted 07 December 2012 - 01:50 AM

I think DirectX 9 is installed by default in Windows 7, I tried opening other DirectX 9 games and they are working.

#4 hdxpete   Members   -  Reputation: 488

Like
0Likes
Like

Posted 07 December 2012 - 02:31 AM

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?

#5 Medo3337   Members   -  Reputation: 680

Like
0Likes
Like

Posted 07 December 2012 - 09:02 AM

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.

#6 hdxpete   Members   -  Reputation: 488

Like
0Likes
Like

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 Medo3337   Members   -  Reputation: 680

Like
0Likes
Like

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).

#8 Alin   Members   -  Reputation: 391

Like
0Likes
Like

Posted 10 December 2012 - 02:49 PM

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.

#9 Medo3337   Members   -  Reputation: 680

Like
0Likes
Like

Posted 10 December 2012 - 05:33 PM

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?

#10 hdxpete   Members   -  Reputation: 488

Like
0Likes
Like

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.

#11 Medo3337   Members   -  Reputation: 680

Like
0Likes
Like

Posted 10 December 2012 - 07:44 PM

I'm using VS 2008, there are many programs installed in Windows 7 by default, I don't think that they don't use C standard functions.

#12 hdxpete   Members   -  Reputation: 488

Like
0Likes
Like

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.

#13 Medo3337   Members   -  Reputation: 680

Like
0Likes
Like

Posted 10 December 2012 - 09:56 PM

@hdxpete: That can be a problem, I tried setting the compiler to "ignore all default libraries", and getting hundreds of linking errors including errors related to Bullet Physics library.

#14 hdxpete   Members   -  Reputation: 488

Like
0Likes
Like

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!

#15 Medo3337   Members   -  Reputation: 680

Like
0Likes
Like

Posted 12 December 2012 - 01:45 AM

Since I'm using VS 2008, how can I change the C runtime to earlier version?

Thanks :)




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS