В операционных системах Microsoft Windows, regsvr32 это утилита командной строки, используемая для регистрации и отмены регистрации элементов управления OLE, таких как DLL и элементы управления ActiveX в реестре Windows. Например, DDL, который будет использоваться с regsvr32, должен экспортировать функции DllRegisterServer и DllUnregisterServer. Этот инструмент может потребовать устранения некоторых проблем в Windows, Microsoft Internet Explorer или других программах.
Regsvr32 в Windows
Regsvr32.exe входит в состав Microsoft IE 3.0 или новее, Windows 95 OSR2 или более поздней версии и Windows NT 4.0 с пакетом обновления 5. Regsvr32.exe либо установлен в системной папке (Windows Me / Windows 98 / Windows 95) или System32 (Windows NT / Windows XP / Windows Vista / Windows 7).
Команда и использование Regsvr32
1. Параметры командной строки RegSvr32.exe:
Regsvr32 [/u] [/n] [/i [: cmdline] DllName
2. Параметры:
- / u: он отменит регистрацию файла.
- / s: Запускает regsvr32 тихо и не отображает никаких сообщений.
- / n: не вызывает DllRegisterServer. Этот параметр следует использовать с / i.
- / i: cmdline: он вызывает DllInstall, передавая ему необязательный [cmdline]. При использовании с / u он вызывает удаление dll.
- dllname: Указывает имя файла dll, который будет зарегистрирован.
Например, чтобы вручную зарегистрировать и отменить регистрацию DLL-файла shm.dll, мы можем сделать следующее в CMD:
- regsvr32 shm.dll для регистрации файла.
- regsvr32 / u shm.dll для удаления файла.
Сообщения об ошибках Regsvr32.exe
1. Список сообщений об ошибках, вызванных Regsvr32.exe в Windows Vista или более поздней версии.
Следующий список содержит сообщения об ошибках RegSvr32 и возможные причины:
- Недопустимый флаг команды "% 1" ". Проверьте использование команды и повторите попытку.
- Эта команда действительна только в том случае, если открыт проект пользовательского контроля Microsoft Visual Studio OLE.
- Чтобы зарегистрировать модуль, вы должны указать двоичное имя.
- Не удалось выполнить команду OleInitialize. Возможно, на вашем компьютере может быть недостаточно памяти. Закройте все открытые программы и повторите попытку.
- Не удалось загрузить модуль «% 1». N n Убедитесь, что двоичный файл хранится по указанному пути или отлаживает его для проверки проблем с двоичными или зависимыми.DLL-файлами. N n% 2.
- Модуль «% 1» «был загружен, но точка входа% 2 не найдена. N nУбедитесь, что« "% 1" "является допустимым DLL или OCX-файлом, а затем повторите попытку.
- Модуль «% 1» был загружен, но вызов% 2 завершился с кодом ошибки% 3. N nДля получения дополнительных сведений об этой проблеме выполните поиск в Интернете с помощью кода ошибки в качестве условия поиска.
- Модуль «% 1» «может не совместиться с версией Windows, в которой вы работаете. Проверьте, совместим ли модуль с x86 (32-разрядной) или x64 (64-разрядной) версией regsvr32.exe.
2. Список сообщений об ошибках, вызванных Regsvr32.exe в ОС до Windows Vista
Следующий список содержит сообщения об ошибках RegSvr32 и возможные причины:
- Неопознанный флаг: / invalid_flag.
- Имя DLL не указано.
- Dllname было загружено, но точка входа DllRegisterServer или DllUnregisterServer не найдена.
- Dllname не является исполняемым файлом, и для этого типа файлов регистрация не зарегистрирована.
- Dllname было загружено, но точка входа DllRegisterServer или DllUnregisterServer не найдена.
- Dllname не является самонастраиваемым или поврежденная версия находится в памяти.
- OleInitialize failed (или OleUninitialize не удалось).
- Ошибка LoadLibrary ("Dllname"). GetlastError возвращает 0x00000485.
- Ошибка LoadLibrary ("Dllname"). GetLastError возвращает 0x00000002.
- Ошибка LoadLibrary ("dskmaint.dll"). GetLastError возвращает 0x000001f.
- DllRegisterServer (или DllUnregisterServer) в Dllname не удалось. Код возврата: string.
Вы можете найти Regsvr32.exe, установленный в система (Windows Me / Windows 98 / Windows 95) или System32 (Windows NT / Windows XP / Windows Vista / Windows 7), а в 64-разрядной версии Windows вы найдете две версии Regsv32.exe, а именно: 64-разрядная версия находится в % SystemRoot% System32 regsvr32.exe и 32-разрядная версия находится в % SystemRoot% SysWoW64 regsvr32.exe объясняет KB249873.