我正在将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