Сайт о телевидении

Сайт о телевидении

» » Как регистрировать dll файлы. Несколько способов регистрации динамической библиотеки. Помещение и регистрация файлов библиотеки

Как регистрировать dll файлы. Несколько способов регистрации динамической библиотеки. Помещение и регистрация файлов библиотеки

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

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

Способ 1: OCX/DLL Manager

OCX/DLL Manager – это маленькая программа которая может помочь зарегистрировать библиотеку или файл OCX.

Для этого вам нужно будет:

  1. Нажать на пункт меню «Register OCX/DLL» .
  2. Выбрать тип файла, который будете регистрировать.
  3. При помощи кнопки «Browse» указать местоположение DLL.
  4. Нажать на кнопку «Register» и программа сама зарегистрирует файл.

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

В процессе регистрации, система может выдать вам ошибку, говорящую о том, что требуются права администратора. В таком случае, нужно запустить программу нажав на неё правой кнопкой мыши, и выбрать «Запуск от имени администратора» .

Способ 2: Меню «Выполнить»

Можно зарегистрировать DLL, используя команду «Выполнить» в стартовом меню операционной системы Windows. Для этого нужно будет произвести следующие действия:


Способ 3: Командная строка

Регистрация файла через командную строку не сильно отличается от второго варианта:

  1. Выберите команду «Выполнить» в меню «Пуск» .
  2. Впишите в открывшемся поле для ввода cmd .
  3. Нажмите «Enter» .

Перед вами появится окно, в котором нужно будет вводить те же команды, что и во втором варианте.

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

Способ 4: Открыть с помощью


Возможные ошибки

«Файл не совместим с установленной версией Windows» - это означает, что вы, скорее всего, пытаетесь зарегистрировать 64-разрядную DLL в 32-битной системе или наоборот. Воспользуйтесь соответствующей командой, описанной во втором способе.

«Точка входа не найдена» — не все библиотеки DLL можно зарегистрировать, некоторые из них просто не поддерживают команду DllRegisterServer. Также, возникновение ошибки может быть вызвано тем, что файл уже зарегистрирован системой. Существуют сайты, распространяющие файлы, которые в реальности не являются библиотеками. В таком случае, естественно, зарегистрировать ничего не выйдет.

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

Иногда при запуске какой-либо программы появляется сообщение, что не найден файл *.dll (например, VCompLib.dll) или *.ocx (например, seon.ocx). При этом программа, естественно, не запускается.

Сообщения об ошибках могут быть разные (это зависит в основном от того, на каком языке написана программа).

Например:

«Component ‘MSCOMM32.OCX’ not correctly registered: file is missing or invalid» ,

«Приложению не удалось запуститься, поскольку MSVBVM50.DLL не был найден. Повторная установка приложения может исправить эту проблему»

«Runtime DLL/OCX File error» .

При этом в Windows Vista дополнительно появится окно Помощника по совместимости программ с сообщением

«Эта программа требует отсутствующий компонент Windows».

Краткая справка

