4

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

我无法在该错误代码上找到很多信息。

我还尝试将平台目标从 'any cpu' 链接到 x86

编辑 - 我在 Windows 7 的 32 位和 64 位版本上都遇到了同样的问题。

在 win 7 64 中,我输入了以下内容:

C:\Windows\SysWOW64> regsvr32 "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.dll"

收到以下错误:

RegSvr32 错误 - 64 位 win7

在 win 7 32 中,输入以下内容:

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

收到以下错误:

RegSvr32 错误 - 32 位 win7

编辑 2 - 根据 Raymond Chen 的建议,我在 Adob​​e 网站上再次通过。我在这里这里找到了几个线程,以及关于stackoverflow的另一个问题。前两个链接没有专门针对 .NET,但从它们看来,似乎必须安装 Acrobat Reader 的完整版本才能使这些互操作类工作/注册相关的 dll。明天我会检查,但我强烈怀疑客户的环境可能包含 Acrobat Reader 的完整版本。感谢所有回答的人,感谢您的宝贵时间。

编辑 3 - 安装了完整版的 Acrobat,你瞧,一切都很棒!

4

1 回答 1

0

如上所述,除非机器上安装了 Acrobat 的完整版本,否则 dll 不允许自己注册。

于 2013-02-15T09:42:18.893 回答