Runtime error program c windows system32 regsvr32

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, передавая ей в параметре необязательную строку_команд;

Читайте также:  Форматы исполняемых файлов windows

/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”, вызываемого правой кнопкой мышки.

How to use the Regsvr32 tool and troubleshoot Regsvr32 error messages

If this article does not describe the error message that you are receiving, you can obtain detailed error message explanations, recommended actions, and additional support resources from the TechNet Events and Errors page.

Summary

Regsvr32 is a command-line utility to register and unregister OLE controls, such as DLLs and ActiveX controls in the Windows Registry. Regsvr32.exe is installed in the %systemroot%\System32 folder in Windows XP and later versions of Windows.

Note On a 64-bit version of Windows operating system, there are two versions of the Regsv32.exe file:

The 64-bit version is %systemroot%\System32\regsvr32.exe.

The 32-bit version is %systemroot%\SysWoW64\regsvr32.exe.

The syntax of the Regsvr32 command

RegSvr32.exe has the following command-line options:

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

/u — Unregister server

/i — Call DllInstall passing it an optional [cmdline]; when it is used with /u, it calls dll uninstall
/n — do not call DllRegisterServer; this option must be used with /i

/s – Silent; display no message boxes

Common solutions for Regsvr32 errors

Try one of the following methods when you receive a Regsvr32 error:

Method 1: Re-run the Regsvr32 command from an elevated command promptTo open an elevated command prompt, following these steps:

Windows 8.1 and Windows 8Swipe in from the right edge of the screen, and then tap Search. Or, if you are using a mouse, point to the lower-right corner of the screen, and then click Search. Type Command Prompt in the Search box, right-click Command Prompt, and then click Run as administrator. If you are prompted for an administrator password or for a confirmation, type the password, or click Allow.

Windows 7 and Windows VistaClick Start, type Command Prompt or cmd in the Search box, right-click Command Prompt, and then click Run as administrator. If you are prompted for an administrator password or for a confirmation, type the password, or click Allow.

Windows XPLog on with an administrator account or an account that has administrator permissions, and then open a Command Prompt window.

Method 2: Use the 32-bit version of Regsvr32 to register a 32-bit DLL on a 64-bit version of WindowsIf you receive an error when registering a 32-bit DLL on a 64-bit version of Windows, follow these steps:

Open an elevated command prompt.

If the 32-bit DLL is in the %systemroot%\System32 folder, move it to the %systemroot%\SysWoW64 folder.

Ошибка 0x80070005 при попытке зарегистрировать DLL с помощью Regsvr32.exe

В этой статье приводится решение ошибки 0x80070005, которая возникает при регистрации DLL с помощью Regsvr32.exe.

Исходная версия продукта: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 827659

Симптомы

При попытке зарегистрировать динамическую библиотеку ссылок (DLL- или DLL-файл) с помощью средства командной строки Regsrv32.exe DLL не зарегистрирована, и вы можете получить следующее сообщение об ошибке:

Сбой DllRegisterServer в file_name DLL.

Код возврата: 0x80070005

Такое поведение не происходит в Windows NT 4.0 или Windows 2000.

Причина

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

Это происходит потому, что в Windows XP и Windows Server 2003 используется более ограничивающая схема безопасности, чем в предыдущих версиях Windows. Эта схема не позволяет стандартным пользователям регистрировать DLL.

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

Решение

Чтобы устранить эту проблему, войдите в систему с помощью учетной записи администратора и зарегистрируйте DLL.

Дополнительные сведения

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

Устранение неполадок с работой утилиты Regsvr32 в Windows

Некоторые пользователи время от времени сталкиваются с надобностью ручной регистрации динамически подключаемых библиотек в операционную систему. Задействовать для этого можно только стандартное средство под названием Regsvr32. Запускается оно через «Командную строку», а все взаимодействия осуществляются с указанием определенных атрибутов. Не всегда работа с утилитой проходит корректно, и на экране появляются различные ошибки. Давайте более детально разберем все известные способы решения неполадок с функционированием Regsvr32 в Windows.

Решаем неполадки с работой утилиты Regsvr32 в Windows

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

Способ 1: Запуск «Командной строки» от имени администратора

