Home / Guides / Program and file errors

D3DX9_43.dll is missing - how to fix it safely

D3DX9_43.dll is a helper library of DirectX 9 - the graphics layer most games of the 2000s and early 2010s were built on. Windows 10 and 11 come with DirectX 12 but leave the optional DirectX 9 era files out, so an older game on a modern PC asks for a file the system never had. Microsoft still ships those files in the free DirectX End-User Runtime; one installer run fixes this error - and its siblings like d3dx9_42 or d3dx9_39 - for good.

Ask Chipps

Describe what is happening in your own words, for example: "The program won't open, it says D3DX9_43.dll is missing". Chipps checks your PC, shows what it found and proposes a fix. Nothing changes until you click Allow.

Download Chipps Downloads the Chipps setup file for Windows.

Quick answer

Download the DirectX End-User Runtime Web Installer from Microsoft's official site and run it. It adds the legacy DirectX 9 libraries - all the d3dx9 files among them - next to the DirectX your Windows already has. Then start the game again.

Symptoms - how this problem looks

"The program can't start because D3DX9_43.dll is missing from your computer"
An older game crashes at launch on a new or freshly reinstalled PC
A neighboring number appears instead: d3dx9_42.dll, d3dx9_39.dll, d3dx9_31.dll
The game worked on the old PC and fails on the new one
Another launch complains about XINPUT1_3.dll - the same family
Reinstalling the game did not bring the file back

Why it happens

The legacy DirectX runtime is missing

Windows 10/11 include modern DirectX only. The d3dx9 helper libraries were always optional extras - games installed them silently back in the day, modern systems start without them.

Fresh Windows, old game

After a reinstall or on a new PC, the first 2000s era game you set up is usually the one that surfaces this error - nothing installed the old runtime yet.

The game's own DirectX setup was skipped

Many classic installers offered a bundled DirectX step that people cancel - the game then starts without its runtime present.

A lone DLL copy from a site

There are over thirty d3dx9 files in the runtime. Dropping one downloaded DLL into the game folder leads to the next number complaining - and DLL sites carry real malware risk.

The fixes, in order

1. Install the DirectX End-User Runtime

  1. On Microsoft's official site, search for "DirectX End-User Runtime Web Installer".
  2. Download and run dxwebsetup.exe; decline the optional extras it offers.
  3. Let it finish - it installs the whole d3dx9 family at once, not just one file.
  4. Restart the PC and launch the game.

Stay safe: only Microsoft's own site. The End-User Runtime is the legitimate source of every d3dx9 DLL - download sites offer the same files with no guarantees and known malware cases.

2. Run the game's bundled DirectX installer

  1. Open the game's folder (Steam: right-click, Manage, Browse local files).
  2. Look for a _CommonRedist, DirectX or Redist subfolder.
  3. Run DXSETUP.exe from there - it installs exactly the DirectX version the game was tested with.

3. Verify the game files

  1. Steam: right-click the game, Properties, Installed Files, Verify integrity of game files.
  2. Other launchers have the same repair option in the game's settings.
  3. Then install the runtime from method 1 if the error persists.

4. Repair system files if the installer fails

  1. Right-click Start, open Terminal (Admin).
  2. Run sfc /scannow, then DISM /Online /Cleanup-Image /RestoreHealth.
  3. Restart and run the DirectX installer again.

Frequently asked questions

My PC has DirectX 12. Why does a game want DirectX 9 files?

DirectX versions are not backward-replacing - a game built on DirectX 9 loads the d3dx9 helpers by name, and DirectX 12 does not contain them. The End-User Runtime installs the old files alongside, which is exactly how Microsoft intends it to work.

After fixing d3dx9_43, the game asks for XINPUT1_3.dll. What now?

Both ship in the same DirectX End-User Runtime - if you installed the full runtime, that error is covered too. If it still appears, run dxwebsetup.exe again and let it finish completely; our XINPUT1_3.dll guide has the details.

Can I copy just D3DX9_43.dll into the game folder?

It often leads to a chain: the next launch asks for d3dx9_42, then another number. The runtime is a set of dozens of matched files, and the official installer puts all of them where every game finds them - one run, no chain.

Or let Chipps take a look

Describe the problem in your own words. Chipps reads the Windows logs, points to the likely cause and proposes the narrowest fix. Nothing is changed without your Allow, and at the end it shows what it did and what it did not do.

Download Chipps Downloads the Chipps setup file for Windows.
Your own wordsno technical terms
Your OKbefore any change
Clear reportof what was done