Показать сообщение отдельно
Старый 26.07.2005, 16:48   #9  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Объясняю самые основы automation.

Некий программист пишет dll'ку, например super.dll.
Дает клиенту.
Клиент запускает вручную regsvr32 super.dll, либо это вместо него делает инсталлятор (автоматически).

При этом в реестр записываются ProgId, ClassId и TypeLib
ProgID - это название automation server
ClassId - гуид COM-класа
TypeLib - путь к файлу, который отвечает за COM-объект. В данном случае это путь к super.dll

в случае Excel 10 и Excel 11 - ClassId один и тот же, а ProgId и TypeLib разные.

Теперь касательно двух вопросов - почему навижен что-то распознает, а что-то нет и как определить, что это за Unknown Automation Server такой?

Вопрос 1. Навижн распознает только то, что прописано в реестре. Если в реестре записи нет (то бишь компонента не зарегестрирована), то навижн ничего распознать естессно не может.

Вопрос 2. Найти в реестре строчку, с таким же гуидом, как и у объекта automation. Посмотреть TypeLib. Выяснить что это за dll и к какой программе она относится.
За это сообщение автора поблагодарили: mira (1).