REGSVR32 – регистрация или отмена регистрации библиотеки DLL в реестре Windows.
Модель многокомпонентных объектов ( C omponent O bject M odel — СОМ ) является основным средством взаимодействия программ любых типов: библиотек, приложений, системного программного обеспечения и т.п. и определяет стандартный механизм, с помощью которого одна часть программного обеспечения ( сервер ) предоставляет свои сервисы другой ( клиент ) , что обеспечивается применением определенных протоколов взаимодействия между ними ( между клиентом и сервером). В качестве сервера может использоваться динамически подключаемая библиотека (DLL), подгружаемая во время работы приложения, либо отдельный самостоятельный процесс, который может быть компонентом прикладной или системной программы, или даже процесс, выполняющийся на другом компьютере. Для нахождения нужного клиенту сервера, используется специальная информация из реестра Windows, которая формируется в при регистрации сервера в системе, чаще всего, в виде модуля динамически загружаемой библиотеки DLL. Регистрация необходима, поскольку программы работают не с самими файлами DLL, OCX, ACX, EXE, а с объектами, представляющими определенный набор программных интерфейсов. Для регистрации DLL используется следующие разделы реестра:
HKLM\SOFTWARE\Classes\CLSID – при регистрации COM-объектов библиотек для всех пользователей системы;
HKCU\SOFTWARE\Classes\CLSID – при регистрации COM-объектов библиотек только лишь для текущего пользователя;
HKLM\SOFTWARE\Wow6432Node\Classes\CLSID – для регистрации 32-битных DLL в 64-битных ОС Windows;
При регистрации, в указанном разделе реестра создается ключ с именем, эквивалентным глобальному уникальному идентификатору GUID регистрируемого оюъекта. GUID применительно к СОМ, является идентификатором класса. Чтобы отличать идентификаторы классов от других идентификаторов, для них используют подраздел реестра с именем CLSID . GUID представляет собой 128-разядное 16-ричное значение, заключенное в фигурные скобки:
При регистрации в реестре создается подраздел с именем, соответствующим идентификатору GUID, содержащий информацию о пути и имени исполняемого файла, его версии, времени регистрации, сведения о разработчике, и прочие параметры, определяющие специфические свойства регистрируемого объекта. Удаление или повреждение данных регистрации приводит к неработоспособности зарегистрированного компонента системы или прикладной программы, что, как правило, сопровождается сообщением об ошибке поиска DLL и предложением переустановить проблемное программное обеспечение. Вместо переустановки вполне можно обойтись перерегистрацией поврежденного объекта с помощью утилиты regsvr32.exe , имеющейся во всех версиях операционных систем семейства Windows .
Утилита regsvr32.exe является стандартной программой командной строки для регистрации и отмены регистрации элементов управления OLE, ActiveX и библиотек DLL в реестре Windows. В 64-разрядных версиях Windows присутствуют две версии файла regsv32.exe :
– 64-разрядная версия в каталоге %systemroot%\System32 (обычно – C:\Windows\System32)
– 32-разрядная версия в каталоге %systemroot%\SysWoW64 (обычно – C:\Windows\SysWoW64)
Для работы утилиты требуются повышенные привилегии, поэтому окно командной строки должно вызываться с правами администратора ( ”Запуск от имени администратора”).
При запуске regsvr32.exe без параметров командной строки, либо при запуске с неверными параметрами, отображается подсказка:
Формат командной строки REGSVR32:
Regsvr32 [/u] [/s] [/n] [/i[:строка_команд]] DLL-файл
/u — – вызывает DllUnInstall, отменяет регистрацию сервера
/i — вызывает DllInstall, передавая ей в параметре необязательную строку_команд;
/n — не вызывает DllRegisterServer; может использоваться с ключом /I;
/s – “тихий” режим; окна сообщений не отображаются;
Примеры использования regsvr32.exe :
regsvr32 /u “C:\Program Files\7-Zip\7-zip32.dll” – отменить регистрацию указанной DLL. При успешной отмене отображается сообщение:
Для подавления вывода сообщения, используется параметр /s :
regsvr32 /u /s “C:\Program Files\7-Zip\7-zip.dll”
В результате выполнения данной команды, из контекстного меню Проводника Windows, вызываемого правой кнопкой мышки, исчезнет пункт архиватора 7-Zip. Для его восстановления необходимо выполнить регистрацию 7-zip.dll командой:
regsvr32 “C:\Program Files\7-Zip\7-zip.dll”
Необходимо не забывать о разрядности регистрируемых объектов в 64-разрядных версиях ОС. В случае необходимости регистрации 32-разрядного объекта, нужно явно указать путь для 32-битной редакции утилиты regsvr32 :
Или без использования переменных окружения:
В качестве дополнительного программного средства для управления регистрацией объектов COM, очень удобно пользоваться бесплатной утилитой от Nirsoft RegDLLView.exe . Программа не требует установки в системе, имеет небольшой размер и позволяет:
– Получить в удобном виде список всех зарегистрированных в системе объектов.
– Сохранить в текстовом файле или в HTML-формате параметры всех или выделенных из списка зарегистрированных DLL.
– Выполнить регистрацию или отмену регистрации выбранных объектов.
– Создать reg-файл для выполнения отмены регистрации одной или нескольких DLL.
– Зарегистрировать или перерегистрировать указанный файл.
Кроме того, имеется возможность проверить цифровые подписи исполняемых файлов зарегистрированных объектов, просмотреть или изменить их свойства, а также выполнить запуск редактора реестра с отображением информации выбранного GUID через пункт контекстного меню ”Open in Regedit”, вызываемого правой кнопкой мышки.
Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках
Windows 10 Pro released in July 2015 Windows Vista Enterprise Windows Vista Business Windows Vista Home Basic Windows Vista Home Premium Windows Vista Ultimate Microsoft Windows XP Home Edition Microsoft Windows XP Professional Microsoft Windows XP Tablet PC Edition Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Ultimate Windows 8 Windows 8 Enterprise Windows 8 Pro Windows 8.1 Windows 8.1 Enterprise Windows 8.1 Pro Еще. Меньше
Если вы получили сообщение об ошибке, описания которого нет в этой статье, можно найти его подробное объяснение, рекомендуемые действия и список дополнительных ресурсов поддержки на странице ошибок и событий TechNet.
Аннотация
Regsvr32 — это служебная программа командной строки для регистрации и отмены регистрации элементов управления OLE, например ActiveX и библиотеки DLL в реестре Windows. Средство Regsvr32.exe установлено в папке %systemroot%\System32 в ОС Windows XP и более поздних версиях Windows.
Примечание. В 64-разрядных версиях Windows есть две версии файла Regsv32.exe:
- 64-разрядная версия — %systemroot%\System32\regsvr32.exe;
- 32-разрядная версия — %systemroot%\SysWoW64\regsvr32.exe.
Синтаксис команды Regsvr32
Программа RegSvr32.exe имеет следующие параметры командной строки.
Regsvr32 [/u] [/n] [/i[:строка_команд]] DLL-файл
/u — отменяет регистрацию сервера
/i — вызывает DllInstall, передавая ей в параметре необязательную строку_команд; при использовании с ключом /u вызывает DllUnInstall.
/n — не вызывает DllRegisterServer; это может использоваться с ключом /i
/s – “тихий” режим; окна сообщений не отображаются
Типичные решения ошибок Regsvr32
При появлении ошибки Regsvr32 попробуйте устранить ее одним из следующих способов.
- Способ 1. Повторный запуск команды Regsvr32 в командной строке с повышенными привилегиямиЧтобы открыть командную строку с повышенными привилегиями, выполните указанные ниже действия. Windows 8.1 и Windows 8Проведите пальцем от правого края экрана к центру и коснитесь кнопки Поиск. Либо, если вы используете мышь, переместите указатель в правый нижний угол экрана и щелкните кнопку Поиск. Введите запрос Командная строка в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить. Windows 7 и Windows VistaНажмите кнопку Пуск, введите запрос Командная строка или cmd в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, а затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить. Windows XPВойдите в систему в качестве администратора или с другой учетной записью с правами администратора и откройте окно “Командная строка”.
- Способ 2. Использование 32-разрядной версии Regsvr32 для регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС WindowsЕсли при регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС Windows появляется ошибка, выполните следующие действия.
- Откройте командную строку с повышенными привилегиями.
- Если 32-разрядная библиотека DLL находится в папке %systemroot%\System32, переместите ее в папку %systemroot%\SysWoW64.
- Выполните следующую команду:
%systemroot%\SysWoW64\regsvr32
Как в Windows 11 зарегистрировать dll-файл?
Как уже стало известно, операционная система Windows 11 будет распространяться только в одном варианте – 64-разрядном. Однако, 32-разрядные программы все же будут поддерживаться в данной операционной системе. Как будут работать такие программы – неизвестно, а поэтому если вы столкнетесь с ошибкой, когда файл dll отсутствует в Windows 11, стоит ознакомиться с инструкцией, как его зарегистрировать.
Правила регистрации DLL-файлов в Windows 11
Прежде чем рассматривать способы, как выполнить регистрацию dll в Windows 11, стоит ознакомиться с некоторыми нюансами расположения dll-файлов.
- В 64-разрядных версий Windows 11 64-битные DLL расположены в системной папке System32. Если на ПК имеются 32-битные программы, то библиотеки хранятся в папке SysWOW64.
- Битность dll файлов не стоит путать. Однако их регистрация выполняться одним и тем же инструментом – утилитой regsvr32.exe. Только для 32-битных dll файл regsvr32.exe расположен в SysWOW64, а для 4-битных в System32.
- Такое разграничение в папках хранения библиотек объясняется еще и тем, что 32-битный софт создает свои папки в Program Files x86. Однако для работы 64-битных программ нужны библиотеки и 64-разрадности и 32.
Как выполнить регистрацию файла в dll в Windows 11?
Для того, чтобы выполнить регистрацию dll-файла, стоит нажать комбинацию клавиш Win+R и ввести regsvr32.exe и прописать адрес файла. Пример выглядит так:
regsvr32.exe C:\Program Files\PowerShell\7.1.1150\bin\namefiles.dll
То, что выделено жирным – это путь к файлу DLL. Это нужно скопировать или прописать самостоятельно.
В случае, если файл dll расположен в корне папки System32, то полный путь прописывать не обязательно. Достаточно указать команду regsvr32.exe и указать имя файла. На примере это будет выглядеть так:
После успешной регистрации файла данные отобразятся на экране.
В случае, если зарегистрировать файл не удалось, стоит попробовать задействовать такую команду:
regsvr32 /i /n путь_к_файлу.dll
Однако, в большинстве случаев решить проблему с регистрацией сторонних dll файлов помогает обновление программы, которой принадлежит этот файл или её переустановка.
При подготовке материала использовались источники:
https://ab57.ru/cmdlist/regsvr32.html
https://support.microsoft.com/ru-ru/topic/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B0-regsvr32-%D0%B8-%D1%83%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B5%D0%BF%D0%BE%D0%BB%D0%B0%D0%B4%D0%BE%D0%BA-%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D1%81-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D0%BC%D1%8B%D0%BC%D0%B8-%D0%B8%D0%BC-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8-%D0%BE%D0%B1-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%D1%85-a98d960a-7392-e6fe-d90a-3f4e0cb543e5
https://softikbox.com/kak-v-windows-11-zaregistrirovat-dll-fajl-29185.html