Что такое Regsvr32? (Microsoft Register Server)

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

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

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

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

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

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

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

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

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

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

regsvr32 myfile.dll
regsvr32 / u myfile.dll

Другие параметры, которые вы можете использовать с regsvr32, можно увидеть на странице Microsoft Regsvr32.

Не все библиотеки 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 в папку% systemroot% \ System32 \ при первой установке Windows.

64-разрядные версии Windows хранят файл regsvr32.exe не только там, но и в% systemroot% \ SysWoW64 \.

Ссылка на основную публикацию