當COM+的元件已經撰寫完成後,接著就是要如何將撰寫好的元件註冊的主機的【元件服務】上
以往小喵用VB6撰寫元件,要註冊元件時,只需要在元件服務中建立空的Package,然後將寫好的元件托拉進去即可,要修改時,只要元件的機碼相容,也只需要將Package停止後,將元件覆蓋即可。請參考元件撰寫、註冊過程錄影檔
但是進入.NET開發元件,小喵發現無法使用原來的方式處理,必須透過【.NET Framework 2.0】的【SDK命令提示字元】,使用這樣的Command視窗透過下指令的方式來註冊,註冊後元件會依照原件撰寫時所指定的Package存放,而如果該Package不存在,也會自動產生
首先Server除了要安裝.NET Framework 2.0以外,還得安裝SDK才能使用,相關鏈結如下:
註冊與反註冊過程如下
手先準備好兩個批次檔,分別用來註冊與反註冊元件
- 註冊元件(RegNetCom.bat):
- 反註冊元件(UnRegNetCom.bat):
- 有人反應原有方式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中的元件時,切換身分為指定的使用者,透過該使用者的權限來執行元件了