X>>решение известных проблем версионности COM
X>>обеспечение возможности одновременной работы с различными версиями ActiveX но с одинаковыми GUID-ами коклассов или progid.
AJD>Можно подробней какие именно проблемы версионности СОМ решит этот похдод?
AJD>Зачем это нужно? Ведь progid и придумывали, чтобы различать версии
Собственно старая дилема:
изменять ли ProgID (и/или co-class guid) при любом изменении кода компоненты (не затрагивающей изменение интерфейса)
почему дилема?
Изменение — влечёт за собой вынужденную перекомпиляцию клиентов (или необходимость построения сложных механизмов конфигурации), хотя логически перекомпиляция не нужна, так как интерфейсы остались прежними.
Сохранение старого делает проблемным use-case установки двух продуктов использующих общий COM-компонент, если
один из продуктов ставит более свежую версию. Проблемным — так как первый продукт фактически работает в непредусмотренной (как минимум, не протестированной, конфигурации).
Ещё проблемы инсталляции/деинсталляции в случае если компонент общий (решаемые конечно проблемы, но могло бы их и не быть)
В общем, проблемы происходят из-за "системной глобатьности" реестра COM и аналогичны проблемам dll-hell.
"Локализация" такого реестра в виде тонких настроек для приложения эти проблемы решает.