Отменить регистрацию библиотеки dll. Windows Регистрация файлов с расширением *.dll и *.ocx

Регистрация файлов с расширением *.dll и *.ocx

Спойлер: Справка (нажмите, чтобы открыть)

  • 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 ?

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

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

1). Нажмите Пуск – Выполнить…(или одновременно нажать кнопки win и r) – вводим – regsvr32_ имя_файла_ – OK.

2). Нажмите Пуск – Выполнить… – Запуск программы – cmd – OK. Запустится интерпретатор команд cmd.exe(командная строка), после приглашения системы

Код:

C:\Documents and Settings\Имя_пользователя>

введите regsvr32 _имя_файла, например,

Код:

Regsvr32 Koza.dll

.

3)Воспользоваться вот таким твиком,который добавляет в контексное меню DLL и OCX файлов пункты "Регистрация" и "Отмена регистрации"

Код:

Windows Registry Editor Version 5.00 @="regsvr32.exe \"%1\"" @="regsvr32.exe /u \"%1\"" @="regsvr32.exe \"%1\""


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

Код:

Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\dllfile\Shell] [-HKEY_CLASSES_ROOT\dllfile\Shell\Регистрация] [-HKEY_CLASSES_ROOT\dllfile\Shell\Регистрация\command] @="regsvr32.exe \"%1\"" [-HKEY_CLASSES_ROOT\dllfile\Shell\Отмена регистрации] [-HKEY_CLASSES_ROOT\dllfile\Shell\Отмена регистрации\command] @="regsvr32.exe /u \"%1\"" [-HKEY_CLASSES_ROOT\ocxfile\Shell] [-HKEY_CLASSES_ROOT\ocxfile\Shell\Регистрация] [-HKEY_CLASSES_ROOT\ocxfile\Shell\Регистрация\command] @="regsvr32.exe \"%1\""


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

________________________

Параметры regsvr32:

Regsvr32: ] DLL-файл

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

Крайне неприятная ошибка в Windows «Модуль загружен, но точка входа DLLRegisterServer не найдена» связана, как правило, с некорректным функционированием динамически подключаемой библиотеки (сокр., «.dll»), к которой обращается программа в процессе своей работы. В результате встроенный в Windows процесс отвечающий за регистрацию библиотеки в ОС, отказывается ее принять либо не может найти. А программа, обращающаяся к неработающим модулям, соответственно, не функционирует. Потому, предлагаю разложить по полочкам данную проблему для того, чтобы понять, каким образом ее можно исправить.

В чём суть ошибки «Модуль загружен, но точка входа DLLRegisterServer входа не найдена»?

Итак, объяснение смысла данной ошибки закономерно будет начать с определения «библиотеки «. Библиотека или в некоторых языках программирования, модуль (модули) — это набор подпрограмм, используемых в разработке программного обеспечения. Проще говоря, это совокупность небольших и независимых блоков, каждый из которых является функционально законченным фрагментом кода.

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


Библиотека dll

Динамические библиотеки DLL, встраиваемые в Windows, принадлежат к модулям общего пользования (shared library). Отличительные их особенности для пользователя состоят в следующем:

  • Функции, прописанные в таких библиотеках, могут использоваться несколькими программами одновременно;
  • Загружаются они по запросу соответствующего процесса, то есть динамически, не потребляя без надобности ресурсы ПК.

К сожалению, у DLL модулей есть и недостатки. Не будем говорить о так называемом «DLL Hell», так как на данный момент, несмотря на нарушение самого идейного принципа динамических библиотек общего пользования, разработчики Microsoft разрешили эту проблему. Гораздо важнее в данной статье отметить следующие недостатки:

  • При внесении в библиотеку изменений программы, использующие ее могут перестать работать. Этот недочет является излюбленным у распространителей вирусов. Ведь сама Windows функционирует на основе модулей и, повредив их код, можно повлиять на работу ОС.
  • При отсутствии библиотеки или ее некорректной версии программа, использующая данный модуль, соответственно, будет либо неправильно функционировать, либо откажется работать.
  • Функции, прописанные в библиотеке Dll, получают один адрес в оперативной памяти для всех процессов, вызывающих их, что упрощает эксплуатацию уязвимостей модульного метода организации ПО;

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

