Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/165: Рейтинг темы: голосов - 165, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 23.10.2012
Сообщений: 135
1

Не получается зарегистрировать компонент *.ocx

29.12.2012, 22:53. Показов 33281. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как зарегистрировать .OCX? помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2012, 22:53
Ответы с готовыми решениями:

Как зарегистрировать MCI32.OCX
Доброго времени суток, на другом компе где нету vb программа не работает и пишет мол нет MCI32.OCX...

Возможно ли зарегистрировать OCX в Windows 7 x32 под учетной записью пользователя
Возможно ли зарегистрировать OCX в Windows 7 x32 под учетной записью пользователя (не админ).....

Как зарегистрировать file.ocx на другом компе если там такой уже есть но другой версии?
Nujna malenkaia podskazka. Kak zaregistrirovat file.ocx na drugom kompe esli tam takoy uje est no...

OCX-компонент для работы с FTP
Privet vsem kto mojet mnye podskazat gde ya mogu vzyat ocx component dlya raboti FTP. Toist ya...

17
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
30.12.2012, 00:08 3
Поищите по regsvr32, например
Проблемы с регистрацией Mscomctl.ocx?
Регистрация ActiveX-DLL без прав администратора (UAC включен)
и т.д.
0
0 / 0 / 1
Регистрация: 23.10.2012
Сообщений: 135
30.12.2012, 01:00  [ТС] 4
не получается зарегистрировать компонент .OCX. выдает ошибку, что делать?


-запускаю от имени админа, после выскакивает такая ошибка
Миниатюры
Не получается зарегистрировать компонент *.ocx  
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
30.12.2012, 02:27 5
Лучший ответ Сообщение было отмечено как решение

Решение

Подтверждаю.
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
Вложения
Тип файла: rar Reg_with_Admin.rar (1.5 Кб, 303 просмотров)
3
Заблокирован
30.12.2012, 10:55 6
При любой регистрации компонента в windows seven любой версии и разрядности надо запускать командную строку от имени администратора!

Любой компонент который вы желаете добавить в x64 разрядную операционную систему, необходимо компонент копировать только в \windows\syswow64

Написание в командной строке такое: regsvr32.exe c:\windows\syswow64\moy.ocx где moy.ocx ваш .ocx файл!
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
30.12.2012, 10:55 7
А, в принципе, ТС и вопрос задал не корректно? О каком ОСХ речь?
Может это MSFLXGRD.OCX?
Так там не всё так просто
0
Заблокирован
30.12.2012, 10:56 8
Alex77755, Все так же просто, если его нет в системе, тогда ищем его в установочном архиве, есть всегда, далее тащим его в выше описанные мною папки и выполняем процесс регистрации компонента в системе по методу Dragokas, или мой, а есть он всегда в архиве, ибо при установке он его копирует в систему, а если его там нет, установка не будет выполнена.
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
30.12.2012, 10:58 9
А пробовал?
0
Заблокирован
30.12.2012, 10:59 10
Alex77755, Да, скачивал 4 или более сборки с нета, где данный компонент отсутствовал, установщик ругался на отсутствие такового в архиве.
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
30.12.2012, 11:07 11
Я как-то давно сталкнулся с этим.
Какието контролы( например сомондиалог) работает и без регистрации если находится в папке с программой.
Какие-то держал в ресурсах потом выгружал ирегистрировал программно.
Пока не столкнулся с гридом.
Так вот с ним такой номер не проходит. Ему нужен только свой установщик.
Либо есть скрипты для регистации именно грида.
Но не просто regsvr32.exe
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
30.12.2012, 11:47 12
Я многократно регистрировал MSFlxgrd... всегда хватало regsvr32 + адм. доступ.
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
30.12.2012, 14:15 13
Не спорю, но при установке программс флексгридом даже по сообщениям было видно, что грид устанавливается и регистрируется не как обычный контрол. А потом попался вот такой файли к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 14
Alex77755, Второй файл это лицензия что-то типа того, на право его использования, чтобы не вылазило сообщение о регистрации компонента и его покупке.
0
42 / 20 / 9
Регистрация: 15.01.2015
Сообщений: 95
21.03.2017, 12:39 15
Привет всем. Прошу помощи, уже сил нет. Не могу зарегистрировать компонент 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
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
21.03.2017, 15:31 16
Прежде чем регистрировать эту компоненту, выполните ещё такую команду:

Windows Batch file
1
REGTLIB.EXE %SystemRoot%\System32\msdatsrc.tlb
2
42 / 20 / 9
Регистрация: 15.01.2015
Сообщений: 95
21.03.2017, 17:15 17
Похоже что дело в обновлениях. На "чистой винде" удалил из обновления Internet Explorer 11 - создал новый проект и попробовал добавить компонент - компонент добавился без проблем. Наверно старую винду надо чистить от обновлений. У меня оказывается там стояло автоматическое обновление Windows.

Добавлено через 1 час 1 минуту
Проблему решил. Не зря взял на работу домашний ноут )))))). Компонент встал на старую винду.
Сделал так. Скопировал компонент MSCOMCTL.OCX с рабочего ноута на домашний ноут в папку System и указал в проекте VB6 путь к этому компоненту. И все заработало. Может еще какие то танцы с бубном делал но уже не помню )))). Регистрировал/копировал и в папку System32 и в SysWoW64 (у меня кстати на домашнем 64 битная ОС)... ничего не помогало.
1
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
22.03.2017, 23:09 18
Цитата Сообщение от paau Посмотреть сообщение
Регистрировал/копировал и в папку System32 и в SysWoW64 (у меня кстати на домашнем 64 битная ОС)... ничего не помогало.
Вероятно, в Вашем случае требовалось сначала снять регистрацию:

Windows Batch file
1
regsvr32 /u %SystemRoot%\system32\MSCOMCTL.OCX
0
22.03.2017, 23:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2017, 23:09
Помогаю со студенческими работами здесь

Как незаметно зарегистрировать компонент с помощью regsvr32.exe?
Есть ли какой-нибудь ключ, чтобы при регистрации компонента на чистом компе с помощью regsvr32.exe...

Не удается зарегистрировать imgedit.ocx
Windows 7 64 битный Run-timr error &quot;339&quot; imgedit.ocx При попытке перерегистрации imgedit.ocx ...

Невозможно зарегистрировать DLL/OCX
Добрый день. Помогите, пожалуйста. при попытке установки Kutools for Excel (Надстройка для Экселя)...

Как программно зарегистрировать новый контрол *.ocx
Помогите господа и товарищи программеры!!! Я создал програмулку в Excel c применением UserForm и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru