Файл .dll или .ocx не найден


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

Сообщения об ошибках могут быть разные (это зависит в основном от того, на каком языке написана программа), например: "Component 'MSCOMM32.OCX' not correctly registered: file is missing or invalid", или "Приложению не удалось запуститься, поскольку MSVBVM50.DLL не был найден. Повторная установка приложения может исправить эту проблему", или "Runtime DLL/OCX File error".


Решение данной проблемы
При возникновении ошибок с файлами *.dll и *.ocx, рекомендуется переустановить программу, либо, если переустановка не помогает, то необходимо проверить наличие в системе требуемых файлов.
Расположение файлов *.dll и *.ocx - \WINDOWS\system32 (иногда – в каталоге конкретной программы).
При наличии файлов их необходимо зарегистрировать.
При отсутствии требуемых файлов, их можно найти и скачать в Интернете. После чего необходимо их скопировать в папку \WINDOWS\system32 и в каталог программы. Теперь нужно зарегистрировать их.


Регистрация файлов *.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.


При всех способах регистрации файлов, происходит их запись в Реестр 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.


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

regsvr32 [/u] [/s] [/n] [/i[:строка_команд]] DLL-файл

/u – отменяет регистрацию DLL;
/s – "тихий" режим – окна сообщений не отображаются;
/i – вызывает DllInstall, передавая параметром необязательную строку_команд, при использовании с ключом /u вызывает DLLUnInstall;
/n – не вызывает DllRegisterServer; это может использоваться с ключом /i.

При успешной регистрации файлов *.dll и *.ocx, появится соответствующее сообщение.