Как зарегистрировать ocx в windows 10 64 bit

Среди частых вопросов пользователей, особенно после того, как они сталкиваются с тем, что какая-то из библиотек 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.

Сам процесс регистрации в общем случае состоит из следующих шагов:

  1. Нажмите клавиши Win+R на клавиатуре (Win — клавиша с эмблемой Windows). Также можно нажать правой кнопкой мыши по кнопке «Пуск» в Windows 11 или Windows 10 и выбрать пункт контекстного меню «Выполнить».
  2. Введите команду regsvr32.exe путь_к_файлу (если путь к файлу содержит пробелы, возьмите весь путь в кавычки), например, для регистрации библиотеки DLL COMCNTR.DLL в 1С (для 64-бит) команда может иметь вид:
    regsvr32.exe "C:\Program Files\1cv8\8.3.19.1150\bin\comcntr.dll"

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

    Регистрация библиотеки DLL с помощью regsvr32

  3. Нажмите Ок или Enter.
  4. При успехе вы получите сообщение вида «Успешное выполнение DllRegisterServer в имя_файла.dll» или «Успешное выполнение DllRegisterServer и DllInstall в имя_файла.dll».
    Успешная регистрация библиотеки DLL

Возможна и неудача — сообщение об ошибке «Модуль dll загружен, но точка входа DllRegisterServer не найдена. Проверьте, что файл является правильным файлом DLL или OCX и повторите попытку». Подробнее об ошибке — в следующем разделе статьи.

Ошибка регистрации regsvr32 точка входа DllRegisterServer не найдена

Дополнительно: для регистрации классов из библиотек 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, уменьшилось.


Рейтинг 4.95/193:

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

Сообщение было отмечено как решение

Решение

Подтверждаю.
me007, так не получится. Системная команда «Запуск от имени Администратора» не подхватывает 2-го параметра командной строки, будучи запущенной из строки поиска в меню «ПУСК».
Скорее всего недоделка Майкрософт.

Ремарка. Если биботеку планируется использовать постоянно, то прежде всего поместите ее в ситемную папку (c:\windows\system32 для 64-битных или c:\windows\SysWOW64 для 32-битных библиотек).
После регистрации ее физическое расположение меняться не должно, иначе процедуру придется повторить.

Способ 1.
Запустите интерпретатор от имени администратора
Затем укажите программу-регистратор и через пробел в кавычках путь и имя файла-библиотеки», нажмите {ENTER},
например:

Bash
1
regsvr32.exe "C:\users\Alex\Desktop\AniGIF.ocx"

Способ 2.
Ассоциируйте тип файла .OCX с программой regsvr32.exe
Тогда сможете регистрировать библиотеки простым двойным кликом.
Для этого:
1) Нажмите правой кнопкой мыши по библиотеке .OCX (или .DLL)
2) «Открыть с помощью…»
3) «Выбор программы»
4) «Выбор программы из списка установленных программ» -> OK
5) «Озбор»
6) В поле введите путь к программе-регистратору, например c:\Windows\System32\regsvr32.exe
Прим. библиотека должна находится в папке, к которой у текущего пользователя-администратора есть полные права на редактирование (например, рабочий стол).

Способ 3.
Используйте прилагаемый VBS скрипт.
Распакуйте и перетащите на скрипт регистрируемую библиотеку.
В скрипте использован принцип элевации прав через ShellExecute Runas объекта Shell.Application.

Развернуть код…

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
'Alan dot Kaplan at VA dot Gov 6/23/10
'This scriptlet shows you how run a vbscript with a UAC prompt
'and to permit choice of script host.  If OS pre-VISTA then UAC is ignored.
 
Option Explicit
Dim wshshell: Set WshShell = CreateObject("WScript.Shell")
 
If WScript.Arguments.Count = 0 Then
    Wscript.Echo "Перетащите библиотеку .DLL (.OCX) на этот скрипт" 
    WScript.Quit
end if
 
'0 Don't change host
'1 Run with Cscript
'2 Run with Wscript
 
ReRunUAC 2
 
'script continues...
'Demo code
 
