Как установить DLL файл на Windows и зарегистрировать? Windows Регистрация файлов с расширением *.dll и *.ocx

Пользователи спрашивают о том, как зарегистрировать dll файл в Windows 7 и 8. Обычно после того, как столкнулись с ошибками наподобие «Запуск программы невозможен, так как нужная dll отсутствует на компьютере». Об этом и поговорим.

На самом деле, регистрация библиотеки в системе не такая уж и сложная задача (покажу целых три вариации одного способа) - по сути, необходим лишь один шаг. Единственное обязательное требование - наличие у вас прав администратора Windows.

Однако есть некоторые нюансы - например, даже успешная регистрация DLL не обязательно избавляет вас от ошибки «библиотека отсутствует на компьютере», а появление ошибки RegSvr32 с сообщением о том, что модуль не совместим с версией Windows на этом компьютере или точка входа DLLRegisterServer не найдена, не говорит о том, что вы что-то делаете не так (о чем это говорит разъясню в конце статьи).

Три способа регистрации DLL в ОС

Описывая дальнейшие шаги, я исхожу из того, что вы нашли, куда нужно скопировать вашу библиотеку и DLL уже лежит в папку System32 или SysWOW64 (а возможно, где-то еще, если ей там следует находиться).

Примечание: ниже будет описано, как зарегистрировать DLL библиотеку с помощью regsvr32.exe, однако обращаю ваше внимание на то, что если у вас 64-разрядная система, то у вас есть два regsvr32.exe - один в папке C:\Windows \SysWOW64, второй - C:\Windows\System32. И это разные файлы, причем 64-бит находится в папке System32. Рекомендую в каждом из способов использовать полный путь к regsvr32.exe, а не просто имя файла, как у меня показано в примерах.

Первый способ описывается в Интернете чаще других и состоит в следующем:

    Нажмите клавиши Windows + R или в меню Пуск Windows 7 выберите пункт «Выполнить» (если, конечно, у вас включено его отображение).Введите regsvr32.exe путь_к_файлу_dllНажмите Ок или Enter.

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

Второй способ состоит в запуске командной строки от имени администратора и ввода все той же команды из предыдущего пункта.

    Запустите командную строку от имени Администратора. В Windows 8 можно нажать клавиши Win+X, а затем выбрать нужный пункт меню. В Windows 7 вы можете найти командную строку в меню Пуск, кликнуть по ней правой кнопкой мыши и выбрать пункт «Запуск от имени администратора».Введите команду regsvr32.exe путь_к_библиотеке_dll (пример вы можете видеть на скриншоте).

Опять же, вероятно, что вам не удастся зарегистрировать DLL в системе.

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

    Кликните правой кнопкой мыши по DLL, которую нужно зарегистрировать и выберите пункт меню «Открыть с помощью».Нажмите «Обзор» и найдите файл regsvr32.exe в папке Windows/System32 или Windows/SysWow64, откройте DLL с помощью него.

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

Почему не удается зарегистрировать DLL

Responsive2{width:300px;height:300px}@media(min-width: 500px){.responsive2{width:336px;height:280px}}

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

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

А теперь о том, как это исправить:

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

На этом завершаю, надеюсь, что-то стало более ясно, чем было.

Модель многокомпонентных объектов (C omponent O bject M odel - СОМ ) является основным средством взаимодействия программ любых типов: библиотек, приложений, системного программного обеспечения и т.п. и определяет стандартный механизм, с помощью которого одна часть программного обеспечения (сервер) предоставляет свои сервисы другой (клиент) , что обеспечивается применением определенных протоколов взаимодействия между ними (между клиентом и сервером). В качестве сервера может использоваться динамически подключаемая библиотека (DLL), подгружаемая во время работы приложения, либо отдельный самостоятельный процесс, который может быть компонентом прикладной или системной программы, или даже процесс, выполняющийся на другом компьютере. Для нахождения нужного клиенту сервера, используется специальная информация из реестра Windows, которая формируется в при регистрации сервера в системе, чаще всего, в виде модуля динамически загружаемой библиотеки DLL. Регистрация необходима, поскольку программы работают не с самими файлами DLL, OCX, ACX, EXE, а с объектами, представляющими определенный набор программных интерфейсов. Для регистрации DLL используется следующие разделы реестра:

HKLM\SOFTWARE\Classes\CLSID - при регистрации COM-объектов библиотек для всех пользователей системы;

HKCU\SOFTWARE\Classes\CLSID - при регистрации COM-объектов библиотек только лишь для текущего пользователя;

HKLM\SOFTWARE\Wow6432Node\Classes\CLSID - для регистрации 32-битных DLL в 64-битных ОС Windows;

При регистрации, в указанном разделе реестра создается ключ с именем, эквивалентным глобальному уникальному идентификатору GUID регистрируемого оюъекта. GUID применительно к СОМ, является идентификатором класса. Чтобы отличать идентификаторы классов от других идентификаторов, для них используют подраздел реестра с именем CLSID . GUID представляет собой 128-разядное 16-ричное значение, заключенное в фигурные скобки:

