2010-02-10 75 views
6

我们正在开发一个混合了.NET组件和传统C++ COM组件的ClickOnce应用程序。是否有可能使用COM可见.NET类与免费注册COM?

目前我们正在使用MSI(这是安装我们的ClickOnce应用程序的先决条件)将C++ COM组件添加到用户的计算机中,这意味着我们可以事先在用户计算机上注册COM对象。

我们仍然可以通过ClickOnce将更新推送到用C#编写的应用程序的其余部分,但更新MSI安装的组件需要手动干预。但是,我们试图弄清楚是否可以通过注册免费COM来安装C++ COM组件,也就是说它们都在同一个目录中,并且每个组件都有一个清单文件,指定每个COM的clsid对象和接口。这意味着我们可以完全摆脱MSI。

这个link已经很好的介绍了这个话题。

我已经能够得到一个.NET组件来加载一个C++ COM对象,但不是相反。

有谁知道这是可能的吗?

回答

5

是的,这是可能的。您需要在清单中使用<clrClass>元素。有一个体面的如何去located here。 SDK文档是相当悲惨的,你需要Junfeng Zhang's blog来获得更好的背景信息。

相关问题