REGSVR32 - регистрация или отмена регистрации библиотеки DLL в реестре Windows. Регистрируем библиотеки DLL в Windows

При попытке запустить игру или приложение мы можем столкнуться с ошибками вида «точка входа dllregisterserver не найдена» или «запуск приложения невозможен, отсутствует.dll файл». Подобных вариаций может быть несколько, но суть одна: нужных библиотек нет вовсе или они не зарегистрированы. Итак, давайте разберемся, как задействовать библиотеку в операционной системе и что делать, если проблема не решилась.

Описание ошибки

Во время установки Windows и других сторонних программ, в системные папки распаковываются библиотеки – файлы.dll, которые являются средой исполнения программного кода для приложений. Не вдаваясь в подробности, это то, с помощью чего программы и игры работают. И в случаях, когда эти файлы не видит система, возникают ошибки.

Причины возникновения

Причинами появления данной проблемы может быть ряд событий:

  1. Заражение вирусом. Нежелательное ПО способно повредить и удалить библиотеки с компьютера. Для этого стоит проверить машину на вирусы и удалить их с жесткого диска.
  2. Ошибка программы установки. Как правило, поставщик программного обеспечения добавляет все необходимые системные файлы в установочный пакет для работы приложения. Но иногда разработчики забывают об этом. Итог – если на компьютере нет подходящих ресурсов (которые установились с другим приложением), ваша программа не запустится. Гораздо обиднее, если за данный софт вы заплатили круглую сумму.

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

  3. Системная ошибка. По различным обстоятельствам, которые от нас не всегда зависят, Windows может потерять из виду некоторые.dll файлы. Причиной тому становятся неосторожные манипуляции с записями реестра.

Способы регистрации библиотек

Существует два способа добавления.dll файлов в реестр системы.

С помощью командной строки

Для этого потребуется выполнить следующие действия:


С помощью окна «Выполнить»

Способ в два клика:


Почему не получается зарегистрировать.dll и как это исправить?

Существует три причины неудачи при регистрации системных файлов:

  1. Библиотека уже зарегистрирована. В данном случае причина - сам файл, который поврежден или заражен вирусом.
  2. Регистрация невозможна. Файл.dll может просто оказаться пустышкой или быть несовместимым с версией и компонентами операционной системы.

    Внимание! Никогда не скачивайте файлы.dll с файлообменников и прочих подозрительных сайтов. Загружайте библиотеки только с официальных источников!

  3. Функция регистрации отсутствует. Некоторые библиотеки не предназначены для регистрации и попросту не имеют данной функции.

Существует три способа для выхода из сложившегося положения:

  1. Скачайте официальный компонент системы с ресурса поставщика. Например, для файла xlive.dll нужно загрузить и установить пакет Microsoft Games for Windows, который можно скачать на сайте Microsoft.

    Совет! В случае возникновения подобной ситуации ищите где загрузить компонент системы (это будет подлинный сайт), а не отдельный файл.

  2. В случае, если вы разработчик и создали свою библиотеку, зарегистрируйте ее с помощью regasm.exe.
  3. Иногда для задействования.dll файла нужно переместить его в папку с приложением - в директорию, где хранится исполняющий файл.exe.

Итак, мы рассмотрели ряд способов по регистрации библиотек в системе и ликвидации ошибки «точка входа dllregisterserver не найдена». Их должно хватить. Но если у вас уникальная ситуация или известен другой путь решения проблемы – поделитесь, пожалуйста, им в комментариях.

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

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

Первым делом, непосредственно перед регистрацией, нужно переместить скачанный или найденный файл с расширением 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 в один каталог с исполняемым файлом той утилиты, которая ее требует для запуска. Это так же может сработать.
  • В случае запуска игр и утилит, которые были скачаны из интернета, стоит также проверить отчеты своего антивируса. Вполне возможно, что он удалил нужный файл при установке или не дает приложению к нему обратиться. Если так и пользователь доверяет программе, то можно выполнить переустановку или запуск с отключенным антивирусом.

