Объясняю самые основы 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 и к какой программе она относится.
|