{23170F69-40C1-278A- 1000-000100020000

При регистрации в реестре создается подраздел с именем, соответствующим идентификатору GUID, содержащий информацию о пути и имени исполняемого файла, его версии, времени регистрации, сведения о разработчике, и прочие параметры, определяющие специфические свойства регистрируемого объекта. Удаление или повреждение данных регистрации приводит к неработоспособности зарегистрированного компонента системы или прикладной программы, что, как правило, сопровождается сообщением об ошибке поиска DLL и предложением переустановить проблемное программное обеспечение. Вместо переустановки вполне можно обойтись перерегистрацией поврежденного объекта с помощью утилиты regsvr32.exe , имеющейся во всех версиях операционных систем семейства Windows .

Утилита regsvr32.exe является стандартной программой командной строки для регистрации и отмены регистрации элементов управления OLE, ActiveX и библиотек DLL в реестре Windows. В 64-разрядных версиях Windows присутствуют две версии файла regsv32.exe :

64-разрядная версия в каталоге %systemroot%\System32 (обычно - C:\Windows\System32)

32-разрядная версия в каталоге %systemroot%\SysWoW64 (обычно – C:\Windows\SysWoW64)

Для работы утилиты требуются повышенные привилегии, поэтому окно командной строки должно вызываться с правами администратора (”Запуск от имени администратора”).

При запуске regsvr32.exe без параметров командной строки, либо при запуске с неверными параметрами, отображается подсказка:

Формат командной строки REGSVR32:

Regsvr32 ] DLL-файл

/u - - вызывает DllUnInstall, отменяет регистрацию сервера

/i - вызывает DllInstall, передавая ей в параметре необязательную строку_команд;

/n - не вызывает DllRegisterServer; может использоваться с ключом /I;

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

Примеры использования regsvr32.exe :

regsvr32 /u "C:\Program Files\7-Zip\7-zip32.dll" - отменить регистрацию указанной DLL. При успешной отмене отображается сообщение:

Для подавления вывода сообщения, используется параметр /s :

regsvr32 /u /s "C:\Program Files\7-Zip\7-zip.dll"

В результате выполнения данной команды, из контекстного меню Проводника Windows, вызываемого правой кнопкой мышки, исчезнет пункт архиватора 7-Zip. Для его восстановления необходимо выполнить регистрацию 7-zip.dll командой:

regsvr32 "C:\Program Files\7-Zip\7-zip.dll"

Необходимо не забывать о разрядности регистрируемых объектов в 64-разрядных версиях ОС. В случае необходимости регистрации 32-разрядного объекта, нужно явно указать путь для 32-битной редакции утилиты regsvr32 :

%SystemRoot%\syswow64\regsvr32.exe

Или без использования переменных окружения:

C:\Windows\System32\regsvr32.exe

В качестве дополнительного программного средства для управления регистрацией объектов COM, очень удобно пользоваться бесплатной утилитой от Nirsoft RegDLLView.exe . Программа не требует установки в системе, имеет небольшой размер и позволяет:

Получить в удобном виде список всех зарегистрированных в системе объектов.

Выполнить регистрацию или отмену регистрации выбранных объектов.

Создать reg-файл для выполнения отмены регистрации одной или нескольких DLL.

Зарегистрировать или перерегистрировать указанный файл.

Кроме того, имеется возможность проверить цифровые подписи исполняемых файлов зарегистрированных объектов, просмотреть или изменить их свойства, а также выполнить запуск редактора реестра с отображением информации выбранного GUID через пункт контекстного меню ”Open in Regedit”, вызываемого правой кнопкой мышки.

Перед тем, как зарегистрировать dll файл, нужно уяснить для себя, что именно означает dll и для чего оно нужно. Собственно говоря, dll – это аббревиатура от английского термина «dynamic link library», который в переводится, как «динамически подключаемая библиотека». Данная способность операционной системы даёт нам возможность много раз использовать разные программы, приложения. DLL включает в себя систему ActiveX и различные драйвера. С выпуском новых операционных систем менялся и dll. В начале, на динамически подключаемую библиотеку были наложены функции сохранения дискового пространства, поскольку дисковые накопители не были такими вместительными, как сейчас. В DLL был использован компонент, который считается библиотечным модулем для различных программ, которые запускаются на компьютере. Далее для эффективности библиотек Microsoft ввёл систему модульной работы dll, суть работы которой заключалась в взаимозаменяемости модулей и возможности работы с различными по профилю программами. Исходя из этого, зная как зарегистрировать dll или обновить библиотеки, вы сможете точнее настроить работу ваших приложений.

Устранение ошибки приложений

Часто при установке или запуске каких-либо программ вы могли наблюдать, как выскакивает окно с ошибкой такого характера: «Приложению не удалось запуститься, так как MSVBVM50.DLL не был найден. Может исправить эту проблему повторная установка приложения » или «Runtime DLL/OCX File.error». Чтобы эта ошибка не повторилась, вам нужно зарегистрировать dll в Windows. А для этого нужно знать, как зарегистрировать библиотеку dll, чтобы это правильно и безопасно для вашего компьютера.

