我正在將VB6應用程序升級到VB.Net。它使用了「Adobe Acrobat 10.0類型庫」。但是,在與.Net項目一起使用時,我會在標題中看到錯誤。 我創建了一個小測試項目。當我嘗試實例化一個AcroPDDoc拋出異常,以下行:由於以下錯誤,檢索具有CLSID {xxxx}的組件的COM類工廠失敗:80040154
Dim acroApp As Acrobat.AcroPDDoc = New Acrobat.AcroPDDoc()
土坯庫駐留在C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.dll
。當添加時,它會將一個名爲「Interop.Acrobat.dll」的dll放入項目的obj文件夾中。 我已經試過兩個DLL文件運行regsvr32.exe的,因爲我看到的地方建議,但一路上我一直沒能找到該錯誤代碼很大的的
dll was loaded but the call to DllRegisterServer failed with error code 0x80004005
行收到一個錯誤。我也嘗試過chainging the platform target to x86 from 'any cpu'。
編輯 - 我已經經歷了在Windows 7
在Win 7 64的32個和64位版本同樣的問題,我進入了以下內容:
C:\Windows\SysWOW64> regsvr32 "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.dll"
收到以下錯誤:
在Win 7 32,輸入以下內容:
C:\Windows\system32> regsvr32 "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.dll"
收到以下錯誤:
EDIT 2 - 按Raymond Chen的建議下,我又在傳Adobe網站。我發現了幾條線程here,here,以及stackoverflow上的另一個問題。前兩個鏈接並沒有專門提到.NET,但是從它們來看,似乎必須安裝完整版本的Acrobat Reader才能使這些互操作類工作/爲有問題的dll進行註冊。我會在明天進行檢查,但我強烈懷疑客戶的環境可能包含完整版本的Acrobat Reader。對所有回答的人,感謝您的時間。
編輯3 - 我的手在完整版本的Acrobat上,安裝好了,看着,一切都很漂亮!
您是否嘗試過使用管理權限運行程序或關閉UAC? – CodingGorilla 2013-02-13 17:25:06
作爲CodingGorilla,請在命令行上使用管理員權限。此外,如果您正在運行64位PC導航到'\ windows \ syswow64' – Ulises 2013-02-13 17:27:45
@CodingGorilla - 是的,我是機器上的管理員。我已經將程序和regsvr32作爲管理員運行,沒有喜悅。 – dbr 2013-02-13 17:30:09