Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
1 / 1 / 1
Регистрация: 04.12.2010
Сообщений: 56

При первом запуске программы автоматическая установка необходимых библиотек

05.06.2014, 17:01. Показов 3031. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите. Как можно реализовать на VB автоматическую установку библиотек которые используются в проекте , непосредственно при первом запуске программы (программа без установки setup, просто exe'шный файл).
Либо может отдельное приложение которое зарегистрирует в системе библиотеки. А то через командную строку и regsvr32 это все долго) Подскажите вариант и возможное решение данной проблемы пожалуйста)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2014, 17:01
Ответы с готовыми решениями:

Регистрация библиотек при первом запуске
Как при первом запуске программы зарегистрировать необходимые библиотеки? Вручную не нужно, так как программа устанавливается setup'ом .

Проверка всех необходимых DLL при запуске программы
Добрый день. Как сделать так чтобы при запуске программа проверяла сразу наличие всех необходимых DLL а не тогда когда будет вызвана эта...

Сообщение при первом запуске программы
Как сделать так, чтобы при первом запуске программы, вадавало любое сообщение (MsgBox), а при всех последующих - ничего не вылезало...

24
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
05.06.2014, 18:14
https://www.cyberforum.ru/post6232416.html

Добавлено через 9 минут
а вообще, нужно создавать правильный инсталяциионный пакет
чтоб его можно было установить и деинсталировать
я выкладывал инфу, меня забанили за это (нарушение авторских прав)
у меня есть всё !, буду продовать наверное, раз бесплатно нельзя
..пойду состовлять прайс-лист
1
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
05.06.2014, 18:17
Илюха)), каким образом ты хочешь использовать библиотеки? Какие библиотеки?
0
1 / 1 / 1
Регистрация: 04.12.2010
Сообщений: 56
05.06.2014, 20:10  [ТС]
ну такие вот как MSCAL.OCX , msstdfmt.dll , просто ошибка вылетает когда прогу запускаю на другом компе . А не использовать эти библиотеки у себя в проекте не охото)
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
05.06.2014, 20:43
там еще лицензия к компонентам идёт, я гдето подробно рассказывал об этом
и даже выложил около сотни ключей, в списке самых расспространенных компонентов
при регистрации компонента .ocx , я и говорю, все это может встроенный дистрибутив
только его хакнуть нужно было, что я и сделал а меня только и банят за это

Добавлено через 2 минуты
Поищи мою тему.. Логика регистрации файлов

Добавлено через 4 минуты
так-же у себя в блогах я кое чего рассказывал, правда справедливые
надсмоторщики вежливо подкоректировали мои личные записи
сейчас я в другом месте в основном обитаю, а здесь, я скачиваю свои-же файлы
пока опять не забанили
0
1 / 1 / 1
Регистрация: 04.12.2010
Сообщений: 56
05.06.2014, 20:54  [ТС]
ну понятно. Погуглю еще по этому поводу.
Найти бы канешно готовое решение))

Добавлено через 6 минут
ну как я понял у тебя есть готовые решения , но они будут стоит денежку?)
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
05.06.2014, 21:14
конечно, я сейчас доделаю кое что, а потом выложу на своём
сайте или страничке у программеров рекламный прайс
сейчас я занимаюсь автоматизацией кодов и блок схем )))

Добавлено через 56 секунд
и не только на байсике...
даже раскомпиливанием стал заниматься...

Добавлено через 6 минут
тоесть кому-то надо, раскомпилировать интересную прогу
мне отправляют заявку, я на автопилоте всё делаю, дожидаюсь
гонорара и высылаю полностью раскомпиленный и откоментированный код...

