注冊Com組件..


開發一些第三方的接口或者功能時..有時會需要接入對方提供Com組件..是一個dll文件..

這個文件會在你的程序中引用..

比如一個CMBChina.dll文件..這是招商銀行的支付開發時必備的..

 

下面我們就以這個為例來說一說..

 

他們提供的Demo里..有一個寫好的Vbs文件..正常情況下只要 "以管理員身份運行"  就可以完成注冊了..

但是本人的電腦是Win8  .. 右鍵選項里根本就沒有這一項..

沒辦法玩自動..只有手動了..

 

在開始菜單里找到系統工具的  命令提示符  右鍵  以管理員身份運行

打開窗口是這樣的..注意:  是<管理員:命令提示符>

這個時候我們就可以開始注冊了..但是有個問題需要注意..

要注冊的Dll文件應該放在英文的文件夾中..不應該出現中文路徑..

開始注冊:

普通的32位注冊就可以直接輸入  regSvr32 你的路徑

例如:

確定之后,會提示成功注冊!!

 

如果是64位的,則需要指向到一個固定的目錄才能正確注冊..

前邊的步驟都是一樣的..

打開命令提示工具之后..先輸入  CD C:\Windows\SysWOW64\

目錄會轉至 C:\Windows\SysWow64

然后輸入跟前邊注冊一樣的命令 regSvr32 你的路徑

確定..提示成功!!

到了這里..組件的注冊就完成了..

 

但是新的問題來了..

招商銀行的Demo依然會報錯..

檢索 COM 類工廠中 CLSID 為 {820280E0-8ADA-4582-A1D9-960A83CE8BB5} 的組件時失敗,原因是出現以下錯誤: 80040154

這是為什么呢..

[轉]檢索 COM 類工廠中 CLSID 為 { } 的組件時失敗,原因是出現以下錯誤: 80040154。

 

檢索 COM 類工廠中 CLSID 為 {XXXX-XXXX-XXX-XXXXX-XXX} 的組件時失敗,原因是出現以下錯誤: 80040154。

如以上問題出現,多半是因為COM控件未在目標機器上面注冊造成的
解決方法:
Resvr32 .net中引用控件的名稱
如果注冊成功,問題不在出現

但是如果是在x64位的系統中,即使控件注冊成功,錯誤依照提示,是因為大多數第三方寫的COM控件,只支持32位的系統,

在VS中找到引用控件所在的項目--〉屬性--〉生成--〉常規---〉目標平台---〉選擇X86即可解決。

 

修改之后..程序神奇的跑了起來..哈哈.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM