Всем привет. Народ, вопрос в следующем: я создаю собственную dll к своему exe'шнику на VB6 и после компиляции, VB6 автоматически прописывает в реестре к ней путь. Т.е. прога моя из любого места видит эту dll'ку... А если мне надо перетащить exe'шник своей проги вместе с библиотекой на др. комп, как dll в реестре той машины зарегистрировать? Фишка в том, что прога пока что эксперементальная и городить к ней целый инсталлятор нет никакого настроения. Однако, надо чтобы юзер не лез своими рученками )) в редактор реестра добавлять запись о dll, а просто как-то попроще смог внести туда соотв. запись о библиотеке. Можно, чтоб при первом запуске exe'шник сам все данные о своей библиотеке вносил в реестр или лучше создать какой нить *.reg файл cо всей необходимой инфой? Короче я загнался... [Ответ]
Yandex 11:57 18.03.2007
Возможно будет достаточно выполнить regsvr32 с параметром имя_твоей_dll.
[Ответ]
dgk 19:16 18.03.2007
Простите, не понял, зачем нужна запись в реестре? Это COM-объект? Если это обычная DLL, то насколько я помню VB6, ее можно загрузить по имени. А чтобы найти по имени, она д.б. в пути и все.
Если COM-объект, то Yandex совершенно справедливо говорил о regsvr32.
[Ответ]
RDman 19:33 18.03.2007
dgk, СOM объект...
Сейчас проблемка в следующем: при выполнении regsvr32.exe Имя_Dll из Пуск - Выполнить или из программы, командой Shell regsvr32.exe Имя_Dll вываливается вот такая ошибка:
Изображения
Кстати, народ, чтобы корректно была выполнена эта команда, ДЛЛ должна в System32 находиться? Или ее можно зарегить в каталоге с прогой?
[Ответ]
mikе 20:26 18.03.2007
ну в дельфях или си-билдере, например, путь к DLL указываеся либо явно (от корня), либо относительно (от самой программы). плюс, каэшн, сие нужно указывать в описании функции, которая заведомо в библиотеке есть.
[Ответ]
RDman 20:45 18.03.2007
сейчас пробовал из system32 - прошло на ура. Из папки с прогой - не хочет.
[Ответ]
RDman, ты небось в папку с прогой не переходил, потому ясен пень dll была не найдена.
Последовательность должна быть такая:
1. Перейти в папку, в которой лежит dll
2. Зарегить ее.
или
1. Поместит dll в "общую" (system32, system или чего еще там) папку
2. Зарегистрировать ее.
После регистрации появится ключ в реестре, который так же содержит путь к этой dll. Убедиться можно, просто задав поиск по реестру по имени dll.
[Ответ]
RDman 11:07 19.03.2007
Сообщение от Yandex:
небось в папку с прогой не переходил, потому ясен пень dll была не найдена
я даже тупо показывал путь на нее... полностью.
[Ответ]
Yandex 12:53 19.03.2007
Возможно надо было типа того (подковычить)
Сообщение от :
regsvr32 "C:\Program Files\Супер Прога\Портясающая.dll"
Вообще надо было бы привести вариант как ты пробовал. По идее, где лежит dll, абсолютно все равно.
[Ответ]
RDman 18:23 19.03.2007
Yandex, спасибо, буду пробовать. Кавычки не пробовал.
[Ответ]