Отсутствует d3dcompiler_47.dll при запуске программы или игры

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Отсутствие d3dcompiler_47.dll исправляется установкой обновлений Windows и DirectX End-User Runtime, а не скачиванием DLL. Для Windows 7 установите обновление KB4019990; проверьте системные файлы командой sfc.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение

#Что означает ошибка

d3dcompiler_47.dll
Запуск программы невозможен, так как на компьютере отсутствует d3dcompiler_47.dll

d3dcompiler_47.dll — компилятор шейдеров DirectX, входящий в Windows 8.1 и новее и в обновления Windows 7. Игры, браузеры и программы с графикой используют его при запуске. Ошибка «Запуск программы невозможен, так как на компьютере отсутствует d3dcompiler_47.dll» чаще всего возникает на Windows 7 без обновлений или после удаления файла антивирусом. Скачивать DLL с сайтов не нужно: это небезопасно и не решает причину.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Не установлены обновления WindowsНет обновления с библиотекой (Windows 7).Windows 7 без пакетов обновлений.Установите обновления.
Повреждён DirectXКомпоненты DirectX повреждены.Другие игры тоже не запускаются.Установите DirectX Runtime.
Файл удалён антивирусомАнтивирус счёл файл подозрительным.В карантине есть DLL.Восстановите из карантина.
Повреждены системные файлыФайлы системы повреждены.sfc находит ошибки.sfc и DISM.

#Пошаговое решение

  1. Установите обновления WindowsЕсли приложение сообщает об отсутствии d3dcompiler_47.dll, сперва узнайте свою версию Windows: Win+R → winver. На поддерживаемых Windows откройте «Параметры» → «Центр обновления Windows» и установите доступные системные исправления, затем перезагрузитесь. Не скачивайте отдельно DLL из случайных каталогов.
  2. Для Windows 7На Windows 7 SP1 библиотека может предоставляться через официальный пакет обновления Microsoft, в том числе KB4019990 (при подходящей архитектуре и предпосылках). Скачайте совместимую версию из Microsoft Update Catalog на другом устройстве, проверьте её подлинность и требования, установите .msu, перезагрузитесь. Без SP1 и обновлений подписи установка может не сработать.
  3. Не путайте старые библиотеки DirectX и d3dcompiler_47.dllОфициальные дополнительные библиотеки DirectX June 2010 можно установить для старых игр через полный пакет и DXSETUP.exe, но этот пакет не является основным источником d3dcompiler_47.dll. Если проблема касается именно 47-й версии, сначала проверьте обновления Windows и поставку приложения.
  4. Установите Visual C++Если ошибка сменилась на отсутствующий VCRUNTIME/MSVCP, откройте Microsoft Learn по поддерживаемым Visual C++ Redistributable и установите пакет нужной программы и разрядности. Не пытайтесь лечить d3dcompiler_47.dll установкой всех наборов VC++ без подтверждения.
  5. Проверьте карантин антивирусаЕсли антивирус помещал файл приложения в карантин, откройте «Безопасность Windows» → «Защита от вирусов и угроз» → «Журнал защиты». Убедитесь, что файл действительно из официального установщика, и обратитесь к издателю при ложном срабатывании; не выключайте защиту целиком.
  6. Проверьте системные файлыВ административной командной строке выполните sfc /scannow; на Windows 10/11 при повреждениях сначала DISM /Online /Cleanup-Image /RestoreHealth, затем SFC. Запишите итог. На Windows 7 параметры DISM для восстановления хранилища отличаются — не переносите команду 10/11.
  7. Проверьте наличие файлаДля диагностики только факта наличия файла откройте Проводник и проверьте C:\Windows\System32 и (на x64) C:\Windows\SysWOW64, однако наличие не доказывает совместимости с программой. Не копируйте DLL между этими папками и не меняйте их разрешения.
  8. Переустановите программуЕсли ошибка проявляется только у одного приложения, в Steam/Epic проверьте целостность файлов или скачайте установщик программы заново с сайта разработчика. После установки запустите тот же сценарий; если сообщение сохраняется, передайте разработчику версию Windows и точный текст ошибки.
  9. Проверка наличия библиотеки и восстановление системы
    Windows · Командная строка (CMD)КомандаПрава администратора
    Проверка наличия библиотеки и восстановление системы.
    dir C:\Windows\System32\d3dcompiler_47.dll
    dir C:\Windows\SysWOW64\d3dcompiler_47.dll
    sfc /scannow
    DISM /Online /Cleanup-Image /RestoreHealth

Если игра запускается через Steam или Epic, проверьте целостность файлов игры: лаунчер заново положит нужную копию библиотеки в каталог игры. Для 32-битных программ нужна 32-битная версия библиотеки в SysWOW64, для 64-битных — в System32. На Windows 10 и 11 библиотека входит в систему, поэтому её отсутствие указывает на повреждение: выполните «обновление на месте». Справка — Microsoft.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.