Почему не удаётся зарегистрировать DLL?
Итак, у тебя отсутствует какой-то файл DLL, из-за чего при запуске игры или программы ты видишь ошибку, или скачал этот файл из Интернета и пробуешь зарегистрировать, но либо точка входа DllRegisterServer, либо модуль не совместим с текущей версией Windows, а может и что-то еще, то есть регистрация DLL невозможно.
Почему это происходит (далее будет и про то, как это исправить):
- Не все файлы DLL предназначены для того, чтобы их регистрировали. Для того, чтобы его можно было зарегистрировать данным способом, он должен иметь поддержку той самой функции DllRegisterServer. Иногда ошибка бывает также вызвана тем, что библиотека уже зарегистрирована.
- Некоторые сайты, предлагающие скачать DLL, содержат по факту, файлы-пустышки с искомым вами именем и их невозможно зарегистрировать, так как на самом деле это не библиотека.
А теперь о том, как это исправить:
- Если ты пользователь и у тебя что-то не запускается с сообщением о том, что DLL отсутствует на компьютере — поищи в Интернете, что это за файл, а не где его скачать. Обычно, зная это, ты можешь скачать официальный установщик, который установит оригинальные библиотеки и зарегистрирует их в системе — например, для всех файлов с именем, начинающегося с d3d достаточно поставить DirectX с официального сайта Microsoft, для msvc — одну из версий Visual Studio Redistributable. (А если не запускается какая-то игра с торрента, то загляни-ка в отчеты антивируса, он мог удалить нужные DLL, это часто бывает с некоторыми модифицированными библиотеками).
- Обычно, вместо регистрации DLL срабатывает размещение файла в одной папке с исполняемым файлом exe, который требует эту библиотеку.