摘要:N-Tiers開發方式(COM+元件的註冊、修改)
當COM+的元件已經撰寫完成後,接著就是要如何將撰寫好的元件註冊的主機的【元件服務】上
以往小喵用VB6撰寫元件,要註冊元件時,只需要在元件服務中建立空的Package,然後將寫好的元件托拉進去即可,要修改時,只要元件的機碼相容,也只需要將Package停止後,將元件覆蓋即可。請參考元件撰寫、註冊過程錄影檔
但是進入.NET開發元件,小喵發現無法使用原來的方式處理,必須透過【.NET Framework 2.0】的【SDK命令提示字元】,使用這樣的Command視窗透過下指令的方式來註冊,註冊後元件會依照原件撰寫時所指定的Package存放,而如果該Package不存在,也會自動產生
首先Server除了要安裝.NET Framework 2.0以外,還得安裝SDK才能使用,相關鏈結如下:
- .NET Framework 2.0
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=zh-tw - .NET Framework 2.0 SDK
http://www.microsoft.com/downloads/details.aspx?familyid=FE6F2099-B7B4-4F47-A244-C96D69C35DEC&displaylang=zh-tw
註冊與反註冊過程如下
首先準備好兩個批次檔,分別用來註冊與反註冊元件
- 註冊元件(RegNetCom.bat):
REGSVCS %1.dll
GACUTIL /i %1.dll - 反註冊元件(UnRegNetCom.bat):
GACUTIL /u %1
REGSVCS /u %1.dll - 有人反應原有方式GAC無法移除,所以小喵稍微改寫了一下,這樣註冊移除就可以都正常了。【New】
安裝完.NET Framework SDK後,會有【SDK命令提示字元】,首先將您要註冊的元件,複製到適當的目錄中,小喵通常是將相關的dll複製到【D:\Application\(專案名稱)\】中,其中專案名稱依不同需求會訂定不同的名稱,例如:D:\Application\PDMO
接著將以上兩個批次檔(RegNetCom.bat、UnRegNetCom.bat)也複製到該資料夾中
然後開啟【SDK命令提示字元】,假設元件產生後的dll名稱為PDMOMenu.dll那麼下以下指令:
- 註冊時:
RegNetCom PDMOMenu - 反註冊(移除)時:
UnRegNetCom PDMOMenu
反註冊時必須注意:元件是否有被呼叫起來→如果有→先停止Package
當元件註冊完後,如果是該Package的第一個元件,還需針對元件設定【使用者識別】讓呼叫元件時可切換指定的帳號權限執行,方式如下:
- 在Package上按右鍵→內容
- 識別碼→使用下列使用者
- 瀏覽→選取適當使用者→輸入該帳號密碼
- 確認
這樣就能夠依據需求,在呼叫該Package中的元件時,切換身分為指定的使用者,透過該使用者的權限來執行元件了
以下是簽名:
- 歡迎轉貼本站的文章,不過請在貼文主旨上加上【轉貼】,並在文章中附上本篇的超連結與站名【topcat姍舞之間的極度凝聚】,感恩大家的配合。
- 小喵大部分的文章會以小喵熟悉的語言VB.NET撰寫,如果您需要C#的Code,也許您可以試著用線上的工具進行轉換,這裡提供幾個參考
Microsoft MVP Visual Studio and Development Technologies (2005~2019/6) | topcat Blog:http://www.dotblogs.com.tw/topcat |