Что такое Regsvr32? (Сервер регистрации Microsoft)

regsvr32 — это инструмент командной строки в Windows, обозначающий Microsoft Register Server. Он используется для регистрации и отмены регистрации элементов управления связыванием и внедрением объектов (OLE), таких как файлы .DLL и файлы .OCX элементов управления ActiveX.

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

Вам может потребоваться зарегистрировать файл DLL, если вы видите ошибку DLL на вашем компьютере. Ниже мы объясним, как это сделать.

Эти шаги применимы к Windows 10 через Windows XP.

Как зарегистрировать и отменить регистрацию файла DLL

Если ссылки в реестре Windows, которые относятся к файлу DLL, каким-то образом удалены или повреждены, программы, которым необходимо использовать этот файл DLL, могут перестать работать. Когда эта ассоциация с реестром нарушается, необходимо зарегистрировать файл DLL.

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

См. Наше руководство о том, как открыть командную строку, если вы не знаете, как ее найти.

Это правильный способ структурировать команду regsvr32:

regsvr32 [/ u] [/ n] [/ i [: cmdline]]

Например, вы должны ввести эту первую команду, чтобы зарегистрировать файл DLL с именем myfile.dll, или вторую, чтобы отменить его регистрацию:

regsvr32 myfile.dll
regsvr32 / u myfile.dll

Не все библиотеки DLL можно зарегистрировать, просто введя указанную выше команду в командную строку. Возможно, вам потребуется сначала закрыть службу или программу, использующую файл.

Как исправить распространенные ошибки Regsvr32

Вот одна ошибка, которую вы можете увидеть при попытке зарегистрировать файл DLL:

Модуль был загружен, но вызов DllRegisterServer завершился неудачно с кодом ошибки 0x80070005.

Обычно это проблема с разрешением. Если запуск командной строки с повышенными привилегиями по-прежнему не позволяет зарегистрировать файл DLL, сам файл может быть заблокирован. Проверьте раздел Безопасность на вкладке Общие в окне свойств файла.

Другая возможная проблема может заключаться в том, что у вас нет правильных разрешений на использование файла.

Формулировка аналогичного сообщения об ошибке аналогична приведенному ниже. Эта ошибка обычно означает, что DLL не используется как COM-DLL для какого-либо приложения на компьютере, что означает, что нет необходимости регистрировать ее.

Модуль загружен, но точка входа DllRegisterServer не найдена.

Вот еще одно сообщение об ошибке regsvr32:

Модуль не загрузился. Убедитесь, что двоичный файл хранится по указанному пути, или выполните отладку, чтобы проверить наличие проблем с двоичными или зависимыми файлами .DLL. Указанный модуль не может быть найден.

Эта конкретная ошибка может быть связана с отсутствующей зависимостью, и в этом случае вы можете использовать инструмент Dependency Walker, чтобы просмотреть список всех зависимостей, которые требует файл DLL, поскольку может отсутствовать одна из тех, которые вам нужны для того, чтобы DLL могла зарегистрируйтесь правильно.

Также убедитесь, что путь к файлу DLL указан правильно. Синтаксис команды очень важен; может возникнуть ошибка, если она введена неправильно.

Некоторым файлам DLL может потребоваться заключить их местоположение в кавычки, например:

"C: Users Admin User Programs myfile.dll"

Где хранится Regsvr32.exe?

32-разрядные версии Windows (XP и новее) добавляют инструмент Microsoft Register Server в эту папку при первой установке Windows:

% systemroot% System32

64-битные версии Windows хранят файл regsvr32.exe не только там, но и в этой папке:

% systemroot% SysWoW64