Две наши программы используют один и тот же COM-сервер (также изготовленный нами) с одинаковыми идентификаторами классов.Каждая программа при установке копирует файлы COM-сервера в свою папку и regsvr32
s COM-сервер.
Проблема заключается в том, как установить COM-сервер, чтобы пользователь мог установить одну или обе наши программы вразные папки в любом порядке и, вероятно, разных версий.Понятно, что это невозможно без изменения идентификаторов классов, и это очень сложно с конфигурациями.В идеале мы хотели бы использовать манифесты для этого и обходиться без regsvr32
.
. Проблема в том, что каждый раз, когда я читаю о безрегулярном COM (например, здесь ), есть version
атрибут в assemblyIdentity
.Номер версии должен меняться при каждой ночной сборке, и мне совершенно не нравится идея (автоматической) его корректировки.Я понимаю, почему указание зависимости от конкретной версии хорошо, но в нашем сценарии это совершенно бесполезно.
Существует ли способ записи манифестов как для COM-сервера, так и для потребителя, чтобы они не указывали версии ипросто работать с любой версией файла, находящейся в папке?Также есть ли способ ограничить поиск в той же папке, что и потребитель?