如何配置无注册的COM组件

时间:2011-02-27 09:18:30

标签: com configuration registry

我需要分发几个要在锁定的计算机上安装的旧COM应用程序。我试图让这些应用程序无需通过regsvr32在注册表中注册,或者通过/ regserver开关在EXE组件的情况下注册。我可以在这种情况下控制并本地复制所有必需的依赖项。

我知道这是可能的,但是,我正在艰难地拼凑不同的部分或找到有关如何设置的连贯信息。

非常感谢任何帮助或指示。

2 个答案:

答案 0 :(得分:2)

Microsoft在Registration Free COM上有一个很好的教程。

使注册免费COM工作有两个基本部分。

首先,您需要将COM dll转换为assellmly:只需COM dll,并创建描述它们的清单,并为其命名。将此程序集捆绑在与应用程序相同的文件夹中。

接下来,您需要告诉应用程序使用刚刚创建的程序集。当COM尝试创建一个新对象时,它将首先查看在默认激活上下文中注册的任何程序集,然后再查看注册表。

答案 1 :(得分:1)

无注册COM可能很难设置,但整个过程并不复杂。我在这里编写了我的流程以及一些有助于调试问题的工具:

http://www.west-wind.com/weblog/posts/2011/Oct/09/An-easy-way-to-create-Side-by-Side-registrationless-COM-Manifests-with-Visual-Studio

FWIW,遗憾的是,无注册的COM不能与DCOM EXE服务器一起使用 - 只支持DLL服务器。