2009-09-18 60 views
1

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

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

顺便说一句,3.5框架已经安装在用户的机器上。

TIA

回答

3
我真的从来没有使用过的RegSvr32与.NET程序集

,而我用的是regasm使用/基本代码选项:

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

您也可以使用/ TLB选项可导出键入库并注册它。

当然最简单的方法就是用vstudio创建一个安装程序,它会为你做到这一点。

+0

AN安装程序项目,这是我为我必须为VFP构建的COM所做的。 – nportelli 2009-09-18 20:36:46

+0

我不知道安装程序。我认为ClickOnce是唯一(免费)的方式。感谢领先! – izokurew 2009-09-21 20:43:44

1

创建COM类的描述和接口

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

一个实用程序是.Net类型库导出程序TLBEXP.EXE。该命令行实用程序将输入要转换为类型库的程序集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