Office的COM報錯,看來微軟的測試也不過soso


用C#寫了一個操作Word的程序,本機測試沒問題。拿到一個虛擬機下面的XP里面進行兼容性測試,發現有這個報錯:

InvalidCastException: Unable to cast COM object of type ‘Microsoft.Office.Interop.Word.ApplicationClass’ to interface type ‘Microsoft.Office.Interop.Word._Application’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{00020970-0000-0000-C000-000000000046}’ failed due to the following error: 加載類型庫/DLL 時出錯

最后發現是因為最初裝的是Ghost里面自帶的Office 2007的精簡版,卸載2007有殘余,對Office 2003有干擾。查找00020970-0000-0000-C000-000000000046主鍵,下面的TypeLib項為{00020905-0000-0000-C000-000000000046}。再查找{00020905-0000-0000-C000-000000000046}主鍵,下面兩項8.3, 8.4。8.3是Office 2003, 8.4是Office 2007的。將8.4分支刪除。程序運行正常!

一向以為微軟的商業軟件是兼容性最好的,現在看來微軟的兼容性測試也不過如此啊,Office這種重量級軟件還有版本卸載不干凈的問題。

轉自:http://www.cozyboy.com/archives/79.html


免責聲明!

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



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