Мы разрабатываем приложение ClickOnce со смесью компонентов.NET и COM-компонентов C++ прежней версии.
В настоящее время мы добавляем COM-компоненты C++ к машине пользователя с помощью MSI (это - предпосылка к установке нашего приложения ClickOnce), что означает, что мы можем зарегистрировать COM-объекты на машине пользователя заранее.
Мы можем все еще выставить обновления остальной части приложения, записанного на Виа ClickOnce C#, но обновление компонентов, установленных MSI, требует ручного вмешательства.
Однако мы пытаемся выяснить, возможно ли установить COM-компоненты C++ через регистрацию свободный COM, т.е. они - все в том же каталоге, и каждый компонент имеет файл манифеста, указывающий clsid для каждого COM-объекта и интерфейса. Это означало бы, что мы можем избавиться от MSI полностью.
Эта ссылка была хорошим введением в тему.
Я смог заставить компонент.NET загружать COM-объект C++, но не наоборот.
Кто-либо знает, возможно ли это?
Да, это возможно. Вам нужно будет использовать элемент
в манифесте. Приличное руководство находится здесь. В остальном документация SDK довольно убога, вам понадобится блог Джунфенга Чжана, чтобы получить более полную справочную информацию.