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.

Fix it automatically

Outbyte PC Repair checks Windows for corrupted system files, registry problems and leftovers from removed programs - the kind of damage behind errors like this one. Useful when you would rather not run the steps below by hand - the check and the diagnosis are free, and nothing is changed until you decide.

Download PC Repair Downloads Outbyte PC Repair for Windows. Free by-category trial included.

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.

The automatic route, whenever you are ready

Outbyte PC Repair checks the system and shows what it found - then waits. Nothing is applied without your OK, and a restore point lets you undo changes.

Download PC Repair Downloads Outbyte PC Repair for Windows. Free by-category trial included.
Freescan and diagnosis
You choosewhat to fix
Windows 11-7supported