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

Если говорить очень просто, то, что файлы.dll, что файлы.ocx — это системные «библиотеки», необходимые для нормального запуска и стабильной работы программ.

Есть несколько причин, по которым Вы можете видеть ошибки, связанные с этими файлами:

  • Установка была выполнена неправильно и нужные файлы не были скопированы \и зарегистрированы(не все файлы требуют регистрации)
  • Повреждение записей в реестре/файлов программы и т.п.

Собственно из этого вытекают и 2 способа решения:

  • Переустановка программы
  • Если не помогла переустановка, то самостоятельное скачивание нужных файлов и их последующая регистрация

Данная статья написана исключительно на основании личного опыта автора. Все советы, приведенные здесь, Вы выполняете на свой страх и риск. За Ваши действия никто ответственности не несет.

Остановимся подробнее о втором способе решения. Эти файлы могут размещаться в папке \WINDOWS\System32 , либо в папке с программой . Поэтому в окне ошибки смотрим как называется нужный нам файл, находим его в интернете, скачиваем и копируем в обе папки — System32 и папку с приложением . Теперь пришло время регистрации файла(если же она требуется).

Регистрация файлов.dll, .ocx

Вы можете сделать это действие несколькими способами:

  1. Ручная регистрация файлов в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs (НЕ РЕКОМЕНДУЕТСЯ). Для этого в этой ветке создаем параметр REG_DWORD с полным адресом файла, например C:\WINDOWS\System32\MSCOMCTL.OCX и со значением 1 .
  2. Быстрая регистрация. Нажимаем Win+R, в поле вписываем regsvr32 имя_файла, например regsvr32 MFWMAAEC.DLL, и нажимаешь Enter .
  3. Нажимаем Win+R, в поле вписываем cmd. Откроется командая строка. Аналогично предыдущему способу вписываем regsvr32 имя_файла.
  4. Также файлы можно зарегистрировать при помощи утилиты Total Commander .

Если регистрация прошла успешно, Вы увидите соответствующее сообщение.

Примечание

Вместе с командой regsvr32 можно дополнительно использовать различные ключи.

regsvr32 ] DLL-файл

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

/s – «тихий» режим, дополнительные сообщения не отображаются;

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

/n – не вызывает сервис DllRegisterServer; это может использоваться с ключом /i.

Твик для системы

Позволит добавить в контекстное меню Проводника функции регистрации файлов и ее отмены. Для этого создаем .reg файл (сохраняем через блокнот txt файл и меняем его расширение на .reg. Как включить показ расширений Вы можете прочитать в этой статье — ) следующего содержания:


@=»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\»»

У вас остались вопросы? Вы хотите дополнить статью? Вы заметили ошибку? Сообщите мне об этом ниже, я обязательно Вас услышу!

Если Вам помогла данная статья, то напишите об этом в комментариях. И не забывайте делиться статьей со своими друзьями в соц.сетях;)

Не регистрируется Dll, ActiveX под Windows 7 - что делать?

В привычных всем Windows до XP включительно регистрация Dll, ActiveX компонентов без проблем выполнялась командой regsvr32.

В Windows 7 в принципе то же самое, но внесены некоторые "усовершенствования", из-за чего привычный порядок действий нередко не дает ожидаемого результата. Например:

Согласитесь, очень понятное и информативное сообщение. Отличный повод для разработчика ОС - предложить пользователю приобрести выпустить Windows 8, новую, еще более усовершенствованную версию, где это сообщение, возможно, переведут на человеческий язык.

А именно: окно терминала (командной строки, cmd) следует открывать командой "Запуск от имени администратора" (доступно нажатием правой кнопки мыши).

В большинстве случаев это решает проблему.

Дополнительные действия могут потребоваться, если используется 64битная версия ОС. Дело в том, что программы в ней могут быть не только 64битными но и 32 битными. Причем большинство программ - 32битные, ибо польза от 64бит есть только на ресурсоемких приложениях.

В частности, клиентская часть 1С (т.е. та 1С, с которой работает пользователь) является 32 битным приложением. (Вот сервер 1С уже может быть как 32 битным, так и 64битным, но это касается больших организаций, если у Вас 1С Бухгалтерия и 5 пользователей, то 99% что у Вас никакого сервера 1С нет и все 32 битное).

ActiveX компоненты также могут быть 32 битными или 64 битными, причем должна использоваться та версия, разрядность которой соответствует приложению. OcvitaBarcode ActiveX является 32 битным приложением.

Так вот, программы для регистрации 32битных и 64 битных ActiveX в Windows 6 64 битной тоже разные, но при этом они обе называются regsvr32.exe. (Как говорил Козьма Прутков, "если на клетке со слоном написано "буйвол", не верь глазам своим".) Поэтому, если Вы просто набираете в командной строке

regsvr32 какая-то.ocx

то в теории должна запуститься нужная regsvr32, на практике может запуститься что угодно. Зачем так сделано? ну все за тем же, если сразу сделать по-человечески, кто будет новую версию Windows покупать.

Поэтому для гарантированного запуска 32битной regsvr32, следует в окне терминала набирать команду

c:\windows\syswow64\regsvr32.exe OcvitaBarcode.ocx

Если windows установлена не в c:\windows, то путь естественно, указываем какой есть. И помним, что окно терминала следует открывать от имени администратора.

При соблюдении вышеуказанных правил 32битные ActiveX, в т.ч. OcvitaBarcode ActiveX без проблем работают в Windows 7:


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

Модель многокомпонентных объектов (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 (например, 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 ;