Регистрилка dll программа autoreg32
Причины: 64-бит (x64) и 32-бит (x86) версии DLL библиотек и regsvr32.exe
Если у вас Windows 11, Windows 10, 8.1 или Windows 7 x64, при установке файлов DLL следует учитывать следующие несколько моментов:
- Файлы DLL с одним названием могут быть 32-бит и 64-бит, большинство библиотек DLL поставляются разработчиком в двух версиях. Но если вы скачиваете такие файлы со сторонних сайтов в Интернете, разрядность может и не указываться.
- В 64-разрядных системах DLL библиотеки x64 располагаются в папке C:\Windows\System32, а библиотеки x86 (32-бит) — в папке C:\Windows\SysWOW64, хотя из имён папок у начинающего пользователя может сложиться обратное предположение.
- Для исправления ошибок, связанных с отсутствием файлов DLL даже в x64 Windows часто требуются 32-бит файлы DLL, а не 64-бит. Для совместимости и упрощения разработки некоторые игры и программы выпускаются только в варианте x86 и используют соответствующие библиотеки даже в x64 системах.
- В 64-разрядных версиях Windows присутствует два варианта утилиты regsvr32.exe с одним названием файла: одна 64-бит, другая — 32-бит и каждая служит для регистрации файлов DLL соответствующей разрядности.
- Когда вы запускаете regsvr32.exe без указания пути к ней, в x64 системах по умолчанию запускается x64-версия этого инструмента.
- Существуют arm-64 версии библиотек DLL, предназначенные для устройств с ARM-процессорами. Установить их на системах с обычными процессорами Intel или AMD не получится.
В ситуации, когда на вашем компьютере установлена 32-бит (x86) версия Windows, в ней присутствует лишь папка System32 с 32-битными файлами DLL и только 32-битный вариант regsvr32.exe. Использовать x64-версии библиотек DLL в такой Windows не получится.
Здесь мы разобрали все пункты, которые позволят яснее понять, почему выполняются те или иные действия из следующего раздела инструкции об исправлении ошибки.
В случае с 32-разрядной версией Windows всё просто: для исправления ошибки необходимо заменить файл DLL его x86-версией, после чего повторить команду. Если на вашем компьютере установлена Windows 11, 10, 8.1 или Windows 7 x64, используйте следующие шаги:
Пока что речь шла лишь об одной ошибке, текст которой вынесен в заголовок статьи. Думаю, к этому моменту мы с ней справились. Однако, с большой вероятностью, сразу после решения этой проблемы вы столкнётесь с другой, о которой в отдельной инструкции: Модуль загружен, но точка входа DllRegisterServer не найдена.
Среди частых вопросов пользователей, особенно после того, как они сталкиваются с тем, что какая-то из библиотек DLL отсутствует в Windows 10, Windows 11 или других версиях системы — как зарегистрировать DLL в соответствующей версии ОС.
В этой инструкции подробно о способах регистрации библиотек DLL в Windows x64 и x86 (32-бит) с помощью regsvr32.exe (и кратко о regasm.exe), о возможных нюансах и проблемах, которые могут возникнуть в процессе.
Дальнейшие шаги описаны в предположении, что DLL, которую нужно зарегистрировать, уже находится в нужном расположении: папке C:\Windows\System32, C:\Windows\SysWOW64 или, в некоторых случаях — отдельных папках программ, к которой относится соответствующая библиотека, например, для 1С — C:\Program Files\1cv8\номер_версии\bin (или Program Files x86 в случае 32-битной версии).
Прежде чем приступить к регистрации библиотеки, учитывайте следующие моменты:
- В x64 версиях Windows 64-битные DLL хранятся в System32, а 32-битные — в SysWOW64 (у некоторых начинающих пользователей бывает обратное предположение исходя из имён папок).
- Файлы DLL x64 и x86 (32-бит) — это разные файлы. И если прямого указания на разрядность в месте загрузки файла нет, то чаще это 32-битный файл (что не мешает ему работать в x64 системе), но это не всегда так.
- Для регистрации библиотеки DLL используется системный инструмент regsvr32.exe, который также доступен в двух версиях, которые лежат в папках System32 и SysWOW64 (в случае 64-битных систем). По умолчанию при описываемых далее действиях запускается x64 версия.
- 32-битным программам и играм (по умолчанию устанавливаются в Program Files x86 в 32-битных системах) для работы нужны 32-битные DLL, не зависимо от разрядности Windows.
Сам процесс регистрации в общем случае состоит из следующих шагов:
Почему не удается зарегистрировать DLL
Ошибка при регистрации с помощью regsvr32 вида «Точка входа DllRegisterServer не найдена» говорит о том, что эта библиотека DLL не поддерживает регистрацию описанным методом. Можно попробовать использовать вариант команды:
но с большой вероятностью и это не поможет.
У большинства домашних пользователей такая проблема возникает при регистрации файлов DLL для игр и программ, часто не вполне лицензионных, которые сообщили, что нужный файл DLL не обнаружен или отсутствует. Причем сами библиотеки DLL обычно скачаны со сторонних сайтов (и чаще всего имеют имена начинающиеся с «vc», «msvc» или «d3d»). А решение, как правило, простое — выяснить, частью какого набора компонентов является эта DLL и установить эти компоненты с помощью их собственного установщика. Более подробно проблема и подходы к решению описаны в инструкции Точка входа DllRegisterServer не найдена — причины и возможные решения.
Видео
Надеюсь, цель достигнута, а количество вопросов, связанных с регистрацией DLL в Windows, уменьшилось.
Что значит точка входа DllRegisterServer не найдена
Файлы библиотек DLL в общем случае представляют собой наборы программных функций, иногда — ресурсов, которые могут быть вызваны из других программ Windows 10 и предыдущих версий.
Когда в командной строке от имени администратора вы вводите команду regsvr32 имя_файла.dll, программа regsvr32.exe ищет и пробует вызвать функцию DllRegisterServer из указанного вами файла DLL для регистрации сервера, не находит её и сообщает об ошибке «Точка входа DllRegisterServer не найдена».
Почему так происходит? Потому что далеко не все DLL содержат такую функцию и не все библиотеки можно установить в системе с помощью regsvr32.exe, а рекомендации использовать команду для регистрации DLL во многих инструкциях вводят в заблуждение и неприменимы.
Для исправления проблемы можно предложить следующие подходы:
- Попробовать использовать ту же команду, но с дополнительными параметрами для установки файла DLL (перед слэшами и именем файла пробелы):При использовании этих ключей, поиск процедуры DllRegisterServer выполняться не будет, вместо этого будет использоваться DllInstall. Но и её может не оказаться в файле и это нормально.
- Разобраться, что это за файл DLL и устанавливать его правильно, обычно в составе набора компонентов, содержащих этот файл, при условии, что это требуется. Что имеется в виду? Например, при проблемах с файлами, имена которых начинаются с msvc, как правило требуется установить нужную версию распространяемых компонентов Visual C++ (причем для x64 систем часто нужно устанавливать также и x86 или 32-бит версии), для файлов с именами dx — установить недостающие библиотеки DirectX, используя веб-установщик от Microsoft, а для файлов unarc.dll, ISDone.dll обычно и вовсе не требуется установка каких-либо файлов и дело не в них.
- Иногда может сработать следующий подход: просто копируем файл .dll в ту же папку, где находится файл .exe программы или игры, которая сообщает об ошибке.
- Использовать поиск у меня по сайту, указав имя DLL, из-за которой происходит ошибка: по большинству наиболее часто встречающихся у меня есть подробные инструкции с указанием, какие именно компоненты необходимо установить.
Важный момент по всем пунктам: файлы DLL для x64 и 32-бит (x86) систем отличаются даже при одинаковом имени, при этом даже в 64-бит Windows 10, 8.1 или Windows 7 для работы какой-то программы может требоваться DLL для 32-бит, а с DLL для x64 она может не запускаться.
Видео инструкция
Также вы можете описать вашу проблему с DLL в комментариях, а я постараюсь подсказать решение.
Когда пользователь запускает игры или программы, то может столкнуться с ошибкой, что не удалось запустить программу, так как на компьютере отсутствует DLL файл. В большинстве случаях, регистрация указанного DLL файла может устранить данную ошибку. Также, иногда бывают моменты, когда библиотеку нужно перезарегистрировать заново, т.е. отменить текущую регистрацию и заново зарегистрировать.
Воспользуемся инструментом Regsvr32 командной строки, который регистрирует и отменяет регистрацию DLL библиотек и ActiveX (OCX) в Windows 10/8.1/7.
Отмена и повторная регистрация DLL библиотеки
Путь к DLL библиотеке можно скопировать, чтобы не писать его вручную в командой строке. Для этого, зажмите левый Shift и нажмите правой кнопкой мыши по DLL фалу, после чего "Копировать как путь".
Наберите в поиске "Командная строка" и нажмите по ней правой кнопкой мыши, после чего выберите "Запустить от имени администратора" и вводите ниже команды, которые вам необходимы.
В командную строку введите следующую команду, чтобы зарегистрировать DLL библиотеку в системе Windows.
Отменить регистрацию файла DLL
Чтобы отменить текущую регистрацию DLL файла, введите ниже команду и нажмите Enter:
Перерегистрировать все файлы dll
Чтобы зарегистрировать все файлы dll в системе Windows, то:
- Если 32-разрядная DLL находится в папке System32, то переместите ее в папку SysWoW64 и введите ниже команду.
или
Что нужно учесть?
1. В 64-разрядной версии операционной системы Windows существует две версии файла Regsv32.exe:
- 64-разрядная версия - это %systemroot%\System32\regsvr32.exe
- 32-разрядная версия - это % systemroot%\ SysWoW64\regsvr32.exe.
2. В 64-разрядной версии Windows, 32-разрядные файлы DLL всегда находятся в папке Windows\SysWOW64. В то время как 64-битные библиотеки DLL находятся в папке Windows\System32. В 32-битной версии Windows, файлы DLL находятся только в папке Windows\System32. Здесь не будет папки SysWOW64.
3. Если вы получаете ошибки, такие как DllRegisterServer, модуль несовместим с версией Windows или точка входа не найдена, то знайте:
- Много DLL библиотек, таких как d3dx9_43.dll, MSVCR71.dll, VCRUNTIME140.dll, находятся в сторонних компонентах как DirectX, NET Framework и Visual C++, которые нужно скачать на сайте Microsoft и установить. Вы можете в интернете почитать о самом файле, к чему он относится. Также, можете воспользоваться поиском на этом сайте, так как я много описывал решений о проблемах с DLL файлами.
- Отмените регистрацию и зарегистрируйте DLL файл повторно.
4. Отключите на время контроль учетных записей ( UAC ) во время регистрации DLL, так как он может мешать процессу.
Ошибка: Точка входа не найдена в библиотеке dll
Способ 1. Во первых, переустановите саму программу еще раз и проверьте устранена ли проблема. Далее обновите систему Windows до последней версии. И конечно же, это может быть вирус. Воспользуйтесь антивирусным сканером .
Способ 2. Если DLL файлы повреждены, то есть смысл воспользоваться встроенными инструментами CHKDSK, SFC и DISM для восстановления системных файлов и проверки диска на ошибки. Вводите по одной команде и перезагружайте ПК, после каждого законченного процесса. Откройте командную строку от имени администратора и введите команды ниже:
- chkdsk /f /r /x - проверка диска на ошибки.
- sfc /scannow - проверка системных файлов.
- DISM /Online /Cleanup-Image /RestoreHealth - восстановление из образа.
Способ 2. Иногда нужно зарегистрировать заново dll файл. Для этого откройте командную строку от имени администратора и введите команду:
Где kernel32.dll это предполагаемый файл, который выдает ошибку. Этот способ также помогает, когда вы скопировали файл с другого ПК и его нужно зарегить в системе.
Способ 3. Попробуйте найти файл, который выдает ошибку, на другом ПК или попросите у знакомого, чтобы скинул. Ни в коем случае не скачивайте отдельный файл со сторонних источников. Пути файлов можно посмотреть в свойствах файла. Когда вы скопируйте к себе файл, то его нужно будет зарегистрировать способ выше (способ 2).
Способ 4. Не установленный пакета Visual C++ , может выдавать эту ошибку. Также, в некоторых случаях нужно два типа пакета Visual C++ x32-бита и x64-бита. К примеру, если у вас точка входа не найдена в библиотеке DLL и указано имя файла msvcr120.dll, то нужно установить Visual C ++ 2013. Это можно посмотреть в свойствах самого DLL файла во вкладке "Подробно". Скачайте с официально сайта Microsoft набрав определенную версию пакета в Google поиске и установите сразу два типа x32-бита и x64-бита.
Способ 5. Проверьте оперативную память на ошибки. Нажмите Win+R и введите mdsched.exe. Далее следуйте инструкциям на экране и после перезагрузки ПК начнется диагностика ОЗУ. Это руководство поможет вам диагностировать ошибки в ОЗУ .
Читайте также: