powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ручная регистрация ActiveX dll
41 сообщений из 41, показаны все 2 страниц
Ручная регистрация ActiveX dll
    #38862109
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня суток господа асы!
На другой машине создавал dll , дома проект их не видит. Их как-то можно вручную зарегистрировать, чтобы снова все не компилировать или не комментировать вечно строки кода.
Спасибо за помощь заранее!
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38862229
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameron,

Уже не раз обсуждалось . Способов несколько.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38862241
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так я пытался вручную, НО когда пытаюсь зайти в regsvr32 получается вот что.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38862242
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameron,

вы про командную строку что-нибудь слышали?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38862258
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proвы про командную строку что-нибудь слышали?

стыдно, все получилось.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38862263
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameron,

http://www.excel-vba.ru/general/moi-programmy-dlya-raboty-s-excel/pri-zapuske-poyavlyaetsya-oshibka-component-comdlg32-ocx/

там речь про отдельный компонент, но процедура точно та же.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38862271
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, через cmd сделал
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38943969
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1)Скомпилировал проект. Проверил его работоспособность( dll находятся в папке с проектом)
2)Создал дистрибут, в котором указал куда устанавливать dll (windows\system32)
3)Установил программу. Не работает.

Я так понимаю он должен был при установке зарегистрировать эту dll.
Потом решил проверить и создал дистрибут в котором указал чтобы dll установилась в папку с прогой. Тогда все работает.

Как быть подскажите? ведь изначально планировал проверять на наличие dll.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38943975
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прав наверное не хватило. Или инсталлятор ее даже не пытался регистрировать.