Самая частая причина отказа функционирования Regsvr32 — запуск консоли с правами обычного пользователя. Эта утилита нуждается в повышенном уровне доступа, поскольку редактироваться будут именно системные файлы, поэтому выполнять ее следует только от имени администратора. Это произойдет автоматически в том случае, если «Командная строка» была запущена от имени данной учетной записи. Проще всего сделать это через меню «Пуск», выбрав соответствующий вариант. Если у вы еще не вошли в необходимую учетную запись, сделайте это так, как рассказано в другой статье на нашем сайте по следующей ссылке, а уже затем проверьте результативность произведенных манипуляций.

Способ 2: Перенос файла в «SysWoW64»

Обратим внимание, что использовать этот способ стоит только тем юзерам, кто обладает 64-разрядной операционной системой и пытается зарегистрировать или выполнить другие действия с 32-битным файлом. Дело в том, что по умолчанию практически все динамически подключаемые библиотеки помещаются в директорию «System32», но компоненты, имеющие разрядность 32 бита и находящиеся в 64-разрядной Виндовс, должны быть помещены в папку «SysWoW64», чтобы выполнение определенных действий прошло успешно. Из-за этого возникает надобность произведения следующих действий:

  1. Перейдите по пути C:\Windows\System32 , где C — буква системного раздела жесткого диска.

Отыщите там файл, с которым хотите осуществить манипуляции через Regsvr32. Щелкните по нему правой кнопкой мыши.

В появившемся контекстном меню вас интересует опция «Вырезать» или «Копировать».

Теперь вернитесь к папке «Windows», где кликните ПКМ по библиотеке «SysWOW64».

Запустите консоль от имени администратора так, как это было продемонстрировано в первом способе. Используйте команду %systemroot%\SysWoW64\regsvr32 name.dll , где name.dll — полное название динамически подключаемой библиотеки, не забывая при этом применять аргументы.

Еще раз уточним, что этот метод подходит только в ситуации, когда рассматриваемая утилита отказывается функционировать с каким-то конкретным файлом в 64-битной операционной системе. В остальных случаях эти действия не принесут вообще никакого результата.

Способ 3: Проверка системы на вирусы

Иногда компьютер может быть заражен вредоносными файлами, которые постепенно распространяются по жесткому диску и влияют на функционирование системных компонентов. На Regsvr32 это тоже может отразиться, поэтому мы настоятельно рекомендуем запустить проверку на вирусы сразу же, как только какие-то проблемы были обнаружены. Детальные инструкции по осуществлению этой операции вы найдете в материале по ссылке ниже, воспользовавшись указанной ниже ссылкой. После завершения сканирования перезагрузите ПК и проверьте, наладилась ли работа утилиты.

Способ 4: Проверка целостности системных файлов

Если во время проверки на вирусы они все же были найдены и удалены, вполне возможно, что угрозы оставили след на системных файлах, повредив их. Иногда это приводит к отказу работы некоторых утилит, в том числе и Regsvr32. Запуск проверки целостности системных файлов доступен с помощью стандартного инструмента SFC, однако иногда и он завершает свою работу, выводя на экран ошибку «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них». Тогда следует обратиться к средству DISM. Оно предназначено для восстановления хранилища компонентов. Только после успешного выполнения этой операции вы можете вернуться к SFC, чтобы закончить сканирование и отладку целостности. Детальнее обо всем этом читайте в отдельном руководстве.

Способ 5: Восстановление Windows

Последний вариант, о котором мы хотим поговорить, заключается в восстановлении Windows до заводских настроек или той резервной копии, когда утилита Regsvr32 еще функционировала корректно. Этот способ самый радикальный и использовать его стоит только в той ситуации, когда другие не принесли должного результата. В выполнении данной операции помогут системные или дополнительные средства. Всю необходимую информацию по теме восстановления вы найдете в отдельной нашей статье.

Теперь вы знаете, что существуют разные причины возникновения неполадок при функционировании Regsvr32 и все они имеют разный алгоритм действий для решения. Однако не стоит забывать, что может попасться поврежденный файл или появятся другие трудности. Обо всем этом сообщают появляющиеся на экране уведомления. Вы можете изучить описание каждого на официальном сайте Microsoft, чтобы быстрее справиться с неполадкой.

Оцените статью