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

Иногда при запуске какой-либо программы появляется сообщение, что не найден файл *.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; динамическая библиотека, позволяющая многократное применение различными программными приложениями. 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.

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

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

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

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

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

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

При регистрации файлов *.dll и *.ocx происходит их запись в Реестр Windows (это можно сделать и вручную). При этом в ветке [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs] создается параметр 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 [/u] [/s] [/n]  [/i[:строка_команд]] 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-files.com – Download all your missing dll-files

·Download and restore missing .DLL files

·Download and restore missing .ocx files

·Download and restore missing .DLL files

·www.dll-downloads.com – Download missing dll files you need immediately!

·Скачать dll-файлы

·Скачать dll-файлы

·Скачать dll-файлы

·DLL файлы, скачать dll

·DLL – Википедия

·OLE – Википедия

·COM – Википедия

·Visual C++: MFC Static Libraries

·Dynamic-Link Library Functions (Windows)

·Dynamic-Link Libraries (Windows)

·DLL Help Database

·Справка и поддержка

(источник)

От себя: обратите внимание от имени какого пользователя будет производится регистрация 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

(обязательно запускать от администратора, ели не выключать UAC)

2. Выключить UAC (контроль учетных записей) и запускать опять таки

regsvr32 C:\MyFolder\Folder2\v7plus.dll

Путь в случае пробелов должен быть заключен в кавычки

regsvr32 "C:\My Folder\Folder 2\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.

2 комментария

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

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