I'm running Windows 8.1. I'm trying to run Assimp Viewer (and several other similar programs) but they all fail to open because they don't recognize my version of DirectX.

I get the following error when I try to run 3D_Model_Viewer:

DirectX 9.0 installed (589824). Requires DirecX 9.0c (December 2005) or later.

and this error when I run AssimpViewer:

Failed to initialize Direct3D 9 (2)

I've run dxdiag.exe and confirmed that, in fact, DirectX 11 is the installed version, not 9.0 like the programs are saying.

What might be happening here? Can I get these programs to run under DirectX 11?


2 Answers 2


DirectX turned into a monster in recent years. Each time a new version of the run-time is released they use a completely different DLL.

If your application targets the December 2005 version of DirectX, it is entirely possible you do not have that version of the runtime installed. And no, you need the right version of DX9, DX11 is completely orthogonal to DX9 - you could have a system with DX11 installed but lacking DX9 entirely if Microsoft did not actually package both with the operating system.

Long story short, download the DirectX redistributable installer from Microsoft.

  • Thanks for the link to the redistributable. That worked for me.
    – Justin
    Jun 11, 2014 at 16:59

To put it simple the difference between DirectX 9 and DirectX 11 is like the difference between Windows XP and Windows 7.

Both have entirely different base (In this case DLL files). So inorder for some games to run you will certainly need DirectX 9.

Not the answer you're looking for? Browse other questions tagged or ask your own question.