0

我們有一個專門爲Reader X/XI設計的託管C++ Adob​​e Reader插件。它在Windows 7中工作正常,但在Windows XP上它會引發COM錯誤 - 類未註冊。Adob​​e Reader X插件適用於Win7,不是XP?

奇怪的是,這隻發生在我們將項目從vs2005項目更新到vs2010之後。舊的vs2005插件工作得很好。任何人都有任何線索,爲什麼會這樣?當我們移至2010年時,我們只使用標準項目自動升級。所有其餘代碼都是相同的。

編輯:一些關於這個問題

裝就好了插件DLL本身更筆記。只有當我們嘗試通過COM互操作加載.Net 4 dll時,我們纔會遇到異常。

此前,我們試圖加載的dll是用.net 2.0編寫的,而且在Windows XP中加載得很好。但.Net 4 dll只會在Win7中加載。請注意.Net 3.5似乎可以像2.0一樣工作。它只是.net 4中斷(我們重新編譯完全相同的代碼,以檢查2.0,3.5和4.0)。

回答

0

原來問題是Adobe的保護模式的組合,並試圖通過COM互操作加載.Net 4 DLL,但只能在Windows XP上加載。

奇怪...更改任何這些變量,並且一切工作正常。 .Net 3.5和2.0都可以在保護模式下正常加載。 Windows 7在保護模式下加載.Net 4 dll。

關閉Adobe for Windows XP中的保護模式修復了問題,以便DLL正常加載。

我希望這可以幫助遇到此問題的其他人。

相關問題