如何部署COM

时间:2009-09-18 19:41:17

标签: c# .net-3.5 deployment com registration

我刚刚完成了我的新COM项目(C#,.NET 3.5)。该项目将由VFP应用程序调用。它在我的开发机器上运行良好,但现在我需要知道如何在用户的机器上部署它。点击一次不适用于这种项目,所以我想我不得不手动分发DLL。

那么,我应该把DLL放在哪里以及如何注册它?

BTW,3.5框架已安装在用户的机器上。

TIA

2 个答案:

答案 0 :(得分:3)

我从未将RegSvr32与.Net程序集一起使用,而是使用带有/ codebase选项的regasm:

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase mydll.dll

您还可以使用/ tlb选项导出类型库并进行注册。

当然最简单的方法是,只需使用vstudio创建一个安装程序,它就会为您完成此任务。

答案 1 :(得分:1)

创建COM类和接口的描述

.Net程序集不包含类型库兼容格式的信息。因此,程序员必须运行两个.Net提供的实用程序之一,以将类的程序集描述提取到类型库文件中。

一个实用程序是TLBEXP.EXE,即.Net类型库导出程序。此命令行实用程序将要转换为类型库的程序集DLL文件的名称作为输入。程序员还可以指定要创建的类型库文件的名称。

tlbexp ComServer.dll /out:ComServer.tlb

Assembly exported to C:\Magellan\Source\Output\Debug\ComServer.tlb

创建类型库后,COM客户端可以引用它以获取COM客户端绑定到COM类接口所需的信息,并在运行时激活COM类。

注册COM类和接口

对于客户端在运行时可以访问的COM类,COM基础结构必须知道如何找到实现COM类的代码。以下命令可以实现此目的:

regasm ComServer.dll

你的DLL可以放在任何你想要的地方,但一个不错的选择是C:\ Program Files \ MyApplication。

http://www.csharphelp.com/archives/archive190.html