組件註冊方式及其可能問題

組件的註冊有兩種情況:

  1、是com類型的dll組件的註冊:

           該種註冊方式主要是通過windows/system32目錄下的regsvr32.exe程序來完成的。

           也可以通過cmd命令行敲入regsvr32的方式進行註冊。

   2、另一種是.net組件的註冊:

           該中註冊方式主要是通過Windows/Microsoft.Net/Framework目錄下某個版本的.net框架下的的RegAsm.exe程序來完成的。

           當然也同樣可以通過在VS開發工具提供的Visual Studio Command Prompt 命令行工具中敲入regasm的方式來進行註冊。



備註:

           如果是在windows 7等有UAC權限控制的系統中進行註冊的時候,使用命令行方式的時候,命令行程序打開的時候要以管理員身份打開,要不然基本是沒辦法註冊成功的。   

          基本操作程序如下:

           開始--所有程序--附件--命令行--右鍵“以管理員身份運行”進入cmd方式,然後在cmd方式下進入要註冊dll所在文件夾中,再次使用regsvr32 /s xx.dll,就可以了。


           同時如果在程序中出現“檢索 COM 類工廠中 CLSID 爲 { } 的組件時失敗,原因是出現以下錯誤: 80040154”的錯誤,那麼應該是COM組件沒有在當前機器上面註冊的關係。通過第一種註冊方式把COM組件在本機註冊下基本就可以解決。如果繼續報該錯誤,請檢查下你的操作系統是不是64位的,因爲很多類庫是基於32位的操作系統開發的。在64位系統上面會報錯。

           而如果你是在開發的時候,代碼裏面抱的錯誤,那麼你很幸運哈。你可以通過把你當前的程序編譯成32的來解決這個問題。具體操作如下:

           引用COM組件的項目--右鍵、屬性--生成--常規--目標平臺--x86。重新編譯,問題解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章