Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Автоматическая регистрация OCX и DLL / 5 сообщений из 5, страница 1 из 1
29.06.2015, 13:42
    #38994953
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическая регистрация OCX и DLL
Если положить EXE в одну папку с используемыми OCX и DLL виндовс автоматически их зарегает при запуске.
Очень удобно. С какой версии windows появился такой сервис? В 7,8 работает. Интересует будет ли работать это в XP и Висте.
...
Рейтинг: 0 / 0
29.06.2015, 14:28
    #38995025
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическая регистрация OCX и DLL
Будет, всегда работало.
...
Рейтинг: 0 / 0
29.06.2015, 14:55
    #38995060
Mina Anna Mazzini
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическая регистрация OCX и DLL
Пользуясь моментом:

А как сделать, чтобы бибилотеки (из которых ф-ции декларируются) лежали в одном месте, а к ним можно было бы обращаться, не меняя записб декларации.

Ну, типа дополнительной переменной окружения, которой можно было бы осщастливить процесс. Нюанс еще в том, что для IDE и EXE хотелось бы иметь разные пути.

Вот, например, как я к FAR, в дополнение к его собственным, прикрутил свою переменную:
FA=E:\PRO\...\Arch
FARHOME=E:\PRO\...
FARLANG=English

Так хотелось бы прикрутить и к VB, чтобы он там тоже искал библиотеки...
.
...
Рейтинг: 0 / 0
29.06.2015, 15:06
    #38995072
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическая регистрация OCX и DLL
Оказалось что в 8 при включенном UAC не работает регистрация, надо запускать exe с правами администратора.
Это печально
...
Рейтинг: 0 / 0
29.06.2015, 16:22
    #38995171
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическая регистрация OCX и DLL
Поборол UAC так

Код: 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.
Private Declare Function IsUserAnAdmin Lib "shell32" () As Long
Private Declare Function ShellExecute Lib "shell32" _
    Alias "ShellExecuteA" ( _
    ByVal hWnd As Long, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long


Sub Main()
    On Error Resume Next
    Dim result As Long
    Dim hex As SiaCoreUI_HexView.clsCmnDlg2
    Set hex = New clsCmnDlg2
    If hex Is Nothing Then
        If IsUserAnAdmin = 0 And Command$ <> "admin" Then
            ShellExecute App.hInstance, "runas", App.EXEName, "admin", CurDir$(), vbNormalFocus
            Exit Sub
        End If
    End If
    On Error GoTo 0
    frmMain.Show
End Sub



Создаю экземпляр класса в COM, если он получается пустой, библиотека не зарегена. Если при этом мы запущены без админских прав, и еще не перезапустились Command$ <> "admin" то запускаем свою копию с админскими правами, чтобы она зарегила все Dll в папке.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Автоматическая регистрация OCX и DLL / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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