2009-09-18 57 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