DLL (от англ. Dynamic-Link Library Microsoft Windows DLL ActiveX и драйвера. В мире UNIX shared objects dll exe
ActiveX Microsoft COM .
COM (сокр. от англ. Component Object Model Microsoft OLE и ActiveX ).
OLE (сокр. от англ. Object Linking and Embedding Microsoft на основе COM (OLE 1, OLE 2, OLE automation , OLE Database и др.).
ActiveX control управляющий элемент ActiveX ; введенное в 1996 г. Microsoft OLE controls , OCXs , OLE custom controls Internet .
OCX (сокр. от англ. OLE Custom eXtension ) – перемещаемые элементы управления, OLE custom control , OLE control . Упрощенно можно сказать, что файлы *.ocx – это элементы управления ActiveX dll .
OLE custom control OLE , OLE control .
OLE control управляющие элементы OLE OLE ActiveX control . Синонимы: OCX , OLE custom control .

Способы решения проблемы

Если возникают ошибки, связанные с файлами *.dll и *.ocx , необходимо:

1. Переустановить программу.

2. Если переустановка программы не помогает, нужно проверить наличие в системе требуемых файлов. Файлы *.dll и *.ocx , как правило, должны быть расположены в системной папке \WINDOWS\system32 (реже – в каталоге конкретной программы). Если файлы присутствуют, нужно зарегистрировать их.

Если требуемых файлов нет, найдите их в Интернете, скачайте и скопируйте в папку \WINDOWS\system32 и в каталог программы. Теперь нужно зарегистрировать их.

Как зарегистрировать файлы *.dll и *.ocx

При регистрации файлов *.dll и *.ocx происходит их запись в Реестр Windows (это можно сделать и вручную). При этом в ветке создается параметр REG_DWORD , например C:\Program Files\InterVideo\Common\Bin\StorageTools.dll или C:\WINDOWS\System32\MSCOMCTL.OCX, со значением 1 .

Регистрация файлов *.dll и *.ocx производится с помощью сервера регистрации regsvr32.exe (дисковый адрес которого – C:\WINDOWS\system32).

Рассмотрим способы регистрации:

1. Нажмите Пуск – Выполнить… – Запуск программы – regsvr32 имя_файла – OK .

2. Нажмите Пуск – Выполнить… – Запуск программы – cmd – OK . Запустится интерпретатор команд cmd.exe , после приглашения системы C:\Documents and Settings\Имя_пользователя> введите regsvr32 имя_файла , например, regsvr32 seon.ocx.

3. Если вы пользуетесь файловым менеджером Total Commander , то можно выполнить регистрацию файлов *.dll и *.ocx с помощью командной строки Total Commander .

Примечание

Использование команды regsvr32 :

regsvr32 ] DLL-файл

/u – отменяет регистрацию DLL ;

/s – «тихий» режим – окна сообщений не отображаются;

/i – вызывает DllInstall , передавая параметром необязательную строку_команд, при использовании с ключом /u вызывает DLLUnInstall ;

/n – не вызывает DllRegisterServer ; это может использоваться с ключом /i.

Если регистрация файлов *.dll и *.ocx прошла успешно, появится соответствующее сообщение, например, в Windows Vista появится окно RegSvr32 с сообщением «Успешное выполнение DllRegisterServer в C:\WINDOWS\system32\msvbvm50.dll» .

Где искать файлы *.dll и *.ocx

Найти отсутствующие файлы *.dll и *.ocx можно с помощью поисковиков или на следующих ресурсах:

От себя: обратите внимание от имени какого пользователя будет производится регистрация DLL. Для регистрации DLL как правило требуются права локального администратора в системе.

Так же обратите внимание в случае возникновения ошибок на зависимости одних DLL от других. Например «модуль ххххххх.dll загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки 0х80070005» может означать отсутствующие библиотеки DLL в системе (например MSXML).

Для Windows Vista, Windows 7 или Windows 2008 Server распространена проблема регистрации v7plus.dll (кто знает тот поймет что это 🙂).

Тут два пути:

1. Пуск — Все программы — Стандартные — Командная строка — жмем правой кнопкой — Запустить от администратора и далее регистрируем

regsvr32 C:\MyFolder\Folder2\v7plus.dll

DLL

(от англ. Dynamic-Link Library – динамически подключаемая библиотека) – понятие операционной системы Microsoft Windows ; динамическая библиотека, позволяющая многократное применение различными программными приложениями. K DLL иногда причисляют также элементы управления ActiveX и драйвера. В мире UNIX аналогичные функции выполняют так называемые shared objects («разделяемые объекты»). Формат файлов *.dll придерживается тех же соглашений, что и формат исполняемых файлов *.exe , сочетая код, таблицы и ресурсы.

ActiveX

название группы технологий, разработанных Microsoft для программирования компонентных объектных приложений на основе модели COM .

COM

(сокр. от англ. Component Object Model ) – модель компонентных объектов Microsoft , стандартный механизм, включающий интерфейсы, с помощью которых одни объекты предоставляют свои сервисы другим; является основой многих объектных технологий, в том числе OLE и ActiveX ).