Не надо устанавливать свои файлы в System32, это моветон.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38943982
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyНе надо устанавливать свои файлы в System32, это моветон
Ну какая разница куда. Суть важна. мне нужно не в установочную папку а кинуть куда то подальше. Но прога ее не видит(((
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38943990
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronAntonariyНе надо устанавливать свои файлы в System32, это моветон
Ну какая разница куда. Суть важна. мне нужно не в установочную папку а кинуть куда то подальше. Но прога ее не видит(((Нет никакого смысла кидать ее в другую папку, создавая самому себе разные сложности. Но если хочется, то лучше сюда: %userprofile%\AppData\Local\папка программы
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38943996
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyНет никакого смысла кидать ее в другую папку, создавая самому себе разные сложности. Но если хочется, то лучше сюда: %userprofile%\AppData\Local\папка программы
Извините, это что еще за путь?? Мне нужно dll закинуть подальше от папки в которую инсталлируется программа. Вся проблема в том, что походу dll не регестрируется. Я даже пробовал так- установил. Проверил наличие в system32 этого dll. Вручную его зарегестрировал и все-равно не работает. Работает только если этот dll инсталлируется в AppFolder
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38943997
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты вручную зарегистрируешь dll, которую скопировал инсталлятор в НЕ AppFolder, прога заработает?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38944159
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИзвините, это что еще за путь?? http://windows.microsoft.com/ru-ru/windows-8/what-appdata-folder
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38945818
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyавторИзвините, это что еще за путь?? http://windows.microsoft.com/ru-ru/windows-8/what-appdata-folder

Спасибо, ликбез проведен!!. Только у меня сразу возник вопрос. Папка Local хранит в основном временные файлы интернета. Если пользователь будет юзать C-Cleaner то может благополучно все оттуда грохнуть, я прав?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38945821
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProЕсли ты вручную зарегистрируешь dll, которую скопировал инсталлятор в НЕ AppFolder, прога заработает?
Не отвечаю так долго, потому что нашел в чем проблема была. В Setup Factory в более глубоких настройках файлов есть 2 галочки - регистрация библиотек. Ткнул их и все заработало. Сейчас появились другие проблемы. Не хочу вас зря беспокоить, постараюсь сам разобраться.
Спасибо!
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38945938
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronСпасибо, ликбез проведен!!. Только у меня сразу возник вопрос. Папка Local хранит в основном временные файлы интернета. Если пользователь будет юзать C-Cleaner то может благополучно все оттуда грохнуть, я прав?а если пользователь будет юзать "format c:"?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38945973
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proа если пользователь будет юзать "format c:"?

Ну это уж вообще глобально)) Если пользователь будет переустанавливать или форматировать С, то уж простите. И наверное это как минимум реже делается чем чистка AppData. Сам частенько это делаю
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38945981
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronСам частенько это делаюТо есть ты регулярно убиваешь у себя все настройки большинства приложений?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38945984
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProТо есть ты регулярно убиваешь у себя все настройки большинства приложений?
Я про папку Local
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38945989
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Кстати, один хрен AppData на С.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946001
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronПапка Local хранит в основном временные файлы интернета. Если пользователь будет юзать C-Cleaner то может благополучно все оттуда грохнуть, я прав?Папка Local хранит большинство настроек большинства приложений. Я не знаю, что такое C-Cleaner, но если ты считаешь, что он чистит эту папку подчистую, то у тебя должно перестать работать большинство установленных приложений.

Открой ее да посмотри, что там лежит, что рассуждать-то?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946378
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProОткрой ее да посмотри, что там лежит, что рассуждать-то?
Да действительно. И тем более это не самая острая проблема.
Не понимаю вот чего.
При компиляции в exe все работает.(Запускаю прогу - .exe) работает проверка:
1) Если серийник проца, винды или дата создания папки Windows пусты, то считываем их и сохраняем в exe при возникновении события unload me
2) Если они не пусты( второе открытие проги), то считываются из exe и сверяются с оригинальными.

Так вот при компиляции все работает. А как только загоняю все в дистрибут - прога ничинает работать по сценарию - дата создания папки windows не совпадает. Вообще не понимаю из-за чего.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946379
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поправлюсь - *Загоняю в дистрибут и устанавливаю на ПК
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946382
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как ты записываешь данные в exe?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946390
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proа как ты записываешь данные в exe?
Юзаю готовый код. Ибо сам еще не настолько продвинут чтобы писать такой.
Код: vbnet
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.
Public Sub LoadFromEXE()
  Dim hRes As Long, hMem As Long, ptr As Long, l As Long, Msg As String
   hRes = FindResource(0, StrPtr(ResName), RT_RCDATA)
     If hRes Then
        hMem = LoadResource(0, hRes)
        If hMem Then
            l = SizeofResource(0, hRes)
            If l Then
                ptr = LockResource(hMem)
                GetMem4 ByVal ptr, l
                  Msg = Space(l \ 2)
                    CopyMemory ByVal StrPtr(Msg), ByVal ptr + 4, l
                       Dim separate() As String
                           separate = Split(Msg, "@/@\@")
                       znachenieSN = separate(0)
                    Win8ProductKey = separate(1)
                         FolderInf = separate(2)
               
            End If
        End If
    End If
End Sub


Public Sub StoreToExe()
glueStr = znachenieSN + "@/@\@" + Win8ProductKey + "@/@\@" + FolderInf
    Dim hLib As Long
    Dim td As ThreadData, ts As Long, path As String, pi As PROCESS_INFORMATION, si As STARTUPINFO, hProc As Long, lpDat As Long, pt As Long
    Dim Code() As Byte, Data() As Byte, ret As Long, thr As Long, otd As Long
    hLib = GetModuleHandle("kernel32")
    If hLib = 0 Then MsgBox "Error": Exit Sub
    td.lpWFSO = GetProcAddress(hLib, "WaitForSingleObject")
    td.lpCH = GetProcAddress(hLib, "CloseHandle")
    td.lpBUR = GetProcAddress(hLib, "BeginUpdateResourceW")
    td.lpUR = GetProcAddress(hLib, "UpdateResourceW")
    td.lpEUR = GetProcAddress(hLib, "EndUpdateResourceW")
    td.lpEP = GetProcAddress(hLib, "ExitProcess")
    
    path = App.path & "\" & App.EXEName & ".exe" & vbNullChar
    CreateCode Code
    ts = LenB(path) + LenB(ResName) + (UBound(Code) + 1) + LenB(glueStr) + Len(td) + 4
    si.cb = Len(si)
    si.dwFlags = STARTF_USESHOWWINDOW
    si.wShowWindow = SW_HIDE
    If CreateProcess(StrPtr(Environ("ComSpec")), 0, ByVal 0&, ByVal 0&, False, CREATE_SUSPENDED, ByVal 0, 0, si, pi) = 0 Then
        MsgBox "error": Exit Sub
    End If
    hProc = GetCurrentProcess() 
    DuplicateHandle hProc, hProc, pi.hProcess, td.hParent, 0, False, DUPLICATE_SAME_ACCESS
    td.dwDataCount = LenB(glueStr) + 4       
   
    lpDat = VirtualAllocEx(pi.hProcess, ByVal 0, ts, MEM_COMMIT Or MEM_RESERVE, PAGE_EXECUTE_READWRITE)
    If lpDat = 0 Then
        MsgBox "Error": CloseHandle pi.hThread: CloseHandle pi.hProcess
        VirtualFreeEx pi.hProcess, ByVal lpDat, 0, MEM_RELEASE
        Exit Sub
    End If
   
    ReDim Data(ts - 1)
   
    CopyMemory Data(pt), ByVal StrPtr(path), LenB(path)
    td.lpFileName = lpDat + pt: pt = pt + LenB(path)
   
    CopyMemory Data(pt), ByVal StrPtr(ResName), LenB(ResName)
    td.lpRsrcName = lpDat + pt: pt = pt + LenB(ResName)
   
    GetMem4 LenB(glueStr), Data(pt)          
    CopyMemory Data(pt + 4), ByVal StrPtr(glueStr), LenB(glueStr)
    td.lpData = lpDat + pt: pt = pt + LenB(glueStr) + 4
    
    CopyMemory Data(pt), td, Len(td): otd = pt: pt = pt + Len(td)
    
    CopyMemory Data(pt), Code(0), UBound(Code) + 1
   
    If WriteProcessMemory(pi.hProcess, lpDat, Data(0), ts, ret) Then
        If ret <> ts Then
            MsgBox "Error": CloseHandle pi.hThread: CloseHandle pi.hProcess
            VirtualFreeEx pi.hProcess, ByVal lpDat, 0, MEM_RELEASE
            Exit Sub
        End If
       
        thr = CreateRemoteThread(pi.hProcess, ByVal 0, 0, lpDat + pt, ByVal lpDat + otd, 0, 0)
        If thr = 0 Then
            MsgBox "Error": CloseHandle pi.hThread: CloseHandle pi.hProcess
            VirtualFreeEx pi.hProcess, ByVal lpDat, 0, MEM_RELEASE
            Exit Sub
        End If
    End If
    
    CloseHandle thr
    CloseHandle pi.hThread
    CloseHandle pi.hProcess
End Sub
Private Sub CreateCode(Code() As Byte)
    ReDim Code(63)
    Code(0) = &H8B: Code(1) = &H74: Code(2) = &H24: Code(3) = &H4: Code(4) = &H31: Code(5) = &HDB: Code(6) = &H53: Code(7) = &H6A
    Code(8) = &HFF: Code(9) = &HFF: Code(10) = &H36: Code(11) = &HFF: Code(12) = &H56: Code(13) = &H14: Code(14) = &HFF: Code(15) = &H36
    Code(16) = &HFF: Code(17) = &H56: Code(18) = &H18: Code(19) = &H53: Code(20) = &HFF: Code(21) = &H76: Code(22) = &H4: Code(23) = &HFF
    Code(24) = &H56: Code(25) = &H1C: Code(26) = &H89: Code(27) = &H4: Code(28) = &H24: Code(29) = &H85: Code(30) = &HC0: Code(31) = &H74
    Code(32) = &H1B: Code(33) = &HFF: Code(34) = &H76: Code(35) = &H10: Code(36) = &HFF: Code(37) = &H76: Code(38) = &HC: Code(39) = &H53
    Code(40) = &HFF: Code(41) = &H76: Code(42) = &H8: Code(43) = &H6A: Code(44) = &HA: Code(45) = &HFF: Code(46) = &H74: Code(47) = &H24
    Code(48) = &H14: Code(49) = &HFF: Code(50) = &H56: Code(51) = &H20: Code(52) = &H53: Code(53) = &HFF: Code(54) = &H74: Code(55) = &H24
    Code(56) = &H4: Code(57) = &HFF: Code(58) = &H56: Code(59) = &H24: Code(60) = &H53: Code(61) = &HFF: Code(62) = &H56: Code(63) = &H28
End Sub
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946393
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну split и всякие мелочи уже дописал я, чтобы адаптировать под свою прогу
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946396
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ужас, зачем всё это? у вас там windows defender не ругается на ваше приложение?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946400
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_Oneужас, зачем всё это? у вас там windows defender не ругается на ваше приложение?
Ну надо, раз сделал. Моя допотопная защита. простите учусь другого пока не умею. Хочу хоть это допилить.

Нет не ругается.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946401
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FolderInf как формируется?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946404
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProFolderInf как формируется?
Код: vbnet
1.
FolderInf = FileDateTime(Environ("WINDIR"))
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946413
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946414
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а лучше так:

Код: vbnet
1.
2.
3.
4.
5.
Dim fso As New FileSystemObject
Dim fil As File

Set fil = fso.GetFile("C:\foo.txt")
Debug.Print fil.DateLastModified
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946421
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

Зачем мне это? Англ. не в совершенстве знаю. Да и я же сказал что компилированный exe работает. Вот поэтому и решил у вас спросить. В чем может быть трабла. Где искать. Ладно если бы компилировал и он то же выдавал.
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946422
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только я не пойму зачем нужна дата последней модификации?
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946433
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_Oneтолько я не пойму зачем нужна дата последней модификации?

Хочу привязать к компу( определенному)
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946443
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdekameronKonst_Oneтолько я не пойму зачем нужна дата последней модификации?

Хочу привязать к компу( определенному)

обычно делают комплексный ключ: номер материнки+номер hdd+номер сетевой
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946656
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38946799
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ATM-TURBO 2,

Это регистрация dll. Вопрос в другом был....
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38947920
vdekameron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На 2 машины норм установил. На третей при запуске сразу вылезла ошибка. Из-чего она могла произойти?(((
...
Рейтинг: 0 / 0
Ручная регистрация ActiveX dll
    #38948373
vdekameron,

вполне возможно, что проблема обозначена в описании ошибки :)
Dependency Walker в помощь.
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ручная регистрация ActiveX dll
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]