проверка регистрации компонента (OCX/DLL)

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
visualman
Бывалый
Бывалый
 
Сообщения: 228
Зарегистрирован: 08.02.2002 (Пт) 19:06
Откуда: Russia

проверка регистрации компонента (OCX/DLL)

Сообщение visualman » 07.03.2007 (Ср) 11:11

Требуется проверить, регистрирует ли инсталяха входящие в пакет компоненты. CLSIDы не известны. Подскажите хотябы в какую сторону копать. Спасибо.
Причиной ошибок в коде служит давление со стороны руководства и жесткие временные рамки, им установленные.

zan
Бывалый
Бывалый
 
Сообщения: 224
Зарегистрирован: 24.08.2006 (Чт) 4:55

Сообщение zan » 07.03.2007 (Ср) 11:27

Просмотр InprocServer32, вызов regsvr32 без /s с просмотром сообщения.
А зачем в разделе «для Профессионалов»

visualman
Бывалый
Бывалый
 
Сообщения: 228
Зарегистрирован: 08.02.2002 (Пт) 19:06
Откуда: Russia

Сообщение visualman » 07.03.2007 (Ср) 11:55

Таааак, видимо придётся расписывать подробно....

Пишется код тестирования приложения на языке SQABasic в софтине Rational Robot (если кто знает такую).

Требуется проверить, зарегились ли компонеты, НО не в процессе прохождения инсталяхи, а после её завершения. У меня а руках только список файлов (OCX/DLL) и мне не известны их CLSIDы (это для тех, кто предложит поиск в реестре по ClassID)

А по поводу "зачем в этом разделе" - тебе для информации - 40% сорсов, лежащих на этом сайте - перелопачены и предоставлены мной.
Причиной ошибок в коде служит давление со стороны руководства и жесткие временные рамки, им установленные.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.03.2007 (Ср) 12:01

visualman писал(а):А по поводу "зачем в этом разделе" - тебе для информации - 40% сорсов, лежащих на этом сайте - перелопачены и предоставлены мной.

Вах. Баюс баюс.
А тему всё равно перенесу. И ещё tag_warning поставлю. Ибо отношения к VB имеет весьма отдалённое, во-первых, и во-вторых, ответ, в общем-то, очевиден - сделать снимки нужных ветвей реестра до и после. И в появившихся после ветвях смотреть, соблюдается ли формат, используемый при регистрации CLSID, а также пути к dll/ocx (а они таки там).

И, это. Если у тебя есть файл ocx и dll, вытащить из него список CLSID вообще не представляет труда. Тем же TypeLibInfo.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

visualman
Бывалый
Бывалый
 
Сообщения: 228
Зарегистрирован: 08.02.2002 (Пт) 19:06
Откуда: Russia

Сообщение visualman » 07.03.2007 (Ср) 12:09

Спасибо. Только вот с 130 - тью компонентами пробегать столько веток в реестре - не очень то здорово. Мне как раз другое решение нужно было.

"Ибо отношения к VB имеет весьма отдалённое" -очень даже близкое отношение. Это совершенно такой же VB, только заточеный под другие нужды

Закрывай топик
Причиной ошибок в коде служит давление со стороны руководства и жесткие временные рамки, им установленные.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 07.03.2007 (Ср) 12:49

А что мешает сделать банальный CreateObject и посмотреть не Nothing ли он вернул?
CLSID'ы вытаскивать смыкла нет, поскольку их каждый день компилят и CLSID'ы меняются!
И зачем их каждый раз менять? В свойствах проекта есть прараметр Component - Version compatibility, настоятельно рекомендую с ним ознакомиться. Если конечно компоненты писались на вб.
Последний раз редактировалось Antonariy 07.03.2007 (Ср) 13:00, всего редактировалось 1 раз.
Лучший способ понять что-то самому — объяснить это другому.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.03.2007 (Ср) 12:55

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

Хотя нет, знаю, и даже сказал - предварительно вытащить нужные ID. Причём не всех классов, а только самих библиотек. И искать их сразу.

Если тебе нужно ещё другое решение, то ок, закрываю топик.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42

    TopList