OLE

(сокр. от англ. Object Linking and Embedding ) – общее название (до 1996 г.) группы объектно-ориентированных технологий Microsoft на основе COM (OLE 1, OLE 2, OLE automation , OLE Database и др.).

ActiveX control

управляющий элемент ActiveX ; введенное в 1996 г. Microsoft новое название независимых программируемых компонентов, ранее называемых OLE controls , OCXs , OLE custom controls ; в отличие от последних позволяют работать с Internet .

OCX

(сокр . от англ . OLE Custom eXtension ) – перемещаемые элементы управления , OLE custom control , OLE control . Упрощенно можно сказать, что файлы *.ocx – это элементы управления ActiveX , выполняющие примерно те же функции, что и файлы *.dll .

OLE custom control

специализированный управляющий элемент OLE , OLE control .

OLE control

управляющие элементы OLE , программируемые компоненты-приложения с интерфейсом на базе OLE , позволяющим легко включать их в другие приложения; c 1996 г. называются ActiveX control . Синонимы: OCX , OLE custom control .

Нет похожих постов...

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

{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 ] 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 :

%SystemRoot%\syswow64\regsvr32.exe

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

C:\Windows\System32\regsvr32.exe

В качестве дополнительного программного средства для управления регистрацией объектов COM, очень удобно пользоваться бесплатной утилитой от Nirsoft RegDLLView.exe . Программа не требует установки в системе, имеет небольшой размер и позволяет:

Получить в удобном виде список всех зарегистрированных в системе объектов.

Выполнить регистрацию или отмену регистрации выбранных объектов.

Создать reg-файл для выполнения отмены регистрации одной или нескольких DLL.

Зарегистрировать или перерегистрировать указанный файл.

Кроме того, имеется возможность проверить цифровые подписи исполняемых файлов зарегистрированных объектов, просмотреть или изменить их свойства, а также выполнить запуск редактора реестра с отображением информации выбранного GUID через пункт контекстного меню ”Open in Regedit”, вызываемого правой кнопкой мышки.


Иногда ошибки REGSVR32.DLL и другие системные ошибки DLL могут быть связаны с проблемами в реестре Windows. Несколько программ может использовать файл REGSVR32.DLL, но когда эти программы удалены или изменены, иногда остаются "осиротевшие" (ошибочные) записи реестра DLL.

В принципе, это означает, что в то время как фактическая путь к файлу мог быть изменен, его неправильное бывшее расположение до сих пор записано в реестре Windows. Когда Windows пытается найти файл по этой некорректной ссылке (на расположение файлов на вашем компьютере), может возникнуть ошибка REGSVR32.DLL. Кроме того, заражение вредоносным ПО могло повредить записи реестра, связанные с Microsoft Visual Basic for Windows. Таким образом, эти поврежденные записи реестра DLL необходимо исправить, чтобы устранить проблему в корне.

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

В связи с подобным риском мы настоятельно рекомендуем использовать надежные инструменты очистки реестра, такие как WinThruster (разработанный Microsoft Gold Certified Partner), чтобы просканировать и исправить любые проблемы, связанные с REGSVR32.DLL. Используя очистку реестра , вы сможете автоматизировать процесс поиска поврежденных записей реестра, ссылок на отсутствующие файлы (например, вызывающих ошибку REGSVR32.DLL) и нерабочих ссылок внутри реестра. Перед каждым сканированием автоматически создается резервная копия, позволяющая отменить любые изменения одним кликом и защищающая вас от возможного повреждения компьютера. Самое приятное, что устранение ошибок реестра может резко повысить скорость и производительность системы.


