代码之家  ›  专栏  ›  技术社区  ›  John Sibly

是否可以使用带有免注册COM的COM可见.NET类?

  •  6
  • John Sibly  · 技术社区  · 16 年前

    我们正在开发一个具有.NET组件和传统C++COM组件混合的CLICKONE应用程序。

    目前,我们正在使用MSI向用户的机器添加C++COM组件(这是安装CLIKONE应用程序的先决条件),这意味着我们可以预先在用户的机器上注册COM对象。

    我们仍然可以通过ClickOnce将更新推到用C语言编写的应用程序的其余部分,但是更新由MSI安装的组件需要手动干预。

    然而,我们正在试图确定是否可以通过无注册的COM安装C++ COM组件,即它们都在同一目录中,并且每个组件都有一个清单文件,用于指定每个COM对象和接口的CLSID。这意味着我们可以完全摆脱MSI。

    这个 link 对这个话题有很好的介绍。

    我已经获得了.NET组件来加载C++的COM对象,但不是相反的。

    有人知道这是否可行吗?

    1 回复  |  直到 14 年前
        1
  •  5
  •   Hans Passant    16 年前

    是的,这是可能的。您需要使用 <clrClass> 清单中的元素。有一个很好的方法 located here .SDK文档在其他方面非常糟糕,您需要 Junfeng Zhang's blog 以获得更好的背景信息。

    推荐文章