WshShell.Run "regsvr32.exe " & """" & WScript.Arguments(0) & """",0,False
WScript.Quit
 
 
Sub ReRunUAC(iHost)
    If isElevated Then Exit Sub 
    Dim quote: quote=chr(34)
    Dim oWMI:  Set oWMI = GetObject("winmgmts:\\.\root\cimv2")
    Dim oShell: Set oShell = CreateObject("Shell.Application")
    Dim iWindow: iWindow = 0 '1 normal 2 minimized.  0 is bad, hidden
    Dim oOSInfo, OS
    Dim strHost, strArgs, i
    Select Case iHost
        Case'Don't change
            strHost =  wscript.FullName
        Case 1
            strHost = "Cscript.exe"
        Case 2
            strHost = "Wscript.exe"
        Case Else
            strHost = wscript.FullName
    End Select
    
    'Get list of arguments
 
    If WScript.Arguments.Count > 0 Then 
        For i = 0 To WScript.Arguments.Count-1
            strArgs =  strArgs & space(1) & WScript.Arguments(i)
        Next
    End If 
    'based in part on code at [url]http://support.microsoft.com/kb/958149[/url]
    ' On Vista and higher, handle UAC
    Set oOSInfo = oWMI.ExecQuery("SELECT version FROM Win32_OperatingSystem")
    For Each os in oOSInfo
        If Int(Left(os.Version, 1)) >= 6  Then
            'pass a fake argument if none for shellexecute
            If  WScript.Arguments.length = 0 Then strArgs = ""
            ' Use ShellExecute with runas verb to prompt for elevation
            Set oShell = CreateObject("Shell.Application")    
            oShell.ShellExecute strHost, quote & WScript.ScriptFullName & _
                quote & space(1) & strArgs, "", "runas", iWindow
            WScript.Quit(0)
        Else ' OS is pre Vista
            'if host does not matter and no UAC, continue
 
            If iHost = 0 then Exit Sub 
            
            'if running as Wscript and choice is Cscript, rerun as Cscript
            If IsCScript = False And iHost = 1 Then                 
                WshShell.Run "CScript.exe " & quote & WScript.ScriptFullName & quote & space(1) & strArgs, iWindow, false
                WScript.Quit(0)
            End If 
            'if running as Cscript and choice is Wscript, rerun as Wscript
            If IsCScript = True and iHost = 2 Then 
                WshShell.Run "Wscript.exe " & quote & WScript.ScriptFullName & quote & space(1) & strArgs, iWindow, false
                WScript.Quit(0)
            End If 
        End If
        Exit For
    Next
End Sub 
 
 
Function IsCScript()
    If (InStr(UCase(WScript.FullName), "CSCRIPT") <> 0) Then
        IsCScript = True
    Else
        IsCScript = False
    End If
End Function
 
Function isElevated ()'test whether user has elevated token  
    'based on [url]http://stackoverflow.com/questions/235822/vbscript-detect-whether-uac-elevated[/url]
    Dim oExecWhoami, oWhoamiOutput, strWhoamiOutput
    Set oExecWhoami = wshShell.Exec("whoami /groups") 
    Set oWhoamiOutput = oExecWhoami.StdOut 
    strWhoamiOutput = oWhoamiOutput.ReadAll 
    If InStr(1, strWhoamiOutput, "S-1-16-12288", vbTextCompare) Then 
        isElevated = True 
    Else
        isElevated = False  
    End If 
End Function

Вложения

Reg_with_Admin.rar (1.5 Кб, 313 просмотров)



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

А, в принципе, ТС и вопрос задал не корректно? О каком ОСХ речь?
Может это MSFLXGRD.OCX?
Так там не всё так просто



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

Я как-то давно сталкнулся с этим.
Какието контролы( например сомондиалог) работает и без регистрации если находится в папке с программой.
Какие-то держал в ресурсах потом выгружал ирегистрировал программно.
Пока не столкнулся с гридом.
Так вот с ним такой номер не проходит. Ему нужен только свой установщик.
Либо есть скрипты для регистации именно грида.
Но не просто regsvr32.exe



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:не знаю какие тэги ставить.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?XML version= "1.0"?>
 
<job>
 
<comment>
  Установка и регистрация MSFLXGRD.OCX
 {GsP}
</comment>
 
<object id = "shell" progid = "WScript.Shell"/>
<object id = "fso" progid = "Scripting.FileSystemObject"/>
 
<script language="VBScript">
 
  Set proc = shell.Environment("Process")
 
  sdir = proc("windir") + "\system32\MSFLXGRD3.OCX"
  fso.CopyFile "MSFLXGRD.OCX", sdir
 
  Return = shell.Run("regsvr32 " + sdir)
  shell.AppActivate Return
 
  Return = shell.Run("regedit /s flexreg.reg")
  shell.AppActivate Return
</script>
</job>

А к нему ещё файлик: ctrlreg.reg

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Windows Registry Editor Version 5.00
 
REGEDIT
HKEY_CLASSES_ROOT\Licenses = Licensing: Copying the keys may be a violation of established copyrights.
 
// Masked Edit Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\BC96F860-9928-11cf-8AFA-00AA00C00905 = mmimfflflmqmlfffrlnmofhfkgrlmmfmqkqj
 
// Chart Control 6.0 (OLEDB) license key
HKEY_CLASSES_ROOT\Licenses\12B142A4-BD51-11d1-8C08-0000F8754DA1 = aadhgafabafajhchnbchehfambfbbachmfmb
 
// Common Dialog Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905 = gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj
 