Таким образом, скомпоновав все вышеописанное в единое целое, мы можем раскрыть суть ошибки «Модуль загружен, но точка входа DLLRegisterServer входа не найдена». Эта проблема возникает при регистрации библиотеки в системе. Процесс «Regsvr32.exe», отвечающий за инсталлирование интерфейсов объектов в ОС, не может обнаружить функцию регистрации библиотеки «DLLRegisterServer» в проблемном dll.

  • Код функции, которая запрашивается программой, поврежден. Это может быть вызвано как некорректной версией регистрируемой вами библиотеки, так и вирусной атакой, испортившей код модуля, путь к библиотеке в реестре или ее идентификатор GUID.
  • Функция DLLRegisterServer может изначально отсутствовать в коде регистрируемой вами библиотеки;
  • Отсутствие в коде библиотеки интеграции с компонентами COM/ActiveX, управляющими реализацией dll в Windows;
  • Процесс регистрации вообще состоит в том, чтобы прописать путь к подключаемому модулю (модулям) в реестре Windows, для того, чтобы ОС могла «увидеть» библиотеку и оповестить программу, запрашивающую ее, о наличии или отсутствии определенного модуля в системе. Кроме того, каждому классу или объекту, входящему в состав подпрограммы, присваивается уникальный идентификатор GUID, он также необходим для регистрации, поскольку программы работают не с самими библиотеками dll, а с функциональными компонентами, входящими в ее состав. Это говорит о том, что при неправильной регистрации библиотеки значения, прописанные в реестре, останутся неверными, в результате ОС не сможет «опознать» библиотеку, чтобы ПО имело возможность подключить ее.

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

Исправляем проблему при которой модуль загружен, но точка входа DLLRegisterServer не найдена

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


Точка входа в библиотеку thumbcache.dll не найдена

Скачиваем библиотеки dll

Скачивая библиотеки, обязательно вначале уточните разрядность вашей версии Windows (х32/ х64). Если вы найдете и установите неподходящие файлы dll, ошибка “Модуль загружен, но точка входа DLLRegisterServer не найдена” исправлена не будет. Разместите скачанные вручную файлы в папках SysWOW64 и System32, находящихся C:\Windows.

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

Регистрируем библиотеки dll

В случае, когда библиотека на компьютере в полном порядке, но точка входа все равно не найдена, попробуем зарегистрировать dll в RegSvr32. Рассмотрим пути избавления от проблемы на основе вышеуказанного изображения. Регистрируем файл thumbcache.dll, находящийся C:\Windows\SysWOW64.
Первый способ – вызвать командную строку и ввести нужные данные:

  1. нажимаем win+x и находим в появившемся меню командную строку;
  2. после клика на последнюю появляется черное окно;
  3. после слова “Компьютер>” вводим слово regsvr32 и через пробел путь к проблемному файлу C:\Windows\SysWOW64\thumbcache.dll.

Регистрация библиотеки dll через командную строку

Нажимаем Enter и ждем окончания процесса регистрации библиотеки. Если данный метод не помогает, попробуйте повторить те же действия, но уже в командной строке от имени администратора. Возможно, вам не хватает прав для внесения изменений в систему.

Второй способ – использовать строку “Выполнить”:

  • нажимаем win+r и вызываем нужную нам строку;
  • в появившемся поле вводим название файла RegSvr32.exe и путь к отсутствующей библиотеке;
  • нажимаем OK и ждем результата.

Регистрируем dll через строку «Выполнить»

Устанавливаем обновления для Windows

Способ, к которому можно обращаться уже после того, как вышеуказанные методы не принесли желаемого результата – обновление компонентов вашей ОС. Для этого найдите на своем компьютере Центр обновления. Просмотрите все доступные обновления и прогрузите их. Процесс долгий, но необходимый. Быть может, проблема была в изначально неправильном коде dll-файлов, и разработчики уже нашли решение на своем уровне. Не выключайте соединение с интернетом и сам ПК во время установки обновлений, иначе результата не будет. Убедитесь, что все файлы прогружены и при необходимости повторите операцию.

Часто для исправления ошибки “Модуль загружен, но точка входа DLLRegisterServer не найдена” разработчики выпускают различное дополнительное ПО: моды, патчи, пакеты установки. В этом случае найдите и скачайте последнюю версию программного обеспечения, с которым у вас возникли проблемы. И напоследок о крайне нежелательном варианте – переустановке всей Windows. Конечно, этого без надобности не хочется делать никому, но, если система не открывает библиотеку dll, а все вышеуказанные методы уже испробованы, то сносите установленную и ставьте другую сборку ОС (из проверенных источников).

Ознакомьтесь с принципом работы этого метода. Чтобы зарегистрировать DLL-файл, можно использовать команду «regsvr» и имя DLL-файла (если файл поддерживает эту команду). Будет создан путь от реестра Windows к DLL-файлу, что упростит системе поиск и использование файла.

  • Как правило, этим методом пользуются для регистрации DLL-файлов, которые относятся к сторонним программ и которые напрямую взаимодействуют с системными утилитами (например, с командной строкой).

