Среди частых вопросов пользователей, особенно после того, как они сталкиваются с тем, что какая-то из библиотек DLL отсутствует в Windows 10, Windows 11 или других версиях системы — как зарегистрировать DLL в соответствующей версии ОС.
В этой инструкции подробно о способах регистрации библиотек DLL в Windows x64 и x86 (32-бит) с помощью regsvr32.exe (и кратко о regasm.exe), о возможных нюансах и проблемах, которые могут возникнуть в процессе.
Регистрация библиотеки DLL в Windows 10, Windows 11 и предыдущих версий системы
Дальнейшие шаги описаны в предположении, что DLL, которую нужно зарегистрировать, уже находится в нужном расположении: папке C:\Windows\System32, C:\Windows\SysWOW64 или, в некоторых случаях — отдельных папках программ, к которой относится соответствующая библиотека, например, для 1С — C:\Program Files\1cv8\номер_версии\bin (или Program Files x86 в случае 32-битной версии).
Прежде чем приступить к регистрации библиотеки, учитывайте следующие моменты:
- В x64 версиях Windows 64-битные DLL хранятся в System32, а 32-битные — в SysWOW64 (у некоторых начинающих пользователей бывает обратное предположение исходя из имён папок).
- Файлы DLL x64 и x86 (32-бит) — это разные файлы. И если прямого указания на разрядность в месте загрузки файла нет, то чаще это 32-битный файл (что не мешает ему работать в x64 системе), но это не всегда так.
- Для регистрации библиотеки DLL используется системный инструмент regsvr32.exe, который также доступен в двух версиях, которые лежат в папках System32 и SysWOW64 (в случае 64-битных систем). По умолчанию при описываемых далее действиях запускается x64 версия.
- 32-битным программам и играм (по умолчанию устанавливаются в Program Files x86 в 32-битных системах) для работы нужны 32-битные DLL, не зависимо от разрядности Windows.
Сам процесс регистрации в общем случае состоит из следующих шагов:
- Нажмите клавиши Win+R на клавиатуре (Win — клавиша с эмблемой Windows). Также можно нажать правой кнопкой мыши по кнопке «Пуск» в Windows 11 или Windows 10 и выбрать пункт контекстного меню «Выполнить».
- Введите команду regsvr32.exe путь_к_файлу (если путь к файлу содержит пробелы, возьмите весь путь в кавычки), например, для регистрации библиотеки DLL COMCNTR.DLL в 1С (для 64-бит) команда может иметь вид:
regsvr32.exe "C:\Program Files\1cv8\8.3.19.1150\bin\comcntr.dll"
Если DLL находится в System32, полный путь указывать не обязательно, достаточно простого имени файла, как на изображении ниже.
- Нажмите Ок или Enter.
- При успехе вы получите сообщение вида «Успешное выполнение DllRegisterServer в имя_файла.dll» или «Успешное выполнение DllRegisterServer и DllInstall в имя_файла.dll».
Возможна и неудача — сообщение об ошибке «Модуль dll загружен, но точка входа DllRegisterServer не найдена. Проверьте, что файл является правильным файлом DLL или OCX и повторите попытку». Подробнее об ошибке — в следующем разделе статьи.
Дополнительно: для регистрации классов из библиотек DLL .NET Framework в COM с созданием необходимых записей в реестре используется regasm.exe из .NET SDK, причем базовая команда регистрации DLL выглядит тем же образом, что и в случае с regsvr32.exe. Подробнее по использованию regasm — https://docs.microsoft.com/ru-ru/dotnet/framework/tools/regasm-exe-assembly-registration-tool.
Почему не удается зарегистрировать DLL
Ошибка при регистрации с помощью regsvr32 вида «Точка входа DllRegisterServer не найдена» говорит о том, что эта библиотека DLL не поддерживает регистрацию описанным методом. Можно попробовать использовать вариант команды:
regsvr32 /i /n путь_к_файлу.dll
но с большой вероятностью и это не поможет.
У большинства домашних пользователей такая проблема возникает при регистрации файлов DLL для игр и программ, часто не вполне лицензионных, которые сообщили, что нужный файл DLL не обнаружен или отсутствует. Причем сами библиотеки DLL обычно скачаны со сторонних сайтов (и чаще всего имеют имена начинающиеся с «vc», «msvc» или «d3d»). А решение, как правило, простое — выяснить, частью какого набора компонентов является эта DLL и установить эти компоненты с помощью их собственного установщика. Более подробно проблема и подходы к решению описаны в инструкции Точка входа DllRegisterServer не найдена — причины и возможные решения.
Видео
Надеюсь, цель достигнута, а количество вопросов, связанных с регистрацией DLL в Windows, уменьшилось.
|
0 / 0 / 1 Регистрация: 23.10.2012 Сообщений: 135 |
|
29.12.2012, 22:53. Показов 37099. Ответов 17 как зарегистрировать .OCX? помогите пожалуйста
0 |
15155 / 6428 / 1731 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
30.12.2012, 00:08 |
|
0 |
0 / 0 / 1 Регистрация: 23.10.2012 Сообщений: 135 |
|
30.12.2012, 01:00 [ТС] |
|
не получается зарегистрировать компонент .OCX. выдает ошибку, что делать? -запускаю от имени админа, после выскакивает такая ошибка Миниатюры
0 |
Dragokas 18024 / 7727 / 892 Регистрация: 25.12.2011 Сообщений: 11,502 Записей в блоге: 16 |
||||||||||
30.12.2012, 02:27 |
||||||||||
Сообщение было отмечено как решение Решение Подтверждаю. Ремарка. Если биботеку планируется использовать постоянно, то прежде всего поместите ее в ситемную папку (c:\windows\system32 для 64-битных или c:\windows\SysWOW64 для 32-битных библиотек). Способ 1.
Способ 2. Способ 3. Развернуть код…
Вложения
3 |
Заблокирован |
|
30.12.2012, 10:55 |
|
При любой регистрации компонента в windows seven любой версии и разрядности надо запускать командную строку от имени администратора! Любой компонент который вы желаете добавить в x64 разрядную операционную систему, необходимо компонент копировать только в \windows\syswow64 Написание в командной строке такое: regsvr32.exe c:\windows\syswow64\moy.ocx где moy.ocx ваш .ocx файл!
0 |
11523 / 3810 / 683 Регистрация: 13.02.2009 Сообщений: 11,229 |
|
30.12.2012, 10:55 |
|
А, в принципе, ТС и вопрос задал не корректно? О каком ОСХ речь?
0 |
Заблокирован |
|
30.12.2012, 10:56 |
|
Alex77755, Все так же просто, если его нет в системе, тогда ищем его в установочном архиве, есть всегда, далее тащим его в выше описанные мною папки и выполняем процесс регистрации компонента в системе по методу Dragokas, или мой, а есть он всегда в архиве, ибо при установке он его копирует в систему, а если его там нет, установка не будет выполнена.
0 |
11523 / 3810 / 683 Регистрация: 13.02.2009 Сообщений: 11,229 |
|
30.12.2012, 10:58 |
|
А пробовал?
0 |
Заблокирован |
|
30.12.2012, 10:59 |
|
Alex77755, Да, скачивал 4 или более сборки с нета, где данный компонент отсутствовал, установщик ругался на отсутствие такового в архиве.
0 |
11523 / 3810 / 683 Регистрация: 13.02.2009 Сообщений: 11,229 |
|
30.12.2012, 11:07 |
|
Я как-то давно сталкнулся с этим.
0 |
Супер-модератор 37923 / 20989 / 4298 Регистрация: 12.02.2012 Сообщений: 34,530 Записей в блоге: 14 |
|
30.12.2012, 11:47 |
|
Я многократно регистрировал MSFlxgrd… всегда хватало regsvr32 + адм. доступ.
0 |
Alex77755 11523 / 3810 / 683 Регистрация: 13.02.2009 Сообщений: 11,229 |
||||||||
30.12.2012, 14:15 |
||||||||
Не спорю, но при установке программс флексгридом даже по сообщениям было видно, что грид устанавливается и регистрируется не как обычный контрол. А потом попался вот такой файли кpusk.wsf:не знаю какие тэги ставить.
А к нему ещё файлик: ctrlreg.reg
Конкретно его я не проверял так как сделал установщик, но нашел всё в теме, где обвуждалась проблема именно регистрации грда
0 |
Заблокирован |
|
30.12.2012, 14:19 |
|
Alex77755, Второй файл это лицензия что-то типа того, на право его использования, чтобы не вылазило сообщение о регистрации компонента и его покупке.
0 |
42 / 20 / 9 Регистрация: 15.01.2015 Сообщений: 95 |
|
21.03.2017, 12:39 |
|
Привет всем. Прошу помощи, уже сил нет. Не могу зарегистрировать компонент MSCOMCTL.OCX. Пробовал по разному: и качал файл этот с интернета и брал сам файл MSCOMCTL.OCX с рабочего ноута и ставил на домашний в папку System32. Регистрирую через командную строку… cmd (запускаю от админа) и соответственно Regsvr32 mscomctl.ocx — пишет «Успешное выполнение DllRegisterServer в mscomctl.ocx«. Запускаю новый проект, хочу добавить компонент Microsoft Windows Common Controls 6.0 (SP6) — пишет «Object library not registered«.
0 |
Dragokas 18024 / 7727 / 892 Регистрация: 25.12.2011 Сообщений: 11,502 Записей в блоге: 16 |
||||
21.03.2017, 15:31 |
||||
Прежде чем регистрировать эту компоненту, выполните ещё такую команду:
2 |
42 / 20 / 9 Регистрация: 15.01.2015 Сообщений: 95 |
|
21.03.2017, 17:15 |
|
Похоже что дело в обновлениях. На «чистой винде» удалил из обновления Internet Explorer 11 — создал новый проект и попробовал добавить компонент — компонент добавился без проблем. Наверно старую винду надо чистить от обновлений. У меня оказывается там стояло автоматическое обновление Windows. Добавлено через 1 час 1 минуту
1 |
Dragokas 18024 / 7727 / 892 Регистрация: 25.12.2011 Сообщений: 11,502 Записей в блоге: 16 |
||||
22.03.2017, 23:09 |
||||
Сообщение от paau Регистрировал/копировал и в папку System32 и в SysWoW64 (у меня кстати на домашнем 64 битная ОС)… ничего не помогало. Вероятно, в Вашем случае требовалось сначала снять регистрацию:
0 |
Новые блоги и статьи
Все статьи Все блоги / |
||||
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025 Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . . |
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025 NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . . |
Реализация DI в PHP
Jason-Webb 13.05.2025 Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . . |
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025 Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . . |
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025 В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . . |
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025 Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . . |
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025 Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . . |
Конвейеры ETL с Apache Airflow и Python
AI_Generated 13.05.2025 ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . . |
Выполнение асинхронных задач в Python с asyncio
py-thonny 12.05.2025 Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . . |
Работа с gRPC сервисами на C#
UnmanagedCoder 12.05.2025 gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . . |
Наверх
Sometimes the applications may miss registering the DLL or OCX files, due to which users will face errors and applications won’t work properly. Because of this, users will require to register the files by themselves. The registering and unregistering of the application extension files (DLL or OCX) are done by RegSvr32 utility. In this article, we will teach you how easily you can register a DLL or OCX file in your operating system.
Registering a DLL or OCX File in Windows
By registering a DLL or OCX, users are adding the information to the registry so that Windows can use those files. The information will be in the form of a name or CLSID. This makes it easier for Windows to find the correct DLL or OCX when a function related to it is used within another program. It will contain the path of these files through which the executable code for the component will be used. The information saved in the registry will always refer to the latest version of the component. This is required only in rare cases because in most cases the applications will register these files during installation. It can also be used for the repairing of the Windows issues that include these files. Some extra parameters that you can add to the commands:
- /u – Unregister the DLL or OCX file
- /s – Silent mode, it will show no message boxes.
- /I – If used without /u then calls DLLInstall(TRUE) to install and If used with /u then calls DllInstall(FALSE) to uninstall the DLL and DllUnregisterServer.
- /n – For not calling the DllRegister Server or DllUnregisterServer. This option must be used with /i.
You can only register the DLL or OCX files that are registerable. Some files will have no DLLRegisterServer() functions through which it can register. Those files are ordinary and have nothing to do with registering. An example can be taken from game DLL files that stay in the folder and do their job without getting registered in the first place.
Note: Make sure you already have the DLL or OCX file available before trying these methods.
Using the Elevated Command Prompt to Register a DLL or OCX File
- Hold the Windows key and press S to open the search function. Type cmd, right-click on it and choose Run as administrator option
Note: You can also press Alt + Shift + Enter after typing cmd in the search function.Opening elevated command prompt - Now type the command below to register the DLL or OCX file.
regsvr32 jscript.dll
Note: jscript.dll is the file name that you can change to whatever file you want to register.
Successfully registered DLL file - You can also register a DLL or OCX file that is located in a different location by typing the following command.
regsvr32 C:\Users\Kevin\Desktop\jscript.dll
Registering DLL on a different path - If the file is not registerable then you may get the error as shown below:
Error for not registering - Sometimes the error can be because you are trying to register a 32-bit DLL or OCX file through 64-bit Regsvr32. You need to use the 32-bit Regsvr32 that is located in the Syswow64 folder.
- You can type the following command to register 32-bit DLL or OCX in a 64-bit operating system.
%SystemRoot%\SysWOW64\regsvr32 jscript.dll
Registering 32-bit DLL file on 64-bit Windows
You can also use PowerShell with the same commands to register DLL or OCX files.
Kevin Arrows
Kevin Arrows is a highly experienced and knowledgeable technology specialist with over a decade of industry experience. He holds a Microsoft Certified Technology Specialist (MCTS) certification and has a deep passion for staying up-to-date on the latest tech developments. Kevin has written extensively on a wide range of tech-related topics, showcasing his expertise and knowledge in areas such as software development, cybersecurity, and cloud computing. His contributions to the tech field have been widely recognized and respected by his peers, and he is highly regarded for his ability to explain complex technical concepts in a clear and concise manner.
RegSvr32 is a built-in tool by Microsoft Windows, used to register system files such as .ocx files.
Open the Command Prompt
To register and unregister .ocx file, open Command Prompt as an administrator.
How to register a .ocx file
To register the .ocx file, open Command Prompt as an administrator, enter the installation folder, and run the «regsvr32» command. You’ll receive a confirmation if the .ocx file is successfully registered.
C:\User\Username>cd c:\windows\system32
C:\Windows\System32>regsvr32 filename.ocx
How to unregister a .ocx file
Unregistering an ocx file deletes the .ocx information from the Windows registry. Keep in mind some ocx files can’t be unregistered.
C:\User\Username>cd c:\windows\system32
C:\Windows\System32>regsvr32.exe /u filename.ocx
Сообщения об ошибках могут быть разные, например: «Component ‘MSCOMM32.OCX’ not correctly registered: file is missing or invalid», или «Приложению не удалось запуститься, поскольку MSVBVM50. DLL не был найден. Повторная установка приложения может исправить эту проблему», или «Runtime DLL/OCX File error». При этом в Windows Vista дополнительно появится окно Помощника по совместимости программ с сообщением Эта программа требует отсутствующий компонент Windows.
Краткая справка
• 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, необходимо:
1. Переустановить программу.
2. Если переустановка программы не помогает, нужно проверить наличие в системе требуемых файлов. Файлы *.dll и *.ocx, как правило, должны быть расположены в системной папке \WINDOWS\system32 (реже — в каталоге конкретной программы). Если файлы присутствуют, нужно зарегистрировать их.
Если требуемых файлов нет, найдите их в Интернете, скачайте и скопируйте в папку \WINDOWS\system32 и в каталог программы. Теперь нужно зарегистрировать их.
Как зарегистрировать файлы *.dll и *.ocx
Регистрация файлов *.dll и *.ocx производится с помощью сервера регистрации regsvr32.exe (дисковый адрес которого — \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.
Примечание
Использование команды regsvr32:
regsvr32 [/s] [/n] [/i[:строка_команд]] DLL-файл
/u — отменяет регистрацию DLL;
/s — «тихий» режим — окна сообщений не отображаются;
/i — вызывает DllInstall, передавая параметром необязательную строку_команд, при использовании с ключом /u вызывает DLLUnInstall;
/n — не вызывает DllRegisterServer; это может использоваться с ключом /i.
Если регистрация файлов *.dll и *.ocx прошла успешно, появится соответствующее сообщение, например, в Windows Vista появится окно RegSvr32 с сообщением «Успешное выполнение DllRegisterServer в C:\WINDOWS\system32\msvbvm50.dll».
Где искать файлы *.dll и *.ocx
Найти отсутствующие файлы *.dll и *.ocx можно с помощью поисковиков или на следующих ресурсах:
•DLL-files.com — Download all your missing dll-files
•Download and restore missing .DLL files
•Download and restore missing .ocx files
•www.dll-downloads.com — Download missing dll files you need immediately!
•Скачать dll-файлы