// ADO Data Control 6.0 (OLEDB) license key
HKEY_CLASSES_ROOT\Licenses\C4145310-469C-11d1-B182-00A0C922E820 = konhqhioohihphkouimonhqhvnwiqhhhnjti
 
// Common Controls-3 6.0 license key
HKEY_CLASSES_ROOT\Licenses\38911DA0-E448-11D0-84A3-00DD01104159 = mcpckchcdchjcjcclidcgcgchdqdcjhcojpd
 
// Windows Common Controls-2 5.0 (SP2) license key
HKEY_CLASSES_ROOT\Licenses\9E799BF1-8817-11cf-958F-0020AFC28C3B = uqpqnqkjujkjjjjqwktjrjkjtkupsjnjtoun
 
// Windows Common Controls license key
HKEY_CLASSES_ROOT\Licenses\57CBF9E0-6AA7-11cf-8ADB-00AA00C00905 = aahakhchghkhfhaamghhbhbhkbpgfhahlfle
 
// Data Bound Grid Control 5.0(SP3) license key
HKEY_CLASSES_ROOT\Licenses\556C75F1-EFBC-11CF-B9F3-00A0247033C4 = xybiedobrqsprbijaegcbislrsiucfjdhisl
 
// Data Bound List Controls 6.0 license key
HKEY_CLASSES_ROOT\Licenses\096EFC40-6ABF-11cf-850C-08002B30345D = knsgigmnmngnmnigthmgpninrmumhgkgrlrk
 
// Internet Transfer Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\78E1BDD1-9941-11cf-9756-00AA00C00908 = yjrjvqkjlqqjnqkjvprqsjnjvkuknjpjtoun
 
// Multimedia Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\B1EFCCF0-6AC1-11cf-8ADB-00AA00C00905 = qqkjvqpqmqjjpqjjvpqqkqmqvkypoqjquoun
 
// Chart Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\7C35CA30-D112-11cf-8E72-00A0C90F26F8 = whmhmhohmhiorhkouimhihihwiwinhlosmsl
 
// Windows Common Controls-2 6.0 license key
HKEY_CLASSES_ROOT\Licenses\4F86BADF-9F77-11d1-B1B7-0000F8753F5D = iplpwpnippopupiivjrioppisjsjlpiiokuj
 
// Windows Common Controls 6.0 license key
HKEY_CLASSES_ROOT\Licenses\ED4B87C4-9F76-11d1-8BF7-0000F8754DA1 = knlggnmntgggrninthpgmnngrhqhnnjnslsh
 
// Comm Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905 = kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
 
// DataGrid Control 6.0 (OLEDB) license key
HKEY_CLASSES_ROOT\Licenses\CDE57A55-8B86-11D0-b3C6-00A0C90AEA82 = ekpkhddkjkekpdjkqemkfkldoeoefkfdjfqe
 
// DataList Control 6.0 (OLEDB) license key
HKEY_CLASSES_ROOT\Licenses\A133F000-CCB0-11d0-A316-00AA00688B10 = cibbcimbpihbbbbbnhdbeidiocmcbbdbgdoc
 
// DBWin license key
HKEY_CLASSES_ROOT\Licenses\D015B071-D2ED-11d0-A31A-00AA00688B10 = gjdcfjpcmjicjcdcoihcechjlioiccechepd
 
// MSDBRPT license key
HKEY_CLASSES_ROOT\Licenses\9DF1A470-BA8E-11D0-849C-00A0C90DC8A9 = cchcqjejhcgcqcfjpdfcdjkckiqikchcojpd
 
// FlexGrid Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\1F3D5522-3F42-11d1-B2FA-00A0C908FB55 = gcfjdjecpchcncdjpdejijgcrdoijjfcieod
 
// MAPI Controls 6.0 license key
HKEY_CLASSES_ROOT\Licenses\899B3E80-6AC6-11cf-8ADB-00AA00C00905 = wjsjjjlqmjpjrjjjvpqqkqmqukypoqjquoun
 
// MSRDO 2.0 license key
HKEY_CLASSES_ROOT\Licenses\B1692F60-23B0-11D0-8E95-00A0C90F26F8 = mjjjccncgjijrcfjpdfjfcejpdkdkcgjojpd
 
// RemoteData Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\43478d75-78e0-11cf-8e78-00a0d100038e = imshohohphlmnhimuinmphmmuiminhlmsmsl
 
// Windowless Controls 6.0 license key
HKEY_CLASSES_ROOT\Licenses\80E80EF0-DBBE-11D0-BCE2-00A0C90DCA10 = qijimitpmpnpxplpvjnikpkpqoxjmpkpoivj
 
// PictureClip Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\6FB38640-6AC7-11cf-8ADB-00AA00C00905 = gdjkokgdldikhdddpjkkekgknesjikdkoioh
 