Добавлено через 1 минуту
с блок схемой в подарок ..как бонус
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
05.06.2014, 21:16
Илюха)), можно использовать DLL не регистрируя ее в реестре, для этого нужно добавить соответствующий манифест и тогда можно хранить DLL в своей папке. Также можно нерегистрируя напрямую работать с DLL, т.к. регистрация в некоторых случаях невозможна без прав админа. Работая напрямую с DLL можно ее засунуть внутрь EXE файла и обойтись одним файлом.
1
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
05.06.2014, 21:26
пока-что на первом этапе выглядит например так...

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
Private Sub Form_Initialize() '401C30
  loc_00401C30: push ebp
  loc_00401C31: mov ebp, esp
  loc_00401C33: sub esp, 0000000Ch
  loc_00401C36: push 004010B6h ; __vbaExceptHandler
  loc_00401C3B: mov eax, fs:[00h]
  loc_00401C41: push eax
  loc_00401C42: mov fs:[00000000h], esp
  loc_00401C49: sub esp, 0000001Ch
  loc_00401C4C: push ebx
  loc_00401C4D: push esi
  loc_00401C4E: push edi
  loc_00401C4F: mov var_C, esp
  loc_00401C52: mov var_8, 00401098h
  loc_00401C59: mov ebx, Me
  loc_00401C5C: mov eax, ebx
  loc_00401C5E: and eax, 00000001h
  loc_00401C61: mov var_4, eax
  loc_00401C64: and ebx, FFFFFFFEh
  loc_00401C67: push ebx
  loc_00401C68: mov Me, ebx
  loc_00401C6B: mov ecx, [ebx]
  loc_00401C6D: call [ecx+04h]
  loc_00401C70: mov eax, [4032ECh]
  loc_00401C75: xor edi, edi
  loc_00401C77: cmp eax, edi
  loc_00401C79: mov var_18, edi
  loc_00401C7C: mov var_1C, edi
  loc_00401C7F: jnz 401C91h
  loc_00401C81: push 004032ECh
  loc_00401C86: push 00401AE4h
  loc_00401C8B: call [00401064h] ; __vbaNew2
  loc_00401C91: mov esi, [004032ECh] ; 
  loc_00401C97: lea eax, var_18
  loc_00401C9A: push eax
  loc_00401C9B: push esi
  loc_00401C9C: mov edx, [esi]
  loc_00401C9E: call [edx+14h]
  loc_00401CA1: cmp eax, edi
  loc_00401CA3: fclex
  loc_00401CA5: jnl 401CB6h
  loc_00401CA7: push 00000014h
  loc_00401CA9: push 00401AD4h
  loc_00401CAE: push esi
  loc_00401CAF: push eax
  loc_00401CB0: call [00401018h] ; __vbaHresultCheckObj
  loc_00401CB6: mov eax, var_18
  loc_00401CB9: lea ecx, var_1C
  loc_00401CBC: push eax
  loc_00401CBD: push ecx
  loc_00401CBE: mov var_18, edi
  loc_00401CC1: call [00401020h] ; Set (object)
  loc_00401CC7: lea edx, var_1C
  loc_00401CCA: push edx
  loc_00401CCB: FramesRePaint()
  loc_00401CD0: mov esi, [00401014h] ; __vbaSetSystemError
  loc_00401CD6: call __vbaSetSystemError
  loc_00401CD8: mov edi, [0040108Ch] ; __vbaFreeObj
  loc_00401CDE: lea ecx, var_1C
  loc_00401CE1: call edi
  loc_00401CE3: lea eax, var_18
  loc_00401CE6: push ebx
  loc_00401CE7: push eax
  loc_00401CE8: call [00401028h] ; __vbaObjSetAddref
  loc_00401CEE: lea ecx, var_18
  loc_00401CF1: push ecx
  loc_00401CF2: FramesRePaint()
  loc_00401CF7: call __vbaSetSystemError
  loc_00401CF9: lea ecx, var_18
  loc_00401CFC: call edi
  loc_00401CFE: mov var_4, 00000000h
  loc_00401D05: push 00401D21h
  loc_00401D0A: jmp 401D20h
  loc_00401D0C: lea edx, var_1C
  loc_00401D0F: lea eax, var_18
  loc_00401D12: push edx
  loc_00401D13: push eax
  loc_00401D14: push 00000002h
  loc_00401D16: call [0040100Ch] ; __vbaFreeObjList
  loc_00401D1C: add esp, 0000000Ch
  loc_00401D1F: ret
  loc_00401D20: ret
  loc_00401D21: mov eax, Me
  loc_00401D24: push eax
  loc_00401D25: mov ecx, [eax]
  loc_00401D27: call [ecx+08h]
  loc_00401D2A: mov eax, var_4
  loc_00401D2D: mov ecx, var_14
  loc_00401D30: pop edi
  loc_00401D31: pop esi
  loc_00401D32: mov fs:[00000000h], ecx
  loc_00401D39: pop ebx
  loc_00401D3A: mov esp, ebp
  loc_00401D3C: pop ebp
  loc_00401D3D: retn 0004h
End Sub
Добавлено через 7 минут
Цитата Сообщение от The trick Посмотреть сообщение
засунуть внутрь EXE файла
ну да, в ресурс её затолкать, и от-туда же и вызвать


вот пример, там тестовая прога работающаа без всяких регистраций
Вложения
Тип файла: rar Новая папка.rar (11.5 Кб, 12 просмотров)
1
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
05.06.2014, 22:08
Цитата Сообщение от Антихакер32 Посмотреть сообщение
вот пример, там тестовая прога работающаа без всяких регистраций
Ему не нужно это. Ему нужна работа с ActiveX библиотеками и контролами. При чем здесь дизассемблированный листинг?
0
1 / 1 / 1
Регистрация: 04.12.2010
Сообщений: 56
05.06.2014, 22:48  [ТС]
The trick, а можно поподробнее на счет на прямую работать с DLL не регистрируя? Как её вшить в программу?
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
05.06.2014, 23:04
Готовые решения и полезные коды на Visual Basic 6.0
Готовые решения и полезные коды на Visual Basic 6.0
1
1 / 1 / 1
Регистрация: 04.12.2010
Сообщений: 56
06.06.2014, 00:40  [ТС]
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Антихакер32, The trick, Спасибо большое , буду разбираться)

