Выполните регистрацию библиотеки в реестре

REGSVR32 – регистрация или отмена регистрации библиотеки DLL в реестре Windows

Выполните регистрацию библиотеки в реестре

Модель многокомпонентных объектов (Component Object Model — СОМ) является основным средством взаимодействия программ любых типов: библиотек, приложений, системного программного обеспечения и т.п.

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

В качестве сервера может использоваться динамически подключаемая библиотека (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-ричное значение, заключенное в фигурные скобки:

{23170F69-40C1-278A- 1000-000100020000

При регистрации в реестре создается подраздел с именем, соответствующим идентификатору 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 /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:

%SystemRoot%\syswow64\regsvr32.exe

Или без использования переменных окружения:

C:\Windows\System32\regsvr32.exe

В качестве дополнительного программного средства для управления регистрацией объектов COM, очень удобно пользоваться бесплатной утилитой от Nirsoft RegDLLView.exe. Программа не требует установки в системе, имеет небольшой размер и позволяет:
– Получить в удобном виде список всех зарегистрированных в системе объектов. – Сохранить в текстовом файле или в HTML-формате параметры всех или выделенных из списка зарегистрированных DLL. – Выполнить регистрацию или отмену регистрации выбранных объектов. – Создать reg-файл для выполнения отмены регистрации одной или нескольких DLL. – Зарегистрировать или перерегистрировать указанный файл. Кроме того, имеется возможность проверить цифровые подписи исполняемых файлов зарегистрированных объектов, просмотреть или изменить их свойства, а также выполнить запуск редактора реестра с отображением информации выбранного GUID через пункт контекстного меню ”Open in Regedit”, вызываемого правой кнопкой мышки.

Страница с описанием RegDllView и ссылками для скачивания 32-х и 64-х разрядных версий программы.

Весь список команд CMD Windows

Источник: https://ab57.ru/cmdlist/regsvr32.html

Как зарегистрировать DLL-библиотеку в Windows

Выполните регистрацию библиотеки в реестре

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

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

Принудительную регистрации DLL-файла в системе можно выполнить как с помощью сторонних программ, так и встроенных инструментов Windows. Однако в последнем случае придется использовать специальные команды для CMD и строки «Выполнить», что может ввести в тупик неопытных пользователей ПК.

Перейдем к доступным вариантам регистрации DLL-библиотеки в системе.

Вариант 1: Стороннее ПО

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

Скачайте и установите программу в Windows. Перейдите непосредственно к регистрации компонентов:

  1. После запуска программы переключитесь к разделу «Register OCX/DLL», что расположен в главном меню в левой части интерфейса.
  2. Будет предложено выбрать тип библиотеки. Помимо DLL там доступен тип OCX. Так как мы рассматриваем регистрацию DLL-библиотеки, то ставьте там соответствующий маркер.
  3. Теперь нужно указать путь до регистрируемого файла в нижней строке. Чтобы открыть окно выбора файла, воспользуйтесь кнопкой «Browse».
  4. Откроется окошко «Проводника Windows», в котором нужно выбрать расположение файла в операционной системе и нажать «Открыть».
  5. Когда файла будет добавлен в интерфейс программы, воспользуйтесь кнопкой «Register».

Во время регистрации DLL-компонента может появится сообщение об ошибке. В таком случае выполните запуск программы OCX/DLL от имени администратора. Кликните правой кнопкой мыши по файлу ярлыку программы и выберите из контекстного меню пункт «Запуск от имени администратора».

Дополнительно функционал OCX/DLL позволяет выполнить отмену регистрации библиотеки в системе. Отвечает за это пункт главного меню «Unregister OCX/DLL». В этом разделе проделываются все те же операции, которые были необходимы для регистрации DLL-библиотеки.

Вариант 2: regsvr32.exe

Данная утилита отвечает за регистрацию DLL-библиотек в системе. Ее можно вызвать несколькими способами, но для неопытного пользователя они могут показаться сложными. Все последующие варианты регистрации будут подразумевать использование данной программы.

Для примера разберем самый простой запуск регистратора DLL-файлов Windows:

  1. Откройте папку, в которой расположен DLL-компонент, который требуется зарегистрировать.
  2. Кликните правой кнопкой мыши по названию данного компонента. Из контекстного меню выберите пункт «Открыть с помощью».
  3. По умолчанию вам не будет предложено нужной программы для открытия, поэтому в окошке с выбором программы воспользуйтесь кнопкой «Обзор».
  4. Далее у вас два варианта действий, в зависимости от разрядности операционной системы и DLL-файла:
    • Windows/System32, если разрядность файла и системы соответствуют друг другу;
    • Windows/SysWow64, если ОС имеет разрядность 64-бит, а регистрируемый файл 32-бит.
  5. Ожидайте успешное завершение регистрации компонентов. Весь процесс будет проходить в автоматическом режиме.

Вариант 3: Регистрация через строку «Выполнить»

Этот вариант подразумевает ввод специальных команд в строку «Выполнить». Все реализуется через встроенные в операционную систему средства и не требует установки каких-либо дополнительных компонентов и программ.

Инструкция выглядит следующим образом:

  1. Запустите строку «Выполнить». Универсальным способом для всех операционных систем Windows является использование сочетание клавиш Win+R. В некоторых Windows запуск «Выполнить» можно произвести через меню «Пуск».
  2. За регистрацию DLL-библиотек отвечает встроенная утилита regsvr32.exe. Команда на регистрацию DLL-файла с ее помощью выглядит так: regsvr32.exe C:\Windows\System32\dllname.dll. После названия используемой утилиты идет путь до DLL-файла, а в конце, где стоит «dllname.dll» указывается непосредственно имя DLL-библиотеки.
  3. Если вы не знаете точного адреса расположения DLL-файла, то можете воспользоваться командой, которая автоматически определит нужную папку и выполнит запуск регистрации DLL-файла. Она имеет следующий вид: %systemroot%\System32\regsvr32.exe %windir%\System32\dllname.dll

В случае с последней командой нужно учитывать, какая разрядность у вашей текущей операционной системы. Например, в Windows 64-бит две программы regsver32, которые расположены по двум адресам: C:\Windows\SysWOW64 и C:\Windows\System32.

Это сделано не просто так – если у вас 64-битная ОС, но файл DLL 32-бит, то он должен быть перемещен в папку: Windows\SysWoW64. В таком случае команда для регистрации компонента будет выглядеть так: %windir%\SysWoW64\regsvr32.

exe %windir%\SysWoW64\dllname.dll.

Для применения всех команда в строке «Выполнить» требуется нажать либо кнопку «Ок», либо Enter. Учтите, что запуск требуется проводить только в том случае, если вы вошли в систему от имени администратора.

Вариант 4: Командная строка

В этом варианте нет серьезных отличий от действий в предыдущем. Единственное отличие – все происходит через интерфейс «Командной строки». Некоторым пользователям проще взаимодействовать с ней, так как в таком случае можно посмотреть историю примененных команд.

Источник: https://public-pc.com/registracziya-dll-biblioteki-v-sisteme/

Как зарегистрировать библиотеку DLL в Windows: через командную строку, возможные ошибки

Выполните регистрацию библиотеки в реестре

Установка игры или тяжелого приложения подразумевает автоматическую инсталляцию и регистрацию необходимых библиотек DLL в операционной системе Windows. DLL – это динамические библиотеки, обращение к которым многократно может идти от нескольких приложений.

Если при попытке обращения со стороны игры или программы к определенной библиотеке DLL возникла ошибка, пользователь увидит сообщение «точка входа dllregisterserver не найдена» или «запуск невозможен, отсутствует .dll файл».

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

Почему возникает ошибка при обращении к DLL

Библиотеки DLL добавляются в операционную систему при обновлении Windows и при установке приложений. Исходя из этого, можно выделить следующие основные причины, почему возникает ошибка, сообщающая об отсутствии или проблемах с DLL файлом:

  • DLL библиотека не была установлена. Причин этому может быть две – Windows не обновлен до актуальной версии, а библиотека поставляется с одним из последних обновлений, или игра/приложение при установке по некоторым причинам не произвела инсталляцию и регистрацию новых библиотек DLL.
    Обратите внимание: Чаще всего в установочные файлы приложения включены все необходимые библиотеки DLL, и разработчики не надеются, что на компьютере уже ранее были установлены необходимые компоненты.
  • Повреждение библиотек DLL. Данная проблема чаще всего возникает, если библиотеки DLL были повреждены вирусным программным обеспечением или неосторожными действиями пользователя, например, внесением изменений в реестр, которые привели к повреждению динамических библиотек.

Большая часть библиотек DLL устанавливается на компьютер вместе с DirectX, поэтому если при установке игры или приложения возникает предложение обновить/установить DirectX, от него не нужно отказываться, иначе велик риск появления ошибки «запуск невозможен, отсутствует .dll файл».

Как зарегистрировать DLL в Windows

Если по некоторым причинам в Windows отсутствует библиотека DLL, необходимая для запуска игр и приложений, пользователь может самостоятельно ее зарегистрировать. Сделать это возможно двумя способами, предварительно загрузив на компьютер необходимую библиотеку DLL.

Регистрация DLL с помощью командной строки

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

  1. Запустите командную строку от имени администратора;
  2. В открывшемся окне пропишите команду:regsvr32.exe путь_к_библиотеке_DLL

    Вместо «путь_к_библиотеке_DLL» напишите полный путь до библиотеки, например: C:/windows/system32/comctl32.dll

  3. Нажмите Enter, после чего произойдет регистрация библиотеки DLL.

Регистрация DLL с помощью строки «Выполнить»

Регистрация DLL через строку «Выполнить» практически ничем не отличается от действий с командной строкой. Пользователю необходимо:

  1. Открыть строку «Выполнить», нажав на клавиатуре сочетание клавиш Windows+R;
  2. Откроется окно, в котором нужно прописать команду:regsvr32.exe путь_к_библиотеке_DLL
  3. Далее нажмите «ОК», после чего произойдет регистрация библиотеки DLL.

Что делать, если не удается зарегистрировать библиотеку DLL

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

  • Ряд библиотек DLL не предназначены для регистрации, и в них отсутствует подобная возможность;
  • Библиотека уже зарегистрирована системой. Если возникают ошибки при обращении к ней, вероятнее всего она заражена вирусом или повреждена;
  • Неправильный DLL файл. Возможны ситуации, когда DLL-файлы изначально повреждены или не содержат в себе нужных компонентов;
  • DLL не совместим с текущей версией Windows.

Если возникают ошибки при попытке регистрации библиотеки DLL, первым делом нужно попробовать загрузить официальный компонент от поставщика, чтобы исключить вероятность файла-«пустышки». Для этого потребуется воспользоваться поисковой системой и найти, к какому компоненту системы относится проблемный DLL.

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

(412 голос., 4,53 из 5)
Загрузка…

Источник: https://okeygeek.ru/kak-zaregistrirovat-biblioteku-dll-v-windows/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.