Уясните суть ошибки «entry point» (точка входа). Если DLL-файл уже зарегистрирован, он не поддерживает команду «regsvr» или его код не позволяет подключиться к реестру Windows, вы получите сообщение об ошибке «The module was loaded but the entry point DllRegisterServer was not found» (Модуль [имя DLL файла] загружен, но точка входа DllRegisterServer не найдена). Если на экране отобразилось такое сообщение, вы не сможете зарегистрировать DLL-файл.

  • Ошибка «точки входа» - это не столько проблема, сколько подтверждение того, что DLL-файл регистрировать не нужно.
  • Найдите DLL-файл, который вы хотите зарегистрировать. Перейдите в папку с нужным DLL-файлом и найдите его.

    • Если DLL-файл относится к установленной программе, откройте папку с этой программой (например, C:\Program Files\[имя программы]).
  • Откройте свойства DLL-файла. Щелкните правой кнопкой мыши по DLL-файлу и в меню выберите «Свойства». Откроется всплывающее окно.

    Найдите имя DLL-файла. В текстовом поле в верхней части окна «Свойства» вы найдете полное имя файла.

    • У большинства DLL-файлов сложные имена, поэтому оставьте окно «Свойства» открытым, чтобы скопировать имя позже.
  • Скопируйте путь к DLL-файлу. Удерживайте левую кнопку мыши и проведите указателем вдоль текста, который отображается в строке «Расположение», а затем нажмите Ctrl + C , чтобы скопировать путь к DLL-файлу.

    Найдите командную строку. Введите командная строка в строке поиска меню «Пуск». Значок командной строки отобразится в верхней части меню «Пуск».

    Откройте командную строку как администратор. Для этого:

  • Перейдите в каталог с DLL-файлом. Введите cd , нажмите на пробел, нажмите Ctrl + V , чтобы вставить путь к DLL-файлу, а затем нажмите ↵ Enter .

    • Например, если DLL-файл находится в папке «SysWOW64», которая расположена в папке «Windows», команда будет выглядеть так: cd C:\Windows\SysWOW64
  • Введите команду «regsvr» и имя DLL-файла. Введите regsvr32 , нажмите на пробел, введите имя DLL-файла (вместе с расширением.dll) и нажмите ↵ Enter . Если DLL-файл можно зарегистрировать, на экране появится подтверждение регистрации.

    • Например, если имя DLL-файла «usbperf.dll», команда будет выглядеть так: regsvr32 usbperf.dll
    • Чтобы скопировать имя DLL-файла, повторно откройте папку с DLL-файлом (откроется окно «Свойства»), выделите имя файла и нажмите Ctrl + C . Затем вставьте имя в командную строку - для этого нажмите Ctrl + V .
    • Если DLL-файл уже зарегистрирован или не может быть зарегистрирован, отобразится ошибка «точки входа», а не подтверждение регистрации.
  • Попробуйте отменить регистрацию DLL-файла, а потом перерегистрировать его. Если ввод команды «regsvr» приводит к ошибке, которая не является ошибкой «точки входа», отмените регистрацию DLL-файла, а затем перерегистрируйте его; для этого:

    • введите regsvr32 /u имя_файла.dll и нажмите ↵ Enter . Вместо «имя_файла» введите имя своего DLL-файла;
    • Введите regsvr32 имя_файла.dll и нажмите ↵ Enter . Вместо «имя_файла» введите имя своего 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. Также, возникновение ошибки может быть вызвано тем, что файл уже зарегистрирован системой. Существуют сайты, распространяющие файлы, которые в реальности не являются библиотеками. В таком случае, естественно, зарегистрировать ничего не выйдет.

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

    Похожие статьи

    • Трек номер долго не отслеживается

      После того, как выберете товар и произведете за него оплату, продавец через некоторое время отправит ваш заказ и выдаст вам трек-номер для его отслеживаниея.Найти его вы сможете в «Моих заказах» в ПодробнееОбычно, после получения номера...

    • Не получается войти в свой аккаунт на Алиэкспресс: причины, что делать?

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

    • Отслеживание международных почтовых отправлений

      Как отследить движение посылки из-за рубежа? Для отслеживания перемещений международных почтовых отправлений (МПО) разработана система почтового мониторинга, главным инструментом которой является уникальный номер отслеживания - tracking...

    • SweetFX – расширенные графические настройки для любой игры Описание фильтров SweetFX

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

    • Dragon Age: Inquisition - Системные требования

      Перед покупкой Dragon Age: Inquisition на ПК не забудьте сверить системные требования, заявленные разработчиком, с конфигурацией вашей системы. Помните, что минимальные требования зачастую значат, что при такой конфигурации игра запустится...

    • Новые трюки в этой версии Настроить клавиатуру управления фифа 14

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