解決方案 VB編寫的數據庫程序在Win7 SP1編譯無法在XP系統上使用的問題

解決方案 VB編寫的數據庫程序在Win7 SP1編譯無法在XP系統上使用的問題

可能出現的錯誤提示有:
1、430 Class does not support Automation or does not support expected interface
  運行時錯誤"430": 類不支持自動化或不支持所需的接口
2、Error 13 - Type mismatch

問題產生原環境:
操作系統:Windows 7 - (32 and 64 bit)  打了 SP1 補丁包
開發環境:Visual Basic 6 SP6 (VB6 SP6)  並引用 Microsoft ActiveX Data Objects 2.x Library(ADODB, msado27.tlb, msado28.tlb and msado15.dll)

在WIN7SP1環境下編譯後,本機運行正常,在其他電腦(一般爲XP系統)無法運行,產生以上錯誤提示。如果在XP下編譯,則沒有任何問題,在WIN7SP1也運行正常。

問題很明確,是補丁包引起的,最終查明是KB983246補丁,關於此補丁微軟有很詳細的說明:
http://support.microsoft.com/kb/2517589/zh-cn

因此解決辦法就有:
1、所有客戶端安裝KB983246補丁!
2、卸載Win7 的 SP1補丁包
3、替換Win7的C:\Program Files\Common Files\System\ado下的對應ado組件爲XP SP3下的對應文件。
比如:將原來的Win7的msado27.tlb改名爲msado27-new.tlb
然後將XP的msado27.tlb複製到ado目錄。重新打開VB編譯程序即可。
注意:Win7的ado文件夾要先設置權限哦!

Windows XP版本的msado27.tlb
快盤下載:http://www.kuaipan.cn/file/id_3716800273456462.html


發佈了13 篇原創文章 · 獲贊 15 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章