2

I've compiled a relatively simple Direct3D9 program in C++. However, whenever I try to use the Debug runtime, this error pops up. According to all of the references I have found, this DLL is not listed to exist in Windows 7. At first, I figured it was a problem with my application. But I went to Windows Update and installed all the latest updates.

Now I have other applications which haven't been touched like Chrome which are reporting the same problem- the message box pops up often. I've reinstalled Visual Studio to no effect and run all the latest Windows patches, which also have had no effect.

Any suggestions?

2

6 Answers 6

2

api-ms-win-core* files are virtual dlls used by Windows7. This looks like your program is running in compatability mode (e.g. compatabilitity for Windows XP) but is actually compiled for Windows 7.

If this is a new application, try changing the output EXE file name to reset the compatability state for the program.

If this is an application that you got from the Internet or a friend, uninstall it and then reinstall it.

1

i had the exact same issue, when starting a program (Autodesk 3dmax ) after removing VS2011. I fixed it based on the clue given in the link. On my system, I found I had d3d9.dll and d3d9d.dll in windows\system and windows\syswow64. The date/time on d3d9d.dll was from 2011 and so I deleted both copies of d3d9d.dll and left the d3d9.dll alone (from 2010). That fixed the issue for me.

1

I have had the same problem with api-ms-win messages: I could not run any program on my computer and the only browser that worked was google chrome.

I solved the problem when I found on Google that Windows updates were responsible for this problem. At first I was unable to uninstall the latest updates, so I restored the system to the last date before the update (mostly security updates)..

From Action Center choose Restore Computer to an earlier time. After restoring your comp of course change settings of windows update to manual.

1

When I installed Visual Studio 11 Preview it installed d3d9d.dll of Windows 8 SDK also in C:\Windows\SysWOW64 folder.

Even if you uninstall / reinstall the DirectX SDK (June 2010) it will not override this version of d3d9d.dll because it is more recent than one in the DirectX June 2010 SDK...

So, I manually replace it by one installed in C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Developer Runtime\x86 and now I can run and debug my D3D9 game when I activate debug D3D9 runtime from DirectX Control Panel...

0

Considering this is an important looking file, tried sfc /scannow to confirm that system files are all in place?

This indicates they are compatibilty related files and do exist

3
  • That specific DLL isn't on the list.
    – DeadMG
    Feb 25, 2012 at 9:10
  • that does seem to be the case, but running sfc would still be the best solution, assuming its a system file
    – Journeyman Geek
    Feb 25, 2012 at 9:11
  • It did not find any "integrity violations".
    – DeadMG
    Feb 25, 2012 at 9:19
0

The only solution I found was simply to reinstall Windows and never, ever, go near VS11 and install the DX SDK before VS10. Now everything is working correctly.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .