Отсутствует d3dx9_*.dll или d3d11.dll — как исправить ошибку DirectX

Ошибка «d3dx9_43.dll отсутствует» или «d3d11.dll is missing» появляется при запуске игр и программ на Windows. Рассказываем, почему это происходит и как быстро исправить.
Windows

Ошибка «d3dx9_43.dll отсутствует на компьютере» или «d3d11.dll is missing» возникает при запуске игр и приложений, использующих Microsoft DirectX, в Windows 10 и Windows 11. Чаще всего причина — неполная или повреждённая установка компонентов DirectX, либо отсутствие пакета Visual C++ Redistributable.

Что означает ошибка отсутствия библиотеки DirectX

DirectX — набор мультимедийных интерфейсов Microsoft, без которых не работает графика в играх и профессиональных приложениях. Файлы d3dx9_*.dll, d3d10.dll, d3d11.dll, d3d12.dll — это конкретные компоненты пакета. Если файл отсутствует или повреждён, Windows не может передать запрос к видеокарте, и программа завершается с ошибкой ещё до старта.

Сообщение выглядит примерно так: «Запуск программы невозможен, так как на компьютере отсутствует d3dx9_43.dll. Попробуйте переустановить программу» или по-английски «The program can’t start because d3dx9_43.dll is missing from your computer».

Причины появления

  • DirectX End-User Runtime не установлен или установлен не полностью — особенно версии 9.0c с расширенными компонентами d3dx.
  • Файлы DirectX были случайно удалены сторонним чистильщиком диска или антивирусом.
  • Игра требует более старую версию d3dx9 (например, d3dx9_24.dll), которой нет в современной Windows по умолчанию.
  • Повреждение системных файлов Windows (проверяется через sfc /scannow).
  • Отсутствует пакет Visual C++ Redistributable, от которого зависит некоторые библиотеки.
  • Установка игры завершилась с ошибкой — redistributable-пакеты не скопировались.
  • Конфликт разрядности: 32-битная программа ищет библиотеку в SysWOW64, а не в System32.

Способ 1: Установить DirectX End-User Runtime Web Installer

Это самый надёжный способ — Microsoft предоставляет официальный установщик, который закрывает все пробелы, включая устаревшие компоненты d3dx9 и d3dx10.

  1. Перейдите на страницу загрузки Microsoft DirectX End-User Runtime Web Installer:
    microsoft.com/download — DirectX End-User Runtime
  2. Нажмите Download и запустите файл dxwebsetup.exe.
  3. Примите лицензионное соглашение, снимите галочки с рекламных предложений.
  4. Дождитесь завершения установки — утилита сама скачает недостающие компоненты.
  5. Перезагрузите компьютер и снова запустите игру или программу.

Этот способ решает большинство случаев с d3dx9_24.dll — d3dx9_43.dll, d3dx10_*.dll и D3DCompiler_*.dll.

Способ 2: Скопировать библиотеку вручную с сайта

Если интернет медленный или установщик недоступен из РФ (иногда серверы Microsoft блокируются), можно скачать конкретный файл отдельно и установить вручную.

  1. Определите точное имя отсутствующей библиотеки из текста ошибки, например d3dx9_43.dll.
  2. Скачайте нужный файл с сайта allerrorcodes.ru (ссылки приведены ниже) или с проверенного ресурса dll-files.com.
  3. Распакуйте архив.
  4. Скопируйте файл в соответствующую папку:
    • Для 64-битной Windows и 64-битной программы: C:\Windows\System32
    • Для 32-битной программы на 64-битной Windows: C:\Windows\SysWOW64
    • Для 32-битной Windows: C:\Windows\System32
  5. Если система спросит про замену — подтвердите.

Ссылки на скачивание (DirectX 9):

DirectX 10:

DirectX 11:

DirectX 12 (веб-установщик для полной переустановки):

Способ 3: Зарегистрировать библиотеку через regsvr32

Если файл уже скопирован в системную папку, но ошибка остаётся, попробуйте зарегистрировать его вручную.

  1. Нажмите Win + R, введите cmd, нажмите Ctrl+Shift+Enter (запуск от администратора).
  2. Для 32-битной библиотеки на 64-битной Windows выполните:
    %systemroot%\SysWoW64\regsvr32.exe d3dx9_43.dll
  3. Для 64-битной библиотеки:
    regsvr32 d3dx9_43.dll
  4. Замените d3dx9_43.dll на имя вашего файла.
  5. Нажмите Enter, дождитесь сообщения об успешной регистрации.

Способ 4: Проверить и восстановить системные файлы

Если ошибка появилась после обновления Windows или после работы агрессивного антивируса — возможно, системные файлы DirectX были повреждены. Проверьте их целостность:

  1. Откройте командную строку от имени администратора (Win + X → Командная строка (администратор) или Windows Terminal).
  2. Запустите сканирование системных файлов:
    sfc /scannow
  3. Если sfc нашёл и не смог исправить ошибки, выполните:
    DISM /Online /Cleanup-Image /RestoreHealth
  4. После завершения перезагрузите компьютер.

Способ 5: Установить Visual C++ Redistributable

Некоторые игры требуют определённые версии Microsoft Visual C++ Redistributable — без них библиотеки DirectX тоже могут не загружаться.

  1. Зайдите в Параметры → Приложения и посмотрите, установлены ли пакеты Microsoft Visual C++ 2013, 2015-2022 Redistributable (x86 и x64).
  2. Если нет — скачайте их с официального сайта Microsoft или через Snappy Driver Installer (если доступ к сайту Microsoft ограничен из РФ).
  3. Установите обе версии: x86 и x64.
  4. Перезагрузите компьютер.

Что делать, если ничего не помогло

  • Переустановите игру или программу — большинство игр при установке сами раскладывают нужные библиотеки DirectX в папку игры или через redist-папку.
  • Запустите установщик redist вручную: зайдите в папку игры, найдите подпапку _CommonRedist\DirectX или Redist и запустите DXSETUP.exe.
  • Обновите драйверы видеокарты (NVIDIA, AMD, Intel) — устаревший драйвер иногда конфликтует с компонентами DirectX 12.
  • Если ошибка только в одном конкретном заголовке — напишите в техподдержку игры, это может быть баг самой игры.

FAQ

Почему в Windows 11 не хватает d3dx9_43.dll, если DirectX 12 уже встроен?

DirectX 12 встроен в Windows 10 и 11, но старые компоненты d3dx9 (версии с суффиксом типа _43) в базовую поставку не входят. Они распространяются через отдельный пакет DirectX End-User Runtime. Большинство старых игр до 2013 года требуют именно эти компоненты.

В какую папку копировать 32-битный dll на 64-битной Windows?

32-битные библиотеки на 64-битной Windows хранятся в C:\Windows\SysWOW64. Это контринтуитивно, но так устроена система совместимости. 64-битные библиотеки идут в C:\Windows\System32.

Помогает ли скачать dll с посторонних сайтов?

Это рискованно: ненадёжные сайты с dll-файлами часто распространяют вирусы. Используйте официальный установщик от Microsoft или ссылки с allerrorcodes.ru. Если скачиваете со сторонних ресурсов — проверяйте файл на virustotal.com.

Нужно ли регистрировать все dll или только проблемный?

Обычно достаточно зарегистрировать конкретный файл, указанный в сообщении об ошибке. Если после регистрации одного файла появляется ошибка с другим — зарегистрируйте и его. Проще всего запустить dxwebsetup.exe — он автоматически установит все нужные компоненты.

Может ли антивирус удалить библиотеки DirectX?

Да, некоторые агрессивные антивирусы или чистильщики (например, CCleaner в режиме «всё подряд») могут удалить или поместить в карантин dll-файлы, ошибочно приняв их за угрозу. После такого случая запустите dxwebsetup.exe для восстановления.

Что делать, если ошибка появляется только в одной игре?

Попробуйте переустановить игру — при установке она должна сама скопировать нужные компоненты. Проверьте папку игры на наличие подпапки _CommonRedist или DirectX и запустите DXSETUP.exe оттуда вручную.

Работает ли это на Windows 11?

Да, все описанные способы работают на Windows 10 и Windows 11. Способ с dxwebsetup.exe — универсальный для обеих версий.

Алексей Герзанов aka Gerzoid
Алекс Гезанов

Работаю в сервисном центре по ремонту и обслуживанию бытовой техники. За более чем 10 лет трудовой деятельности, я сталкивался с решением большого количества проблем в работе ОС Windows, периферийных устройств, бытовой техники, игровых консолей Playstation и т. д.

Добавить комментарий