Добавлено через 1 час 25 минут
Нашел хороший вариант, самый простой , в принципе так и хотел.
Просто создал отдельное приложение которое регает библиотеки при нажатии на кнопку. Но библиотеки должны лежать в этой же папке.
Visual Basic
1
2
3
Private Sub Command1_Click()
Shell "cmd /X /C start regsvr32.exe MSCAL.OCX ", vbHide ' Регистрируем компонент MSCAL.OCX
End Sub
И так же удаление этой библиотеки
Visual Basic
1
2
3
Private Sub Command2_Click()
Shell "cmd /X /C start regsvr32.exe /u MSCAL.OCX", vbHide ' Удаляет компонент MSCAL.OCX
End Sub
1
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
06.06.2014, 01:06
Цитата Сообщение от Илюха)) Посмотреть сообщение
Но библиотеки должны лежать в этой же папке.
необязательно можно использовать полные пути
а можно и относительные

Добавлено через 4 минуты
+Еще не так всё просто, там еще ждать пока зарегаеться от долей секунд и более
если вызывать команду.. а ты именно команду вызываеш
тоесть сервер регистрации будет занят а управление в этот момет времени передасться
процедуре той библиотеки, почитай Логика регистрации файла
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
06.06.2014, 01:11
вот, я еще прикольней замутил ...)
Миниатюры
При первом запуске программы автоматическая установка необходимых библиотек  
Вложения
Тип файла: rar Новая папка.rar (18.1 Кб, 13 просмотров)
1
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
06.06.2014, 01:16
В архив форму, не закинул.. торопился... собственно вот код той фрмы

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit
'
'© Антихакер32
'
Private Declare Function FramesRePaint Lib "MANIFEST.dll" (ObjForm As Object) As Long
Private Declare Function iniMANIFEST Lib "MANIFEST.dll" () As Long
 
Private Sub Form_Initialize()
    Dim s$, f&, byt() As Byte, fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    s = App.Path & "\" & "MANIFEST.dll"
    If Not (fso.FileExists(s)) Then
        f = FreeFile: byt = LoadResData("MANIFEST", "dll")
        Open s For Binary As #f: Put #f, 1, byt: Close #f
    End If
    iniMANIFEST
    FramesRePaint Me
End Sub
0
1 / 1 / 1
Регистрация: 04.12.2010
Сообщений: 56
06.06.2014, 15:40  [ТС]
все, понял Антихакер32, спасибо

Добавлено через 14 часов 2 минуты
а подскажите как тоже самое проделать со шрифтами , как их зарегать или установить при первом запуске программы?

так вот, к примеру, не выходит
Visual Basic
1
2
3
Private Sub Command1_Click()
FileCopy "C:\ALBI.TTF", "C:\Windows\Fonts\ALBI.TTF"
End Sub
хотелось бы по простому это сделать, по нажатию на кнопку , установить необходимые шрифты

Добавлено через 5 минут
Столько много тем по этому поводу , но так решения и не нашел
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
06.06.2014, 15:53
AddFontResourceEx
1
1 / 1 / 1
Регистрация: 04.12.2010
Сообщений: 56
06.06.2014, 18:03  [ТС]
Нашел код, вроде как бы рабочий , но у меня шрифт в форме все равно не меняется

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" (ByVal lpFileName As String) As Long
Private Declare Function RemoveFontResource Lib "gdi32" Alias "RemoveFontResourceA" (ByVal lpFileName As String) As Long
Dim AppPath As String
 
Private Sub Form_Load()
     AppPath = App.Path
    If Right$(AppPath, 1) <> "\" Then AppPath = AppPath + "\"
 
    AddFontResource AppPath + "ALBI.ttf"
 
    Me.AutoRedraw = True
    Me.Font.Name = "ALBI"
    Me.Print
End Sub
Private Sub Form_Unload(Cancel As Integer)
 
    RemoveFontResource AppPath + "ALBI.ttf"
End Sub
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
06.06.2014, 21:21
Для этого нужно перекинуть файл с расширением .ttf
в системную папку шрифты
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.06.2014, 21:21
Помогаю со студенческими работами здесь

Пароль при первом запуске программы
Как сделать так что б при первом запуске программы пользователю нужно было вводить пароль.

Окно регистрации при первом запуске программы
Всем привет, знаю что подобные темы были подняты в данном разделе, но как то не до конца смог реализовать то что прочитал, надеюсь на Ваше...

Создание бд при первом запуске программы (hsqldb)
Как сделать, что бы при первом запуске программы она сама создавала себе необходимую базу данных? eclipse, hsqldb

Создание папки при первом запуске программы
Всем доброго времени суток! Как сделать так, чтобы при первом запуске программы на компьютере в определенном месте создавалась папка с...

Данные программы (сохранение и автоматическая загрузка при запуске)
Всем привет. Понадобилась программка для учета финансов. Решил написать что-нибудь простенькое, но не могу понять как можно реализовать БД....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru