2013-02-13 115 views
3

我正在將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"

收到以下錯誤:

RegSvr32 error - 64 bit win7

在Win 7 32,輸入以下內容:

C:\Windows\system32> regsvr32 "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.dll"

收到以下錯誤:

RegSvr32 error - 32 bit win7

EDIT 2 - 按Raymond Chen的建議下,我又在傳Adobe網站。我發現了幾條線程here,here,以及stackoverflow上的另一個問題。前兩個鏈接並沒有專門提到.NET,但是從它們來看,似乎必須安裝完整版本的Acrobat Reader才能使這些互操作類工作/爲有問題的dll進行註冊。我會在明天進行檢查,但我強烈懷疑客戶的環境可能包含完整版本的Acrobat Reader。對所有回答的人,感謝您的時間。

編輯3 - 我的手在完整版本的Acrobat上,安裝好了,看着,一切都很漂亮!

+1

您是否嘗試過使用管理權限運行程序或關閉UAC? – CodingGorilla 2013-02-13 17:25:06

+1

作爲CodingGorilla,請在命令行上使用管理員權限。此外,如果您正在運行64位PC導航到'\ windows \ syswow64' – Ulises 2013-02-13 17:27:45

+0

@CodingGorilla - 是的,我是機器上的管理員。我已經將程序和regsvr32作爲管理員運行,沒有喜悅。 – dbr 2013-02-13 17:30:09

回答

0

如上所述,除非在計算機上安裝了完整版本的Acrobat,否則該dll將不允許自己註冊。

相關問題