Очень часто у юзеров возникает вопрос, как зарегистрировать DLL в седьмой или восьмой версии Windows. Как правило, этот вопрос появляется после того, как система сообщает пользователю, что на ПК отсутствует необходимая библиотека.

По правде говоря, зарегистрировать библиотеку довольно просто – необходимо выполнить всего один шаг. Однако, для выполнения этого необходимо обладать правами администратора.

Но в этом есть некоторые нюансы. К примеру, в случае успешной регистрации DLL ошибка отсутствия нужной библиотеки может не пропасть. Кроме того, может возникнуть ошибка RegSvr32 и уведомление, что модуль не способен работать на ПК с данной версией операционки. Также может сообщаться, что точка доступа DLLRegisterServer не обнаружена. Это не свидетельствует о том, что были выполнены неправильные действия.

Три метода зарегистрировать DLL в ОС

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

Все манипуляции по регистрации DLL будут выполняться с использованием regsvr32.exe, но тут необходимо обратить внимание, что при применении 64-битной системы этот файл может располагаться в двух директориях: SysWOW64 и System32. Стоит отметить, что эти файлы разные, при этом 64-бит располагается в директории System32. Рекомендуется в каждом случае писать путь к regsvr32.exe, а не только название файла.

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

Затем, при удачном выполнении на экране должно появиться оповещение о том, что регистрация библиотеки прошла успешно. Однако, скорее всего, появится уведомление, что модуль загрузился, но точка доступа DllRegisterServer отсутствует и необходимо удостовериться, что DLL – нужный файл.

Следующий метод подразумевает запуск строки команд под администратором и написания такой же команды, что и в вышеописанном методе. Нужно открыть строку команд. В «восьмерке» для этого нужно нажать Win+X, а потом указать необходимый пункт. В «семерке» строку команд можно отыскать в «Пуске». Требуется щелкнуть по ней ПКМ и указать «Запуск от имени администратора».

Затем следует ввести regsvr32.exe путь_к_dll, как и в прошлом методе. Однако, регистрация, скорее всего, не пройдет.

Кроме того, существует метод, который понадобится в редких случаях. Требуется щелкнуть ПКМ по DLL, подлежащей регистрации, и указать «Открыть с помощью». После этого следует кликнуть «Обзор» и в директориях System32 или SysWow64 отыскать regsvr32.exe, и с его помощью запустить DLL.

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

Почему не проходит регистрация DLL

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

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

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

Устранить эту проблему можно по-разному. Программистам при регистрации своей библиотеки можно использовать regasm.exe. Для обычных пользователей рекомендуется поискать, для чего необходим этот файл. Имея эту информацию, можно загрузить установщик, который инсталлирует все необходимые библиотеки и самостоятельно их зарегистрирует в операционке.

К примеру, все файлы, которые начинаются на d3d, можно установить с помощью DirectX. А библиотеки msvc устанавливаются с помощью Visual Studio Redistributable. Если после скачивания с торрента какой-либо игры она не открывается, необходимо просмотреть отчеты антивируса, поскольку он мог ликвидировать измененные DLL.

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

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

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

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

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

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

2. Если переустановка программы не помогает, нужно проверить наличие в системе требуемых файлов.

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

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

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

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

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

1. Нажмите кнопку Пуск ;

– в текстовое поле Найти программы и файлы введите regsvr32 имя_файла –> Enter .

2. Нажмите кнопку Пуск ;

– в текстовое поле Найти программы и файлы введите cmd ;

– в появившемся перечне (под заголовком Программы ) нажмите правой кнопкой cmd.exe ;

– из контекстного меню выберите Запуск от имени администратора ;

– введите пароль, если появится соответствующий запрос;

– в открывшемся окне после приглашения системы введите regsvr32 имя_файл , нажмите Enter .

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

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


Примечания

1. При регистрации файлов *.dll происходит их запись в Реестр Windows . При этом в ветке создается соответствующий параметр REG_DWORD со значением 1 .

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

regsvr32 ] DLL-файл

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

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

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

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