Как исправить ошибку D3DCompiler_47.dll

При запуске игры появилось оповещение с предупреждением, что её невозможно запустить, потому как на компьютере отсутствует динамическая библиотека D3DCompiler_47.dll? Рассмотрим, что это за ошибка, как исправить ее в Windows 7 – 8 и за что данный файл отвечает.

Теория

D3DCompiler_47.dll является не частью набора API (интерфейс программирования программного обеспечения) DirectX, как могло подумать большинство более-менее продвинутых пользователей. Это один из компонентов API под названием Direct3D 10-й версии, в котором содержатся функции для обеспечения взаимодействия софта с драйверами графического ускорителя в обход операционной системы.

Direct3D и DirectX – не одно и то же.

Если этот файл отсутствует по адресу, где его ищет программа или игрушка, это вызывает системную ошибку с соответствующим содержимым.

Решения

Кроме момента запуска требующих D3DCompiler_47.dll приложений, приведённые способы получить эту библиотеку применимы и к следующим случаям:

  • оповещение, что графический ускоритель не соответствует требованиям для игры;
  • утилита dxdiag.exe не может определить объем видеопамяти и версию DX.

Мы не будем скачивать динамическую библиотеку и куда-либо кидать её (в системный каталог или папку с игрой), как советуют гуру на различных сайтах и каналах Youtube, – это не избавит от неполадки и её последствий. Сделаем то, что советую делать представители Microsoft, – установим обновление KB4019990 для получения D3DCompiler_47.dll.

Установка обновления через Wusa.exe

Апдейт можно поставить, конечно, и через Центр обновления, но с ним проблем будет больше. Лучше загрузить необходимые файлы с ресурса Майкрософт и установить их на компьютер или ноутбук при помощи офлайн-установщика Wusa.exe. Он использует API-агент Центра обновлений для инсталляции новых компонентов системы.

  1. Переходим в нужный нам раздел каталога Центра обновлений.
  2. Кликаем по кнопке «Загрузить» возле необходимого файла.
Читайте также:  «Видеодрайвер nvlddmkm перестал отвечать и был успешно восстановлен»

Загрузка обновления

Чтобы узнать какой разрядности Windows установлена на вашем компьютере, зажимаем сочетание клавиш [knopka]Win[/knopka] + [knopka]Pause[/knopka], а в открывшемся информационном окне смотрим на строчку «Тип системы» в любой ОС.
Определение типа системы

В нашем случае это Windows 7 x64.

  1. Выполняем щелчок по ссылке на файл с расширением msu и закрываем окно.

Клик по обновлению

  1. По окончании скачивания (занимает не более 3 мегабайт) запускаем его.

Запуск обновления

Всё остальное выполнится без участия пользователя, поэтому ждем закрытия окошка. В результате в папке system32 появится зарегистрированный в системе D3DCompiler_47.dll.

Файл появился в системной папке

После лучше обновить DirectX при помощи онлайн-инсталлятора или автономного установщика. Мы рассмотрим только первый способ, так как они почти идентичны. При использовании веб-установщика на ПК будут загружены лишь отсутствующие на нём или устаревшие библиотеки. Во втором случае обзаведётесь инсталлятором, который не раз спасёт от проблем с файлами длл.

  1. Кликаем по URL для загрузки web-installer.
  2. Выполняем его и соглашаемся со всем, что там написано.

Переключатель в первое положение

  1. Делаем неактивным чекбокс, чтобы отказаться от внедрения панели Bing.

Отказываемся от Bing

  1. Ждём, пока программа просканирует систему, загрузит и зарегистрирует отсутствующие в ней библиотеки.

Загрузка файлов

  1. Закрываем окно.

Установка завершена
На этом всё готово.

Установка KB4019990 через командную строку

Wusa.exe – также работает в текстовом режиме, что порой очень удобно.

Для реализации задуманного нам необходимы привилегии администратора.

    1. Открываем с правами администратора командную строку или окно «Выполнить» через «Пуск» либо же комбинацией клавиш [knopka]Win[/knopka] + [knopka]R[/knopka].

Открываем окно Выполнить

  1. Вводим команду: [kod]wusa.exe c:\W1-kb4019990-x64_35cc310e81ef23439ba0ec1f11d7b71dd34adfe5.msu[/kod].

Выполнение команды
После названия программы Wusa.exe через пробел идёт путь к файлу и его имя (будет отличаться для других ОС и разрядностей).

При наличии ошибки 0x80040154 необходимо включить службу Центра обновлений.

Советы и исключения из правил

Было бы странно, если бы у всех после выполнения инструкции игра заработала. Относитесь к таковым?

  1. Убедитесь, что имеете необходимые привилегии в системе для установки обновлений.
  2. Проверьте, поддерживает ли ваш графический ускоритель DirectX 10, если он старый.

Посетите сайт поддержки устройства или запустите утилиту GPU-Z. Находим строку «Поддержка DirectX» в правом столбике.
Поддерживаемый DirectX

  1. Полностью удалите драйверы для видеокарты, а затем установите их последнюю версию, скачав установщик с официального сайта.
  2. Порой разработчики, чтобы не допустить подобных недоразумений, размещают в папке с исполняемым файлом игры библиотеку dll. При отсутствии, бросьте её туда, скопировав из C:\Windows\system32.

Не качайте dll-ки из неизвестных источников, а если это сделать и придётся, то обязательно проверьте архив на вирусы через один из онлайн сервисов, например, VirusTotal.

Оцените статью
OS Helper
Добавить комментарий