// Rich TextBox Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\DC4D7920-6AC8-11cf-8ADB-00AA00C00905 = iokouhloohrojhhhtnooiokomiwnmohosmsl
 
// Sheridan Tab Control license key
HKEY_CLASSES_ROOT\Licenses\190B7910-992A-11cf-8AFA-00AA00C00905 = gclclcejjcmjdcccoikjlcecoioijjcjnhng
 
// SysInfo Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\E32E2733-1BC5-11d0-B8C3-00A0C90DCA10 = kmhfimlflmmfpffmsgfmhmimngtghmoflhsg
 
// Winsock Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\2c49f800-c2dd-11cf-9ad6-0080c7e7b78d = mlrljgrlhltlngjlthrligklpkrhllglqlrk

Конкретно его я не проверял так как сделал установщик, но нашел всё в теме, где обвуждалась проблема именно регистрации грда



0



Заблокирован

30.12.2012, 14:19

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



0



42 / 20 / 9

Регистрация: 15.01.2015

Сообщений: 95

21.03.2017, 12:39

Привет всем. Прошу помощи, уже сил нет. Не могу зарегистрировать компонент MSCOMCTL.OCX.
Все работало нормально. Теперь не могу проект открыть из-за него и не могу добавить компонент в новый проект. Что самое интересное стоит VB6 на работе — все нормально открывается и работает (ставился на рабочий ноут и домашний с 1 дистрибутива), а на домашней машине какой то глюк. Уже специально поставил такую же ОС (Windows 7 32 бит) как на работе на домашний комп — все равно не хочет регистрировать компонент.

Пробовал по разному: и качал файл этот с интернета и брал сам файл MSCOMCTL.OCX с рабочего ноута и ставил на домашний в папку System32. Регистрирую через командную строку… cmd (запускаю от админа) и соответственно Regsvr32 mscomctl.ocx — пишет «Успешное выполнение DllRegisterServer в mscomctl.ocx«. Запускаю новый проект, хочу добавить компонент Microsoft Windows Common Controls 6.0 (SP6) — пишет «Object library not registered«.
Пробовал как писал Dragokas способом 2 (через ассоциацию) — указываю компоненту чем открывать — пишет «Не удается импортировать «C:\Windows\System32\MSCOMCTL.OCX»: Указанный файл не является файлом данных реестра. Возможен только импорт двоичных файлов данных реестра«. И 3 тоже способ дает результат «Object library not registered«.
Кто что предложит? Может систему XP поставить?



0



Dragokas

18024 / 7727 / 892

Регистрация: 25.12.2011

Сообщений: 11,502

Записей в блоге: 16

21.03.2017, 15:31

Прежде чем регистрировать эту компоненту, выполните ещё такую команду:

Windows Batch file
1
REGTLIB.EXE %SystemRoot%\System32\msdatsrc.tlb



2



42 / 20 / 9

Регистрация: 15.01.2015

Сообщений: 95

21.03.2017, 17:15

Похоже что дело в обновлениях. На «чистой винде» удалил из обновления Internet Explorer 11 — создал новый проект и попробовал добавить компонент — компонент добавился без проблем. Наверно старую винду надо чистить от обновлений. У меня оказывается там стояло автоматическое обновление Windows.

Добавлено через 1 час 1 минуту
Проблему решил. Не зря взял на работу домашний ноут )))))). Компонент встал на старую винду.
Сделал так. Скопировал компонент MSCOMCTL.OCX с рабочего ноута на домашний ноут в папку System и указал в проекте VB6 путь к этому компоненту. И все заработало. Может еще какие то танцы с бубном делал но уже не помню )))). Регистрировал/копировал и в папку System32 и в SysWoW64 (у меня кстати на домашнем 64 битная ОС)… ничего не помогало.



1



Dragokas

18024 / 7727 / 892

Регистрация: 25.12.2011

Сообщений: 11,502

Записей в блоге: 16

22.03.2017, 23:09

Сообщение от paau

Регистрировал/копировал и в папку System32 и в SysWoW64 (у меня кстати на домашнем 64 битная ОС)… ничего не помогало.

Вероятно, в Вашем случае требовалось сначала снять регистрацию:

Windows Batch file
1
regsvr32 /u %SystemRoot%\system32\MSCOMCTL.OCX



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.

How to Register DLL or OCX file in Windows

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

  1. 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
  2. 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
  3. 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
  4. If the file is not registerable then you may get the error as shown below:

    Error for not registering
  5. 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.
  6. 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.

Windows Command Tool (CMD)

Open Windows Command Tool as 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-файлы

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Сенсор kinect для windows v2
  • Как отключить облачную защиту в windows 10
  • Grub не видит windows 7 что делать
  • Удаленное управление windows 10 pro
  • Windows 7 ultimate enterprise professional отличия