我正在将 VB6 应用程序升级到 VB.Net。它使用“Adobe Acrobat 10.0 类型库”。但是,当与 .Net 项目一起使用时,我在标题中遇到错误。我创建了一个小型测试项目。当我尝试在以下行实例化 AcroPDDoc 时引发异常:
Dim acroApp As Acrobat.AcroPDDoc = New Acrobat.AcroPDDoc()
adobe 库位于C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.dll
. 添加后,它会将一个名为“Interop.Acrobat.dll”的 dll 放入项目的 obj 文件夹中。我已经尝试在两个 dll 上运行 RegSvr32.exe,正如我在某处看到的那样,但收到了一个错误
dll 已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80004005
我无法在该错误代码上找到很多信息。
编辑 - 我在 Windows 7 的 32 位和 64 位版本上都遇到了同样的问题。
在 win 7 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"
收到以下错误:
编辑 2 - 根据 Raymond Chen 的建议,我在 Adobe 网站上再次通过。我在这里、这里找到了几个线程,以及关于stackoverflow的另一个问题。前两个链接没有专门针对 .NET,但从它们看来,似乎必须安装 Acrobat Reader 的完整版本才能使这些互操作类工作/注册相关的 dll。明天我会检查,但我强烈怀疑客户的环境可能包含 Acrobat Reader 的完整版本。感谢所有回答的人,感谢您的宝贵时间。
编辑 3 - 安装了完整版的 Acrobat,你瞧,一切都很棒!