Иногда при запуске какой-либо программы появляется сообщение, что не найден файл *.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:
1 |
<strong>regsvr32 [/u] [/s] [/n] [/i[:строка_команд]] DLL-файл</strong> |
/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!
·Visual C++: MFC Static Libraries
·Dynamic-Link Library Functions (Windows)
·Dynamic-Link Libraries (Windows)
(источник)
От себя: обратите внимание от имени какого пользователя будет производится регистрация DLL. Для регистрации DLL как правило требуются права локального администратора в системе.
Так же обратите внимание в случае возникновения ошибок на зависимости одних DLL от других. Например “модуль ххххххх.dll загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки 0х80070005” может означать отсутствующие библиотеки DLL в системе (например MSXML).
Для Windows Vista, Windows 7 или Windows 2008 Server распространена проблема регистрации v7plus.dll (кто знает тот поймет что это 🙂 ).
Тут два пути:
1. Пуск – Все программы – Стандартные – Командная строка – жмем правой кнопкой – Запустить от администратора и далее регистрируем
1 |
regsvr32 C:\MyFolder\Folder2\v7plus.dll |
(обязательно запускать от администратора, ели не выключать UAC)
2. Выключить UAC (контроль учетных записей) и запускать опять таки
regsvr32 C:\MyFolder\Folder2\v7plus.dll
Путь в случае пробелов должен быть заключен в кавычки
1 |
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. |
Огромное спасибо за DLL_файлы! Очень удобное скачивание.
Не могу разобраться с MMSYSTEM.DLL – не удаётся установить MMSYSTEM.DLL _ файл
P.S. При регистрации MMSYSTEM.DLL ( regsvr32 c:\windows\system32\mmsystem.dll ) компьютер ругается, что MMSYSTEM.DLL не совместим с WINDOWS.Подскажите – как проверить совместимость.