Все сторонние программы так или иначе используют ресурсы операционной системы, в частности, динамические библиотеки. Нельзя, однако, сказать, что Windows располагает всеми необходимыми DLL, от того нередки случаи, когда при запуске или установке той или иной программы либо игры ПО выдает ошибку «такой-то DLL не найден». Решается проблема установкой соответствующих компонентов Microsoft Visual C++, DirectX или .NET Framework.
В крайнем случае отсутствующий файл DLL скачивается со свободного ресурса и регистрируется в системе в ручном режиме с помощью штатной консольной утилиты regsvr32.exe.
Минусом этого способа является высокая вероятность получения ошибок регистрации, например, «…точка входа DLL не найдена» или «не удалось загрузить модуль».
Также при попытке установить динамическую библиотеку вы можете получить ошибку «Возможно, модуль DLL не совместим с версией Windows, работающей на этом компьютере». Причина этой ошибки обычно указывается тут же в окне с уведомлением в виде рекомендации проверить совместимость DLL-модуля с используемой версией regsvr32.exe.
Итак, речь идет о несовместимости утилиты regsvr32.exe с регистрируемой библиотекой, только вот одного этого понимания еще недостаточно для устранения неполадки.
Во-первых, вы можете не знать разрядность DLL или архитектуру, под которую она писалась; во-вторых, для регистрации библиотеки одной разрядности, вы можете использовать утилиту regsvr32.exe другой разрядности.
Поэтому, перед тем как приступать к ручной установке DLL, необходимо уяснить для себя несколько правил.
- Большинство программ и игр используют для своей работы именно 32-битные DLL, причем даже в 64-битных операционных системах.
- Если вы не знаете разрядность DLL, скачайте с сайта разработчика www.winitor.com утилиту Pestudio, запустите и перетащите на ее окно проверяемую библиотеку. Тулза выдаст вам полный набор сведений о DLL, в том числе и ее разрядность.
- Библиотеки x64 располагаются в папке %windir%\System32, а библиотеки x32 — в папке %windir%\SysWOW64. Соответственно, устанавливаемую DLL x64 нужно помещать в первую папку, а DLL x32 — во вторую.
- Для регистрации DLL x64 необходимо использовать 64-битную версию regsvr32.exe из папки System32, а для регистрации DLL x32 — 32-битную версию regsvr32.exe из папки SysWOW64.
- Если запустить утилиту regsvr32.exe (в командной строке или окошке «Выполнить»), не указав к ней полный путь, по умолчанию будет запущена 64-разрядрная версия инструмента. Хотите зарегистрировать 32-битную библиотеку, указывайте к утилите-регистратору полный путь.
- В 32-битных системах доступна только 32-битная версия regsvr32.exe, зарегистрировать с ее помощью DLL x64 не получится.
Следуйте этому простому набору правилу, и вам не придется сталкиваться с проблемами несовместимости DLL при их регистрации в ручном режиме.
Добавить комментарий