Сообщение «Запуск программы невозможен, так как на компьютере отсутствует d3dx9_43.dll» или «xinput1_3.dll отсутствует» возникает в играх, собранных под устаревшие библиотеки DirectX. В современной Windows этих файлов по умолчанию нет. Исправляется ошибка установкой официального пакета Microsoft DirectX End-User Runtime; копировать отдельные DLL не нужно. Оговорка: на странице загрузки Microsoft Windows 10 и 11 в списке поддерживаемых систем не названы, подробности ниже.

Откуда берутся эти файлы и почему их нет

Имена файлов читаются из двух частей. d3dx9_43.dll - библиотека D3DX9, вспомогательный слой над Direct3D 9, которым игры пользовались для работы с текстурами, моделями и шейдерами. xinput1_3.dll - версия 1.3 интерфейса XInput для геймпадов. Число в имени показывает выпуск: версия D3DX с номером 43 и XInput 1.3 относятся к июньскому выпуску DirectX SDK 2010 года.

По документации Microsoft, XInput 1.3 и XAudio 2.7 были последними версиями, которые поставлялись как распространяемые файлы в составе DirectX SDK, а сам SDK больше не доступен для скачивания. Начиная с Windows 8 DirectX SDK вошёл в Windows SDK, а библиотеки D3DX9, D3DX10 и D3DX11 Microsoft называет устаревшими.

В самой системе лежат другие версии. XInput 1.4 входит в Windows 10 и 11 как системный компонент, XInput 9.1.0 есть в Windows 7 и новее. Игра, собранная под XInput 1.3, ищет именно xinput1_3.dll, и файл с другим именем ей не подходит. Поэтому такая ошибка не говорит о повреждении Windows: нужного файла в системе нет, пока кто-то его не установил.

Обычно его ставит установщик игры: у многих игр для этого есть отдельный шаг с установкой DirectX. Если шаг пропустили или прервали, либо игру просто скопировали с другого компьютера, библиотеки в системе так и не появляются.

Короткий порядок действий

Шаг Что делать Когда помогает
1 Перезагрузить компьютер, запустить игру от имени администратора Разовые сбои, нехватка прав
2 Поставить DirectX End-User Runtime с сайта Microsoft Основной случай: старая игра, нет библиотек D3DX и XInput 1.3
3 Переустановить игру и не пропускать установку DirectX Установка DirectX была пропущена или прервана
4 Visual C++ Redistributable, разрядность, DISM и sfc Ошибка сменилась на другую DLL или на код 0xc000007b

Шаг 1: перезагрузка и запуск от администратора

Перезагрузите компьютер и запустите игру заново. Затем нажмите на ярлык правой кнопкой и выберите «Запуск от имени администратора». Если игра заработала, откройте «Свойства» - «Совместимость» и включите постоянный запуск с правами администратора. Недостающие библиотеки этот шаг не заменит, поэтому не задерживайтесь на нём дольше пары минут.

Шаг 2: официальный пакет DirectX End-User Runtime

Microsoft публикует два варианта пакета:

Версия пакета на обеих страницах - 9.29.1974.1, дата публикации - 15 июля 2024 года. Microsoft описывает его как набор библиотек старого DirectX SDK для игр, которые используют D3DX9, D3DX10, D3DX11, XAudio 2.7, XInput 1.3, XACT и Managed DirectX 1.1, и указывает, что пакет не меняет DirectX, уже установленный в Windows.

  1. Скачайте файл со страницы Microsoft. Адрес страницы должен быть на домене microsoft.com.
  2. Запустите установщик. Веб-версии нужен доступ в интернет.
  3. Если в окне установщика есть необязательные предложения со сторонними программами, отключите их.
  4. Перезагрузите компьютер и запустите игру.

Применим ли пакет к Windows 10 и 11

На обеих страницах в списке поддерживаемых систем указаны Windows XP SP2 и SP3, Vista, 7 и серверные Windows 2003 и 2008. Windows 10 и 11 там не названы, и подтверждения тестирования на них у Microsoft я не нашёл. Известно другое: пакет добавляет отдельные библиотеки и не заменяет установленный DirectX, поэтому попытка установки сама по себе вреда системе не приносит. Если установщик выдаст ошибку или игра по-прежнему не запустится, переходите к шагу 3.

Тот же пакет рассчитан и на другие файлы из этого набора, например xaudio2_7.dll. Это вывод из описания Microsoft, проверенного списка файлов у меня нет.

Шаг 3: переустановка игры

Переустановите игру и дайте установщику поставить DirectX, если он предлагает. После установки первый запуск лучше довести до конца и не закрывать окна, которые игра может открыть для дозагрузки компонентов.

Для игры с диска или из загруженного дистрибутива поищите в папке с установочными файлами подпапку вроде DirectX или _CommonRedist. Названия зависят от конкретной игры, поэтому это ориентир. Если такая папка есть, запуск DXSETUP.exe оттуда ставит компоненты, которые разработчик положил вместе с игрой.

Шаг 4: если ошибка сменилась на другую

После установки пакета Windows может начать сообщать о другой DLL, например MSVCP140.dll или VCRUNTIME140.dll. Игре нужен ещё один компонент: Visual C++ Redistributable. Он разобран в статье Не найден DLL при запуске программы, там же есть проверка системных файлов через DISM и sfc. Если вместо имени файла выводится код 0xc000007b, причина обычно в несовпадении разрядности 32 и 64 бита, и порядок действий другой - в статье Ошибка 0xc000007b при запуске программы или игры.

Что с этими файлами в каталоге mirsofta.ru

В каталоге есть справочные карточки обоих файлов: d3dx9_43.dll (по данным карточки - Microsoft DirectX Direct3D 9, выпуск июня 2010, версия 9.29.952.3111) и xinput1_3.dll (Microsoft Common Controller API, версия 9.15.779.0). Карточка помогает сверить имя, версию и размер файла, который ищет игра. Исправлять ошибку лучше пакетом Microsoft. Остальные библиотеки на букву D можно найти в списке DLL на D.

Чего делать не нужно

  • Скачивать d3dx9_43.dll или xinput1_3.dll с сайтов вида «dll скачать». Никто не отвечает за содержимое такого файла, а библиотека с системным именем удобна для скрытой установки вредоносного кода. Разрядность и версия тоже могут не совпасть с тем, что нужно игре.
  • Копировать DLL в System32 вручную. На 64-битной Windows 32-битным программам нужны 32-битные библиотеки, а они лежат в другой папке (SysWOW64). Перепутать их легко, и тогда ошибка останется или сменится на другую.
  • Ставить «сборки DirectX» из архивов и репаков. Версия внутри не подтверждена. Берите пакет со страницы Microsoft или из папки лицензионной игры.
  • Отключать антивирус на время установки. Пакет Microsoft этого не требует. Если защита удалила файл игры, проверьте карантин и восстановите файл оттуда.
  • Переустанавливать Windows ради одной игры. Пока не пробованы шаги выше, для такого шага нет оснований.

Если игра всё равно не запускается

Запишите точный текст ошибки с именем файла, разрядность и версию Windows (Параметры - Система - О системе) и название игры. Запрос вроде «ошибка d3dx9_43 gta 5» встречается у разных игр, и у каждой могут быть свои требования: их указывает разработчик на странице игры или в поддержке. Общий совет с чужого форума без подтверждения от разработчика или Microsoft считайте непроверенным.

Источники

Другие материалы о Windows и софте - в разделе «Статьи» на mirsofta.ru.