Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Флейм > как зарегистрировать DLL


Автор: Medved 13.1.2003, 02:43
Допустим, я разработал приложение. Оно использует ActivX. Мне требуется зарегистрировать DLL. Для этого мне необходимо выполнить следующую команду:

Код

regsvr32 MgAxCtrl.dll


я использую InstallShield Express v.3.5 как с помощью этой программы, можно выплнить регистрацию этой библиотеки, или же запустить .bat файл?

Автор: Vit 13.1.2003, 03:53
Там же по моему отдельным пунктом есть регистрация компонентов... Посмотри внимательно... Если не найдёшь, напомни в Понедельник - я на работе гляну.

Автор: Medved 13.1.2003, 04:34
Отдельным есть,  я так и делаю, да вот только не регистрируется. В смысле пути в реестре меняет,  а вот софтины, использующие эту DLL-ку отказываются работать.  Или может я что-то неправильно делаю? И еще (дополнение к вопросу) как можно в вручную зарегистрировать  эту DLL? Иначе говоря, по какому принципу regsvr32 регистрирует эти DLL?

Автор: Vit 13.1.2003, 12:07
Цитата(Pegas @ 12.1.2003, 11:34)
Иначе говоря, по какому принципу regsvr32 регистрирует эти DLL?

По моему только прописывает в реестре CLSID с путём к DLL...

Автор: Medved 15.1.2003, 11:49
К как я могу узнать CLSID этой DLL и куда его нужно прописать?

Автор: Sun 17.1.2003, 19:59
Вместе с ActiveX dll обычно поставляется tlb файл (правда далеко не всегда) в котором прописаны CLSID и все методы и свойства (если его нет то как правило он вкомпилирован в саму dll). Для просмотра tlb и dll файлов можно использовать утилиту OLEViewer которая входит в состав Visual Studio. Кроме того в поставку Visual Studio входит исходный код regsvr32.exe.
На самом деле regsvr32.exe всего лишь вызывает одну из 4-х функций DllRegisterServer при регистрации компоненты и DllUnregisterServer для разрегистрации.
А так как ты используешь InstallShield то в нем есть опция для Activex/OLEAutomation dll/ocx для саморегистрации (self registered component).

Автор: Medved 29.1.2003, 09:24
Вот нашел, оказывается в библиотеке RX-Lib в модуле VCLUtils есть функция:

RegisterServer - Функция предназначена для регистрации в Windows элементов управления OLE (OCX, ActiveX)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)