regsvr32 exe что это
Regsvr32
[краткая] история распределенного кода
Не лишним тут, я думаю, будет познакомиться с историей распределенного кода, что даст нам понимание причин возникновения и развития динамических библиотек. А это, в свою очередь, даст очевидное представление о том, какой функционал несет в себе средство regsvr32 и для чего оно, собственно, предназначается.
Линейное программирование
На заре развития языков программирования, при создании (разработке) программ использовался так называемый линейный подход, который заключался в том, что код писался/выполнялся «сверху-вниз», в четкой последовательности от начала к концу. Но как только человек научился писать код чуть сложнее, чем простой вывод фразы «Hello, World!», перед ним тут же встало несколько проблем, которые показали, что подход имеет очевидные недостатки:
Процедуры (функции)
Стояла очевидная проблема разделения, а так же многократного использования кода. Поэтому, по мере развития технологий программирования появилось процедурное (функциональное) программирование, которое было основано на том, что области кода выделялись в отдельные блоки под названием функции (процедуры), к которым имелась возможность многократного обращения (вызова) из любого места программы. Это существенно упростило архитектуру приложения, решило важную проблему дублирующегося кода, поскольку теперь вместо того, чтобы программе использовать повторяющиеся участки кода на протяжении всего процесса выполнения, проще разместить его в отдельной процедуре (функции) и многократно вызывать [по мере необходимости]. Тем не менее, данный подход требовал доработки, поскольку:
Оверлеи
В условиях дороговизны оперативной памяти и отсутствия у многих операционных систем того времени (MSDOS) механизма виртуализации адресного пространства процесса (виртуальной памяти), обеспечивающего достаточное адресное пространство для приложений, появилась необходимость загружать в ограниченное пространство [дорогой] физической памяти много превосходящие по размеру код/данные приложений. Следствием всего этого явилось разбиение кода/данных программы на обособленные модули, получившие название оверлеев (overlay). Данный механизм непрямую не связан с разделением кода, тем не менее мы о нем упомянем, как о существенной вехе в развитии механизмов разделения кода.
Прерывания
Первой попыткой решения проблемы распределения кода был механизм программных прерываний, который позволял создавать (размещать в микрокоде BIOS) и вызывать сервисы, доступные любым операционным системам и программам. Таблица прерываний включала 255 векторов (адресов), каждый из которых задавал процедуру обслуживания определенного прерывания. Данный сервис мог лешгко программироваться пользователями, то есть любая программа могла [пере]назначить одно из доступных программных прерываний, предоставив, таким образом, общесистемный сервис. И не смотря на все положительные стороны подобного подхода, он имел и ряд серьёзных недостатков:
Динамические библиотеки
Дальнейшее развитие данной концепции (а так же развитие ОС) привело к появлению динамически загружаемых библиотек (называемых упрощенно динамическими библиотеками, DLL). Отличительной особенностью было то, что обращение к функционалу этих библиотек могло осуществляться из кода на любых языках и из любых средств разработки [в рамках операционной системы]. На механизме динамических библиотек построен весь программный интерфейс (WinAPI) операционных систем Mirosoft Windows, поэтому любое API, любой сервис, так или иначе базируются на DLL. Характерная особенность динамической библиотеки заключается в том, что она может использоваться сразу несколькими приложениями, а система обеспечивает присутствие в памяти всего-лишь одного экземпляра [кода] динамической библиотеки для всех приложений, которые содержат ссылки на функции данной библиотеки. DLL имели ряд выраженных недостатков:
Компонентная объектная модель (COM)
Следующим этапом развития концепции разделяемого кода стало появление компонентной объектной модели (COM, Component Object Model). COM обеспечивал возможность разделять код на отдельные независимые компоненты, которые (в отличие от предыдущих реализаций) подключались уже не по имени файла, а при помощи специального глобального идентификатора (GUID). GUID ни что иное как 128-битный глобальный идентификатор (GUID, Global Unique ID), идентифицирующий конкретный объект класса библиотеки. Каждый компонент определялся [глобально] собственным уникальным идентификатором, и в системе хранилась единая база информации по компонентам, в которой содержалась вся информация: начиная от имени файла, в котором расположен сам компонент, и заканчивая сетевыми настройками. База COM хранится в реестре, в разделе HKEY_CLASSES_ROOT :
Причем сам HKEY_CLASSES_ROOT представляет собой комбинацию разделов HKCU\Software\Classes (для текущего пользователя) и HKLM\Software\Classes (для машины в целом).
Примером значения CLSID может служить строка вида <2DB47AE5-CF39-43C2-B4D6-0CD8D90946F4>. В глобальном смысле данные уникальные номера «не повторяются» и уникально идентифицируют компоненты системы, что говорит нам об уникальности объекта класса библиотеки в пределах системы. Подразделами в этих ветках реестра могут быть:
Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках
Если вы получили сообщение об ошибке, описания которого нет в этой статье, можно найти его подробное объяснение, рекомендуемые действия и список дополнительных ресурсов поддержки на странице ошибок и событий 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.
Утилита regsvr32.exe является стандартной программой командной строки для регистрации и отмены регистрации элементов управления OLE, ActiveX и библиотек DLL в реестре Windows. В 64-разрядных версиях Windows присутствуют две версии файла regsv32.exe :
— 32-разрядная версия в каталоге %systemroot%\SysWoW64 (обычно – C:\Windows\SysWoW64)
Для работы утилиты требуются повышенные привилегии, поэтому окно командной строки должно вызываться с правами администратора ( ”Запуск от имени администратора”).
При запуске regsvr32.exe без параметров командной строки, либо при запуске с неверными параметрами, отображается подсказка:
Формат командной строки REGSVR32:
Regsvr32 [/u] [/s] [/n] [/i[:строка_команд]] DLL-файл
/i — вызывает DllInstall, передавая ей в параметре необязательную строку_команд;
/n — не вызывает DllRegisterServer; может использоваться с ключом /I;
/s – «тихий» режим; окна сообщений не отображаются;
Примеры использования regsvr32.exe :
Для подавления вывода сообщения, используется параметр /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 :
Или без использования переменных окружения:
— Получить в удобном виде список всех зарегистрированных в системе объектов.
— Сохранить в текстовом файле или в HTML-формате параметры всех или выделенных из списка зарегистрированных DLL.
— Выполнить регистрацию или отмену регистрации выбранных объектов.
— Создать reg-файл для выполнения отмены регистрации одной или нескольких DLL.
— Зарегистрировать или перерегистрировать указанный файл.
Кроме того, имеется возможность проверить цифровые подписи исполняемых файлов зарегистрированных объектов, просмотреть или изменить их свойства, а также выполнить запуск редактора реестра с отображением информации выбранного GUID через пункт контекстного меню ”Open in Regedit”, вызываемого правой кнопкой мышки.
Regsvr32.exe грузит процессор: ошибка или вирус?
Regsvr32.exe отвечает за регистрацию файлов библиотек DLL в системе. Если он настолько заметен, что вы узнали о его существовании, то это может быть связано с наличием битого файла DLL или работой вируса.
Проверка файлов библиотек
На Windows 10 всё то же самое можно сделать через раздел «Приложения» в Параметрах. Получится даже быстрее и удобнее.
Следующим этапом будет очистка реестра от следов, которые оставила деинсталлированная программа. Делать это я рекомендую с помощью бесплатно утилиты CCleaner:
В списке ошибок обязательно будет строчка с файлом библиотеки. Есть вероятность, что после ее удаления проблема с битым DLL будет устранена, и Regsvr32.exe перестанет грузить процессор из-за невозможности завершить свою работу.
Мы не остановимся на очистке реестра от ошибочных записей и выполним восстановление хранилища системных компонентов, используя утилиту DISM. Не будем вникать в подробности, главное, что нужно знать – ничего страшного с компьютером не произойдет, и никакие файлы не удалятся.
Если ошибки не найдены, попробуйте выполнить другую команду – «sfc /scannow». С её помощью вы проверите целостность системных файлов Windows. При обнаружении сбоев утилита постарается внести исправления.
Сканирование на вирусы
Системная утилита располагается в директории %SystemRoot%\System32 у 32-битной Windows и папках %SystemRoot%\System32 и %SystemRoot%\SysWOW64 у 64-битной версии.
Если после открытия расположения файла вы попали в какую-то другую папку, то это явно говорит о том, что какой-то вирус пытается замаскироваться под системное приложение. Что можно с ним сделать? Для начала попробуйте вот так:
Проблема в том, что даже если вы попадете через открытие расположения файла в правильную папку, тем самым подтвердив оригинальность системного компонента, это никак не исключает факта заражения вирусом. Вредоносное ПО может пользоваться системным файлом для запуска, а обнаружить его и удалить получится только с помощью специальных утилит.
С помощью этих программ вы можете обнаружить зловредное программное обеспечение любого типа: руткиты, трояны, черви, дозвонщики, шпионы, баннеры и т.д. Чтобы проверка была всесторонней, скачивайте программы с официальных сайтов разработчиков и запускайте по очереди. Завершили одну проверку – следующая утилита начала сканировать систему.
Поиск вредоносных файлов может занять много времени, но если его не выполнить до конца, то велика вероятность, что ресурсы процессора так и будут тратиться на выполнение неизвестных вам задач.
Если перечисленные программы не помогли, можно использовать AVZ, GMER или даже AntiWinLocker LiveCD, который запускается с флешки или диска, чтобы заменить файлы Exporer и Winnit. Однако в большинстве случаев будет достаточно первоначального набора утилит: если причиной того, что Regsvr32.exe грузит процессор, является вирус, то вы его найдете и обезвредите.
Устранение неполадок с работой утилиты Regsvr32 в Windows
Некоторые пользователи время от времени сталкиваются с надобностью ручной регистрации динамически подключаемых библиотек в операционную систему. Задействовать для этого можно только стандартное средство под названием Regsvr32. Запускается оно через «Командную строку», а все взаимодействия осуществляются с указанием определенных атрибутов. Не всегда работа с утилитой проходит корректно, и на экране появляются различные ошибки. Давайте более детально разберем все известные способы решения неполадок с функционированием Regsvr32 в Windows.
Решаем неполадки с работой утилиты Regsvr32 в Windows
В большинстве случаев сама утилита работает стабильно, а все проблемы связаны с неправильными действиями со стороны пользователя. Однако иногда случаются и более трудные ситуации, решение которых тоже будет представлено в рамках сегодняшней статьи. Начнем ознакомление со способами по порядку, взяв во внимание в первую очередь самый легкое и банальное исправление.
Способ 1: Запуск «Командной строки» от имени администратора
Самая частая причина отказа функционирования Regsvr32 — запуск консоли с правами обычного пользователя. Эта утилита нуждается в повышенном уровне доступа, поскольку редактироваться будут именно системные файлы, поэтому выполнять ее следует только от имени администратора. Это произойдет автоматически в том случае, если «Командная строка» была запущена от имени данной учетной записи. Проще всего сделать это через меню «Пуск», выбрав соответствующий вариант. Если у вы еще не вошли в необходимую учетную запись, сделайте это так, как рассказано в другой статье на нашем сайте по следующей ссылке, а уже затем проверьте результативность произведенных манипуляций.
Способ 2: Перенос файла в «SysWoW64»
Обратим внимание, что использовать этот способ стоит только тем юзерам, кто обладает 64-разрядной операционной системой и пытается зарегистрировать или выполнить другие действия с 32-битным файлом. Дело в том, что по умолчанию практически все динамически подключаемые библиотеки помещаются в директорию «System32», но компоненты, имеющие разрядность 32 бита и находящиеся в 64-разрядной Виндовс, должны быть помещены в папку «SysWoW64», чтобы выполнение определенных действий прошло успешно. Из-за этого возникает надобность произведения следующих действий:
Еще раз уточним, что этот метод подходит только в ситуации, когда рассматриваемая утилита отказывается функционировать с каким-то конкретным файлом в 64-битной операционной системе. В остальных случаях эти действия не принесут вообще никакого результата.
Способ 3: Проверка системы на вирусы
Иногда компьютер может быть заражен вредоносными файлами, которые постепенно распространяются по жесткому диску и влияют на функционирование системных компонентов. На Regsvr32 это тоже может отразиться, поэтому мы настоятельно рекомендуем запустить проверку на вирусы сразу же, как только какие-то проблемы были обнаружены. Детальные инструкции по осуществлению этой операции вы найдете в материале по ссылке ниже, воспользовавшись указанной ниже ссылкой. После завершения сканирования перезагрузите ПК и проверьте, наладилась ли работа утилиты.
Способ 4: Проверка целостности системных файлов
Если во время проверки на вирусы они все же были найдены и удалены, вполне возможно, что угрозы оставили след на системных файлах, повредив их. Иногда это приводит к отказу работы некоторых утилит, в том числе и Regsvr32. Запуск проверки целостности системных файлов доступен с помощью стандартного инструмента SFC, однако иногда и он завершает свою работу, выводя на экран ошибку «Защита ресурсов Windows обнаружила поврежденные файлы, но не может восстановить некоторые из них». Тогда следует обратиться к средству DISM. Оно предназначено для восстановления хранилища компонентов. Только после успешного выполнения этой операции вы можете вернуться к SFC, чтобы закончить сканирование и отладку целостности. Детальнее обо всем этом читайте в отдельном руководстве.
Способ 5: Восстановление Windows
Последний вариант, о котором мы хотим поговорить, заключается в восстановлении Windows до заводских настроек или той резервной копии, когда утилита Regsvr32 еще функционировала корректно. Этот способ самый радикальный и использовать его стоит только в той ситуации, когда другие не принесли должного результата. В выполнении данной операции помогут системные или дополнительные средства. Всю необходимую информацию по теме восстановления вы найдете в отдельной нашей статье.
Теперь вы знаете, что существуют разные причины возникновения неполадок при функционировании Regsvr32 и все они имеют разный алгоритм действий для решения. Однако не стоит забывать, что может попасться поврежденный файл или появятся другие трудности. Обо всем этом сообщают появляющиеся на экране уведомления. Вы можете изучить описание каждого на официальном сайте Microsoft, чтобы быстрее справиться с неполадкой.
Помимо этой статьи, на сайте еще 12540 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.