- REGSVR32 — регистрация или отмена регистрации библиотеки DLL в реестре Windows.
- Примеры использования regsvr32.exe :
- Как зарегистрировать DLL библиотеку в Windows 7, 8, 10 средством regsrv32
- Вы здесь
- Подготовка к регистрации библиотеки DLL в Windows:
- Регистрация библиотеки DLL в Windows:
- Как зарегистрировать DLL в Windows
- Три способа регистрации DLL в ОС
- Почему не удается зарегистрировать DLL
- Устранение неполадок с работой утилиты Regsvr32 в Windows
- Решаем неполадки с работой утилиты Regsvr32 в Windows
- Способ 1: Запуск «Командной строки» от имени администратора
- Способ 2: Перенос файла в «SysWoW64»
- Способ 3: Проверка системы на вирусы
- Способ 4: Проверка целостности системных файлов
- Способ 5: Восстановление Windows
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”, вызываемого правой кнопкой мышки.
Как зарегистрировать DLL библиотеку в Windows 7, 8, 10 средством regsrv32
Вы здесь
Подготовка к регистрации библиотеки DLL в Windows:
1. Если у Вас уже есть на компьютере необходимая библиотека DLL идем в пункт 2. Если на Вашем компьютере еще нужной библиотеки — находите и скачиваете её в интернете на свой компьютер. (DLL библиотек очень много и они все разные, поэтому каждый скачивает именно ту, которая нужна).
2. В идеале переместить DLL библиотеку в системную папку, однако библиотеку можно зарегистрировать из любой папки. Главное что-бы в пути небыло кирилицы:
3. Расположение системной папки зависит от архитектуры Windows установленного на Вашем компьютере.
Для 32-битных систем:
C:\Windows\System32
Системная папка — System32
Для 64-битных систем:
C:\Windows\SysWOW64
Системная папка — SysWOW64
Регистрация библиотеки DLL в Windows:
4. Открываем командную троку с правами администратора:
В командной строке пишем следующее в зависимости от разрядности операционной стсьемы:
regsrv32
Для x32 Bit систем:
Regsvr32 C:\Windows\System32\НазваниеБиблиотеки.dll
Для x64 Bit систем:
Regsvr32 C:\Windows\SysWOW64\НазваниеБиблиотеки.dll
Затем должно появиться сообщение об успешной регистрации библиотеки в Windows. Если появится ошибка — проверьте, возможно что-то не правильно сделали.
Как зарегистрировать DLL в Windows
Пользователи спрашивают о том, как зарегистрировать dll файл в Windows 7 и 8. Обычно после того, как столкнулись с ошибками наподобие «Запуск программы невозможен, так как нужная dll отсутствует на компьютере». Об этом и поговорим.
На самом деле, регистрация библиотеки в системе не такая уж и сложная задача (покажу целых три вариации одного способа) — по сути, необходим лишь один шаг. Единственное обязательное требование — наличие у вас прав администратора Windows.
Однако есть некоторые нюансы — например, даже успешная регистрация DLL не обязательно избавляет вас от ошибки «библиотека отсутствует на компьютере», а появление ошибки RegSvr32 с сообщением о том, что модуль не совместим с версией Windows на этом компьютере или точка входа DLLRegisterServer не найдена, не говорит о том, что вы что-то делаете не так (о чем это говорит разъясню в конце статьи).
Три способа регистрации DLL в ОС
Описывая дальнейшие шаги, я исхожу из того, что вы нашли, куда нужно скопировать вашу библиотеку и DLL уже лежит в папку System32 или SysWOW64 (а возможно, где-то еще, если ей там следует находиться).
Примечание: ниже будет описано, как зарегистрировать DLL библиотеку с помощью regsvr32.exe, однако обращаю ваше внимание на то, что если у вас 64-разрядная система, то у вас есть два regsvr32.exe — один в папке C:\Windows\SysWOW64, второй — C:\Windows\System32. И это разные файлы, причем 64-бит находится в папке System32. Рекомендую в каждом из способов использовать полный путь к regsvr32.exe, а не просто имя файла, как у меня показано в примерах.
Первый способ описывается в Интернете чаще других и состоит в следующем:
- Нажмите клавиши Windows + R или в меню Пуск Windows 7 выберите пункт «Выполнить» (если, конечно, у вас включено его отображение).
- Введите regsvr32.exe путь_к_файлу_dll
- Нажмите Ок или Enter.
После этого, если все прошло успешно вы должны будете увидеть сообщение о том, что библиотека была успешно зарегистрирована. Но, с большой вероятностью увидите другое сообщение — Модуль загружен, но точка входа DllRegisterServer не найдена и стоит проверить, что ваша DLL является правильным файлом (об этом, как я уже говорил, напишу позже).
Второй способ состоит в запуске командной строки от имени администратора и ввода все той же команды из предыдущего пункта.
- Запустите командную строку от имени Администратора. В Windows 8 можно нажать клавиши Win+X, а затем выбрать нужный пункт меню. В Windows 7 вы можете найти командную строку в меню Пуск, кликнуть по ней правой кнопкой мыши и выбрать пункт «Запуск от имени администратора».
- Введите команду regsvr32.exe путь_к_библиотеке_dll (пример вы можете видеть на скриншоте).
Опять же, вероятно, что вам не удастся зарегистрировать DLL в системе.
И последний способ, который также может пригодиться в некоторых случаях:
- Кликните правой кнопкой мыши по DLL, которую нужно зарегистрировать и выберите пункт меню «Открыть с помощью».
- Нажмите «Обзор» и найдите файл regsvr32.exe в папке Windows/System32 или Windows/SysWow64, откройте DLL с помощью него.
Суть всех описанных способов зарегистрировать DLL в системе одна и та же, просто несколько разные способы запуска одной и той же команды — кому что удобнее. А теперь о том, почему у вас ничего не получается.
Почему не удается зарегистрировать DLL
Итак, у вас отсутствует какой-то файл DLL, из-за чего при запуске игры или программы вы видите ошибку, вы скачали этот файл из Интернета и пробуете зарегистрировать, но либо точка входа DllRegisterServer, либо модуль не совместим с текущей версией Windows, а может и что-то еще, то есть регистрация DLL невозможно.
Почему это происходит (далее будет и про то, как это исправить):
- Не все файлы DLL предназначены для того, чтобы их регистрировали. Для того, чтобы его можно было зарегистрировать данным способом, он должен иметь поддержку той самой функции DllRegisterServer. Иногда ошибка бывает также вызвана тем, что библиотека уже зарегистрирована.
- Некоторые сайты, предлагающие скачать DLL, содержат по факту, файлы-пустышки с искомым вами именем и их невозможно зарегистрировать, так как на самом деле это не библиотека.
А теперь о том, как это исправить:
- Если вы программист и регистрируете свою DLL, попробуйте regasm.exe
- Если вы пользователь и у вас что-то не запускается с сообщением о том, что DLL отсутствует на компьютере — поищите в Интернете, что это за файл, а не где его скачать. Обычно, зная это, вы можете скачать официальный установщик, который установит оригинальные библиотеки и зарегистрирует их в системе — например, для всех файлов с именем, начинающегося с d3d достаточно поставить DirectX с официального сайта Microsoft, для msvc — одну из версий Visual Studio Redistributable. (А если не запускается какая-то игра с торрента, то загляните-ка в отчеты антивируса, он мог удалить нужные DLL, это часто бывает с некоторыми модифицированными библиотеками).
- Обычно, вместо регистрации DLL срабатывает размещение файла в одной папке с исполняемым файлом exe, который требует эту библиотеку.
На этом завершаю, надеюсь, что-то стало более ясно, чем было.
А вдруг и это будет интересно:
Почему бы не подписаться?
Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)
07.07.2020 в 13:27
Здравствуйте. Скачал из Стима игру, и столкнулся с ошибкой, связана она с файлом msvcrt. dll. Попробовал все указанные вами способами, а после попробовал установить Microsoft C++, но это все равно не помогло. Что мне делать?
07.07.2020 в 14:49
А установили и X86 и X64 версии (нужны обе). Нужного года?
Устранение неполадок с работой утилиты Regsvr32 в Windows
Некоторые пользователи время от времени сталкиваются с надобностью ручной регистрации динамически подключаемых библиотек в операционную систему. Задействовать для этого можно только стандартное средство под названием Regsvr32. Запускается оно через «Командную строку», а все взаимодействия осуществляются с указанием определенных атрибутов. Не всегда работа с утилитой проходит корректно, и на экране появляются различные ошибки. Давайте более детально разберем все известные способы решения неполадок с функционированием Regsvr32 в Windows.
Решаем неполадки с работой утилиты Regsvr32 в Windows
В большинстве случаев сама утилита работает стабильно, а все проблемы связаны с неправильными действиями со стороны пользователя. Однако иногда случаются и более трудные ситуации, решение которых тоже будет представлено в рамках сегодняшней статьи. Начнем ознакомление со способами по порядку, взяв во внимание в первую очередь самый легкое и банальное исправление.
Способ 1: Запуск «Командной строки» от имени администратора
Самая частая причина отказа функционирования Regsvr32 — запуск консоли с правами обычного пользователя. Эта утилита нуждается в повышенном уровне доступа, поскольку редактироваться будут именно системные файлы, поэтому выполнять ее следует только от имени администратора. Это произойдет автоматически в том случае, если «Командная строка» была запущена от имени данной учетной записи. Проще всего сделать это через меню «Пуск», выбрав соответствующий вариант. Если у вы еще не вошли в необходимую учетную запись, сделайте это так, как рассказано в другой статье на нашем сайте по следующей ссылке, а уже затем проверьте результативность произведенных манипуляций.
Способ 2: Перенос файла в «SysWoW64»
Обратим внимание, что использовать этот способ стоит только тем юзерам, кто обладает 64-разрядной операционной системой и пытается зарегистрировать или выполнить другие действия с 32-битным файлом. Дело в том, что по умолчанию практически все динамически подключаемые библиотеки помещаются в директорию «System32», но компоненты, имеющие разрядность 32 бита и находящиеся в 64-разрядной Виндовс, должны быть помещены в папку «SysWoW64», чтобы выполнение определенных действий прошло успешно. Из-за этого возникает надобность произведения следующих действий:
- Перейдите по пути 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, чтобы быстрее справиться с неполадкой.