Есть несколько методов решения данной проблемы:

  • Если такая ошибка существует, попробуйте переустановить программу.
  • Если же переустановка не помогает, тогда вам нужно проверить библиотеки dll. Эту информацию вы можете найти по такому пути: /Windows/system32/. Опять же, если вы не найдёте нужные вам файлы, тогда вам нужно скачать библиотеки с интернета и скопировать их в данную папку (скачать можно с таких ресурсов: Free dll ; dll.ru). После скачивания, нужно зарегистрировать такие dll – файлы.

Что бы зарегистрировать dll в Windows 7 или Windows ХР (разницы нету) нужно использовать один из способов:

  • Первый способ: через меню «Пуск» и вкладку «Найти программы и файлы» нужно вписать строку регистрационный сервер regsvr32.exe и имя вашего файла, далее нужно нажать клавишу «Enter»
  • Второй способ использует команду cmd, клацая на ней правой кнопкой мыши и в списке, который выпадает, нужно нажимать «Запуск от имени администратора». Далее в окне команд Windows, нужно ввести опять regsvr32.exe с именем нужного файла (через пробел) и после этого нужно нажать «Ввод». Система сама все зарегистрирует и выдаст вам соответствующее окно, где будет написано, например такая вот информация «Успешное исполнение DllRegisterServer в C:\WINDOWS\system32\minvbvm53.dll». Все ваши не достающие библиотеки добавлены и зарегистрированы.

Иногда ошибки REGSVR32.DLL и другие системные ошибки DLL могут быть связаны с проблемами в реестре Windows. Несколько программ может использовать файл REGSVR32.DLL, но когда эти программы удалены или изменены, иногда остаются "осиротевшие" (ошибочные) записи реестра DLL.

В принципе, это означает, что в то время как фактическая путь к файлу мог быть изменен, его неправильное бывшее расположение до сих пор записано в реестре Windows. Когда Windows пытается найти файл по этой некорректной ссылке (на расположение файлов на вашем компьютере), может возникнуть ошибка REGSVR32.DLL. Кроме того, заражение вредоносным ПО могло повредить записи реестра, связанные с Microsoft Visual Basic for Windows. Таким образом, эти поврежденные записи реестра DLL необходимо исправить, чтобы устранить проблему в корне.

Редактирование реестра Windows вручную с целью удаления содержащих ошибки ключей REGSVR32.DLL не рекомендуется, если вы не являетесь специалистом по обслуживанию ПК. Ошибки, допущенные при редактировании реестра, могут привести к неработоспособности вашего ПК и нанести непоправимый ущерб вашей операционной системе. На самом деле, даже одна запятая, поставленная не в том месте, может воспрепятствовать загрузке компьютера!

В связи с подобным риском мы настоятельно рекомендуем использовать надежные инструменты очистки реестра, такие как WinThruster (разработанный Microsoft Gold Certified Partner), чтобы просканировать и исправить любые проблемы, связанные с REGSVR32.DLL. Используя очистку реестра , вы сможете автоматизировать процесс поиска поврежденных записей реестра, ссылок на отсутствующие файлы (например, вызывающих ошибку REGSVR32.DLL) и нерабочих ссылок внутри реестра. Перед каждым сканированием автоматически создается резервная копия, позволяющая отменить любые изменения одним кликом и защищающая вас от возможного повреждения компьютера. Самое приятное, что устранение ошибок реестра может резко повысить скорость и производительность системы.


Предупреждение: Если вы не являетесь опытным пользователем ПК, мы НЕ рекомендуем редактирование реестра Windows вручную. Некорректное использование Редактора реестра может привести к серьезным проблемам и потребовать переустановки Windows. Мы не гарантируем, что неполадки, являющиеся результатом неправильного использования Редактора реестра, могут быть устранены. Вы пользуетесь Редактором реестра на свой страх и риск.

Перед тем, как вручную восстанавливать реестр Windows, необходимо создать резервную копию, экспортировав часть реестра, связанную с REGSVR32.DLL (например, Microsoft Visual Basic for Windows):

  1. Нажмите на кнопку Начать .
  2. Введите "command " в строке поиска... ПОКА НЕ НАЖИМАЙТЕ ENTER !
  3. Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER .
  4. Будет выведено диалоговое окно для доступа.
  5. Нажмите Да .
  6. Черный ящик открывается мигающим курсором.
  7. Введите "regedit " и нажмите ENTER .
  8. В Редакторе реестра выберите ключ, связанный с REGSVR32.DLL (например, Microsoft Visual Basic for Windows), для которого требуется создать резервную копию.
  9. В меню Файл выберите Экспорт .
  10. В списке Сохранить в выберите папку, в которую вы хотите сохранить резервную копию ключа Microsoft Visual Basic for Windows.
  11. В поле Имя файла введите название файла резервной копии, например "Microsoft Visual Basic for Windows резервная копия".
  12. Убедитесь, что в поле Диапазон экспорта выбрано значение Выбранная ветвь .
  13. Нажмите Сохранить .
  14. Файл будет сохранен с расширением.reg .
  15. Теперь у вас есть резервная копия записи реестра, связанной с REGSVR32.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, который нуждается в этой библиотеке.