Предупреждение: Если вы не являетесь опытным пользователем ПК, мы НЕ рекомендуем редактирование реестра Windows вручную. Некорректное использование Редактора реестра может привести к серьезным проблемам и потребовать переустановки Windows. Мы не гарантируем, что неполадки, являющиеся результатом неправильного использования Редактора реестра, могут быть устранены. Вы пользуетесь Редактором реестра на свой страх и риск.

Перед тем, как вручную восстанавливать реестр Windows, необходимо создать резервную копию, экспортировав часть реестра, связанную с REGSVR32.DLL (например, Microsoft Visual Basic for Windows):

  1. Нажмите на кнопку Начать .
  2. Введите "command " в строке поиска... ПОКА НЕ НАЖИМАЙТЕ ENTER !
  3. Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER .
  4. Будет выведено диалоговое окно для доступа.
  5. Нажмите Да .
  6. Черный ящик открывается мигающим курсором.
  7. Введите "regedit " и нажмите ENTER .
  8. В Редакторе реестра выберите ключ, связанный с REGSVR32.DLL (например, Microsoft Visual Basic for Windows), для которого требуется создать резервную копию.
  9. В меню Файл выберите Экспорт .
  10. В списке Сохранить в выберите папку, в которую вы хотите сохранить резервную копию ключа Microsoft Visual Basic for Windows.
  11. В поле Имя файла введите название файла резервной копии, например "Microsoft Visual Basic for Windows резервная копия".
  12. Убедитесь, что в поле Диапазон экспорта выбрано значение Выбранная ветвь .
  13. Нажмите Сохранить .
  14. Файл будет сохранен с расширением.reg .
  15. Теперь у вас есть резервная копия записи реестра, связанной с REGSVR32.DLL.

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

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

Несколько способов регистрации динамической библиотеки

Первым делом, непосредственно перед регистрацией, нужно переместить скачанный или найденный файл с расширением dll в нужную папку. Обычно это System32 или SysWOW64 . Лучше всего будет посмотреть необходимое местоположение для каждого конкретного файла в глобальной сети.

У пользователей 64 разрядной системы, файл regsrv32. exe присутствует не только в папке windows, в каталоге System32, но и SysWOW64. Однако, утилита для 64 разрядных систем находится все также в первой папке System32. Во избежание путаницы и неправильно срабатывания команд, тем, кто использует 64 разрядную виндовс, лучше писать в операторах вместо regsrv32.exe, полный путь к этому файлу.

Первый способ заключается в том, чтобы запустить приложение «Выполнить », через пуск или сочетанием Win+R. И написать в ней regsvr32.exe полный_путь_к_файлу . Увидеть пример такого оператора можно на изображении.

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

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

Оператор отображен на изображении. Здесь тоже может произойти удачная регистрация или же будет выдано сообщение о сбое.

Третий способ представляет собой, по сути, то же самое. Нужно клацнуть пкм по файлу библиотеки, выбрать строку в меню «Открыть с помощью » и в этой утилите указать полный путь до исполняемого файла, который располагается в папке windows/system32 или syswow64.

Возможные ошибки при регистрации

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

Есть несколько способов добавить требуемый файл.

  • Если вы занимаете программированием и создали свою динамическую библиотеку, то для ее регистрации есть специальные утилиты (regasm.exe).
  • В другом случае лучше всего будет выполнить поиск по имени отсутствующего файла и выяснить в какой набор программ он входит. Например, библиотеки, чье имя начинается с d3d, являются часть DirectX и будут добавлены при его установке. Также может быть и с другими данными, нужно будет найти программу, скачать и установить ее целиком, а не отдельные библиотеки из нее. В таком случае утилита выполнит регистрацию сама и все будет работать.
  • Можно поместить найденный файл dll в один каталог с исполняемым файлом той утилиты, которая ее требует для запуска. Это так же может сработать.
  • В случае запуска игр и утилит, которые были скачаны из интернета, стоит также проверить отчеты своего антивируса. Вполне возможно, что он удалил нужный файл при установке или не дает приложению к нему обратиться. Если так и пользователь доверяет программе, то можно выполнить переустановку или запуск с отключенным антивирусом.