我正在将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
我无法在错误代码上找到很多。
我也试过chainging the platform target to x86 from 'any cpu'。
编辑 - 我在Windows 7的32位和64位版本上遇到了同样的问题。
在胜利7 64中,我输入了以下内容:
C:\的Windows \ Syswow64资料> regsvr32“C:\ Program Files(x86)\ Adobe \ Reader 10.0 \ Reader \ AcroRd32.dll”
收到以下错误:
在胜利7 32中,输入以下内容:
C:\ Windows \ System32下> regsvr32“C:\ Program Files \ Adobe \ Reader 10.0 \ Reader \ AcroRd32.dll”
收到以下错误:
编辑2 - 按照Raymond Chen的建议,我在Adobe网站上再次通过了。我在here找到了几个帖子here,stackoverflow和另一个问题。前两个链接并不是专门针对.NET,但是从它们看来,似乎必须安装完整版本的Acrobat Reader才能使这些互操作类工作/有问题的dll被注册。我明天会检查,但我强烈怀疑客户的环境可能包括完整版的Acrobat Reader。 对所有回答的人,谢谢你的时间。
编辑3 - 完成了Acrobat的完整版本,安装了,看哪,一切都花花公子!
答案 0 :(得分:0)
如上所述,除非在机器上安装了Acrobat的完整版本,否则dll不允许自己注册。