Home / Guides / Program and file errors

d3dx9_26.dll is missing - the fix for older games

d3dx9_26.dll is a DirectX 9 helper library from 2005. It never shipped with Windows - games installed it themselves, so on a fresh PC classics like GTA San Andreas or other titles of that era fail with this exact message. Unlike most DLL errors, this one has an official installer that legitimately restores the file - Microsoft's DirectX End-User Runtime.

Fix it automatically

Outbyte Driver Updater identifies your installed hardware automatically and updates outdated or broken drivers from official sources, with a backup before every change. Useful when you would rather not run the steps below by hand - the scan and diagnosis are free.

Download Driver Updater Downloads Outbyte Driver Updater for Windows 11, 10, 8 and 7. Free 2-day trial, no credit card required.

Quick answer

Search the web for "DirectX End-User Runtime Web Installer" and download it from microsoft.com - it is free and official. Run it, let it add the legacy DirectX files, restart, and start the game. This one installer restores the whole d3dx9 family (d3dx9_24 through d3dx9_43), so the game will not ask for the next numbered file tomorrow.

Symptoms - how this problem looks

"The program can't start because d3dx9_26.dll is missing"
An older game (2004-2008 era) fails right at launch on a new PC
The same PC later asks for d3dx9_27, d3dx9_43 or xinput1_3.dll
The game comes from an old disc, an archive copy or a fresh Steam install
Modern games and programs on the same PC work fine
The error returned after "cleaning" the PC or reinstalling Windows

Why it happens

The file never came with Windows

The d3dx9 helper libraries were optional extras that game installers added. A fresh Windows - any version, including 11 - simply does not have them.

The game's installer skipped its DirectX step

Old installers bundled a DirectX setup step that modern Windows sometimes skips or that users cancel - the game lands on disk without its runtime.

A cleanup removed the legacy files

Cleanup tools and manual "debloating" sometimes delete files that look unused - until the one old game that needs them starts.

Each game wants its own number

Every DirectX SDK release produced a new numbered file - _26, _27, up to _43. Fixing one by hand invites the next error; the full runtime install fixes them all at once.

The fixes, in order

1. Install the DirectX End-User Runtime (fixes nearly every case)

  1. Search the web for "DirectX End-User Runtime Web Installer" and open the result on microsoft.com - Microsoft's official download page.
  2. Download and run the installer. Untick any optional extras it offers, then let it install the legacy DirectX components.
  3. Restart the PC and launch the game. The installer puts the entire d3dx9 family on disk, including d3dx9_26.dll.

2. Run the DirectX setup that came with the game

  1. Open the game's folder (for Steam: right-click the game, Manage, Browse local files).
  2. Look for a folder named _CommonRedist, DirectX, redist or DXSETUP and run DXSETUP.exe inside it.
  3. This is the same official runtime, bundled by the developer for exactly this situation.

3. Reinstall or verify the game

  1. Steam: right-click the game, Properties, Installed Files, then "Verify integrity of game files" - this also re-runs the bundled DirectX setup on first launch.
  2. For disc or archive copies, reinstall and do not cancel the DirectX step at the end of setup.

Do not do this: Never download d3dx9_26.dll as a single file from a "DLL download" site and never copy it into the game folder. Those copies are unverified, often the wrong build, and such sites are a well-known malware channel. The official runtime is free and installs every related file correctly.

Cheat sheet - which download fixes which DLL

The error namesWhat it belongs toThe fix
d3dx9_24.dll ... d3dx9_43.dll, d3dx10_*.dll, d3dcompiler_43.dll, xinput1_3.dll, xact*.dllLegacy DirectX game componentsDirectX End-User Runtime (method 1)
d3d11.dll, "Failed to create D3D11 device"DirectX 11 - part of WindowsSee the d3d11.dll guide
d3d12.dllDirectX 12 - Windows 10/11 onlySee the d3d12.dll guide
vcruntime140.dll, msvcp140.dllVisual C++ runtimeSee the VCRUNTIME140 guide

More game-related DLL fixes are collected in the game DLL errors guide.

Frequently asked questions

Why does a brand-new Windows 11 PC miss a file from 2005?

Because d3dx9_26.dll never shipped with Windows. It is a game-era helper library that games installed themselves. A fresh Windows has none of these files until the DirectX End-User Runtime or a game's own installer puts them there.

Will installing the old DirectX runtime downgrade or break my current DirectX 12?

No. The End-User Runtime only adds the optional d3dx9, d3dx10, xinput and related helper files next to the modern DirectX that is part of Windows. Nothing is replaced or downgraded - the two live side by side by design.

After fixing _26 the game asks for d3dx9_43.dll or another number. What now?

That is normal - each SDK release had its own numbered file and one game can use several. The full DirectX End-User Runtime install puts all of them (d3dx9_24 through d3dx9_43) on disk in one pass, which ends the whack-a-mole.