Как зарегистрировать DLL в Windows

Среди частых вопросов пользователей, особенно после того, как они сталкиваются с тем, что какая-то из библиотек DLL отсутствует в Windows 10, Windows 11 или других версиях системы — как зарегистрировать DLL в соответствующей версии ОС.

В данной инструкции подробно описано, как зарегистрировать DLL в Windows x64 и x86 (32 bit) с помощью regsvr32.exe (и коротко о regasm.exe), о возможных нюансах и проблемах, которые могут возникнуть в процессе.

Регистрация DLL в Windows 10, Windows 11 и предыдущих версиях системы

Дальнейшие действия описаны с предположением, что DLL, которую необходимо зарегистрировать, находится в нужной папке: папка C:\Windows\System32, C:\Windows\SysWOW64 или в некоторых случаях — некоторые папки программы, к которой относится соответствующая библиотека, например для 1С — C:\Program Files\1cv8\version number\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.

Сам процесс регистрации обычно состоит из следующих шагов:

  1. Нажмите клавиши Win+R На клавиатуре (Win — это клавиша с логотипом Windows). Вы также можете щелкнуть правой кнопкой мыши на кнопке Пуск в Windows 11 или Windows 10 и выбрать пункт Выполнить в контекстном меню.
  2. Введите команду regsvr32.exe путь_к_файлу (если путь к файлу содержит пробелы, возьмите весь путь в кавычки), например, для регистрации DLL COMCNTR.DLL в 1С (для 64-бит) команда может выглядеть следующим образом:
    regsvr32.exe "C:\Program Files\1cv8\8.3.19.1150\bin\comcntr.dll"

    Если DLL находится в System32, то не нужно указывать полный путь, достаточно простого имени файла, как на картинке ниже. Регистрация DLL с помощью regsvr32

  3. Нажмите OK или Enter.
  4. В случае успеха вы получите сообщение вида "Successful execution of DllRegisterServer in file_name.Dll" или "Успешная регистрация DllRegisterServer и DllInstall в имени_файла.dll". Успешная регистрация DLL

Возможна и неудача — сообщение об ошибке "Модуль dll загружен, но точка входа DllRegisterServer не найдена. Проверьте, является ли файл действительным DLL или OCX файлом и повторите попытку". Подробнее об ошибке читайте в следующей статье.

Ошибка регистрации regsvr32 точка входа DllRegisterServer не найдена

Почему я не могу зарегистрировать библиотеки DLL?

Ошибка при регистрации с помощью regsvr32 вида "Точка входа DllRegisterServer не найдена" указывает на то, что данная DLL не поддерживает регистрацию описанным методом. Вы можете попробовать вариант команды:

regsvr32 /i /n путь_к_файлу.dll

Но, скорее всего, и это не поможет.

Большинство домашних пользователей сталкиваются с этой проблемой при регистрации DLL файлов для игр и программ, часто не полностью лицензионных, которые сообщают, что требуемый DLL файл не найден или отсутствует. А сами DLL обычно скачиваются со сторонних сайтов (и чаще всего имеют имена, начинающиеся с "vc", "msvc" или "d3d"). Решение обычно простое — выясните, в какой набор компонентов входит эта DLL, и установите эти компоненты с помощью их собственного установщика. Более подробно проблема и подходы к решению описаны в инструкции DllRegisterServer Login Point Not Found — Causes and Possible Solutions.

Видео

Надеемся, что цель достигнута и количество вопросов, связанных с регистрацией DLL в Windows, уменьшилось.

Оцените статью
Добавить комментарий