Что нужно знать
- Чтобы зарегистрировать файл DLL myfile.dll, введите regsvr32 myfile.dll, а чтобы отменить его регистрацию, введите r egsvr32 /u myfile.dllв командную строку.
- Если вы получаете сообщение об ошибке при попытке зарегистрировать файл DLL, возможно, у вас нет правильных разрешений или файл может быть заблокирован.
- Другие ошибки могут быть связаны с отсутствующей зависимостью; если это так, используйте Dependency Walker, чтобы увидеть все зависимости, которые требуются файлу DLL.
В этой статье объясняется, как использовать инструмент командной строки regsvr32 в Windows и как исправить некоторые ошибки regsvr32. Regsvr32 используется для регистрации и отмены регистрации элементов управления связыванием и внедрением объектов (OLE), таких как файлы DLL и элементы управления ActiveX.файлы ОСХ. Вам может потребоваться зарегистрировать файл 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
Не все библиотеки DLL можно зарегистрировать, просто введя приведенную выше команду в командную строку. Возможно, вам придется сначала закрыть службу или программу, использующую файл.
Как исправить распространенные ошибки Regsvr32
Вот одна ошибка, которую вы можете увидеть при попытке зарегистрировать файл DLL:
Модуль был загружен, но вызов DllRegisterServer завершился неудачно с кодом ошибки 0x80070005.
Обычно это проблема разрешения. Если запуск командной строки с повышенными привилегиями по-прежнему не позволяет зарегистрировать файл DLL, возможно, сам файл заблокирован. Проверьте раздел «Безопасность» на вкладке «Общие» в окне свойств файла.
Еще одна возможная проблема может заключаться в том, что у вас нет необходимых прав для использования файла.
Похожее сообщение об ошибке сформулировано так же, как приведенное ниже. Эта ошибка обычно означает, что библиотека DLL не используется в качестве библиотеки COM для какого-либо приложения на компьютере, а значит, нет необходимости ее регистрировать.
Модуль был загружен, но точка входа DllRegisterServer не найдена.
Вот еще одно сообщение об ошибке regsvr32:
Не удалось загрузить модуль. Убедитесь, что двоичный файл хранится по указанному пути, или отладьте его, чтобы проверить наличие проблем с двоичными или зависимыми файлами. DLL. Не удалось найти указанный модуль.
Эта конкретная ошибка может быть связана с отсутствующей зависимостью, и в этом случае вы можете использовать Dependency Walker, чтобы увидеть список всех зависимостей, которые требуются для файла DLL, так как может отсутствовать одна из них, которая вам нужна для того, чтобы для правильной регистрации DLL.
Также убедитесь, что путь к файлу DLL указан правильно. Синтаксис команды очень важен; ошибка может быть выдана, если он введен неправильно.
Некоторым файлам DLL может потребоваться заключить свое местоположение в кавычки, например:
"C:\Users\Admin User\Programs\myfile.dll"
Где хранится Regsvr32.exe?
32-разрядные версии Windows (XP и новее) добавляют средство сервера регистрации Microsoft в эту папку при первой установке Windows: %systemroot%\System32\.
64-битные версии Windows хранят файл regsvr32.exe не только там, но и здесь: %systemroot%\SysWoW64\.