Как я починил проблемы с DLL-файлами на Windows 11.
(Способ сработал у меня, но не факт, что сработает у вас)
(Кроме того способ не самый безопасный, обдумайте стоит ли им пользоваться)
Перед выполнением этого всего ОЧЕНЬ желательно сделать точку восстановления системы, чтобы не переустанавливать потом винду с нуля, если что-то пойдет не по плану.
И, конечно, помнить, что скачанные из сомнительных источников системные файлы могут содержать вирусы и т.п.
1. Нужно раздобыть файлы D3DX9_42.DLL и D3DX11_42.DLL, а также заодно файл xactengine2_0.dll (скорее всего после исправления ошибки с файлами D3DX9_42.DLL и D3DX11_42.DLL, у вас начнет появляться новая "the application was unable to start correctly (0x000007b)", для ее исправления мне понадобился файл xactengine2_0.dll)
2. Где раздобыть эти файлы?
Я скачал их с сайта dll-files.com, что может быть НЕБЕЗОПАСНО, хотя сайт вроде зарекомендовал себя как надежный.
Другой способ: вы можете поискать их в дистрибутиве винды, или прям в папке C:/windows, они могут быть запакованы в файлах-архивах *.CAB. Например, Total Commander может их найти, если поставить галку в поиске "искать в архивах".
3. Каждый их этих файлов существует в двух версиях: для 32- и 64-битной винды. Для надежности я использовал обе версии, потому что не был уверен какую версию будет использовать игра. На dll-files при поиске по имени файла будут показаны обе версии и подписаны где какая. Если ищете внутри винды - можно определить по названию архива, в котором файл найден: если в имени есть "x64" - 64-битная версия, "x86" - 32-битная версия
4. Итого у вас получится 6 файлов, лучше при скачивании их сразу раскладывать в две папки (одна для 32бит, вторая для 64бит), т.к. имена одинаковые, можно запутаться, случайно заменить один другим или имя может быть автоматически изменено при скачивании на какой-нибудь "D3DX9_42 (1)" и т.п.
5. Теперь файлы надо подложить куда нужно в винде. 64-битные версии нужно загрузить в C:/windows/system32 , а 32-битные -- в C:/windows/SysWOW64
Очень важно не перепутать, тем более, что названия папок тут неинтуитивны, как будто всё наоборот.
Но именно так написано на том же dll-files.com:
Код:
On a 64bit version of Windows, the default folder for 32bit DLL-files is C:\Windows\SysWOW64\ , and for 64bit dll-files C:\Windows\System32\ .
Перед копированием - сделайте резервную копию файлов с такими именами из этих папок, если они там уже есть.
6. После перезагрузки всё должно заработать.
ИТОГО, если кратко:
I. найти файлы D3DX9_42.DLL и D3DX11_42.DLL, а также заодно файл xactengine2_0.dll
II. подложить их 64-битные версии в C:/windows/system32 , а 32-битные версии -- в C:\Windows\SysWOW64\
III. перезагрузить ОС