VB6アプリをVB.Netにアップグレードしています。「AdobeAcrobat10.0タイプライブラリ」を使用しました。ただし、.Netプロジェクトで使用すると、タイトルにエラーが表示されます。小さなテストプロジェクトを作成しました。次の行で、AcroPDDocをインスタンス化しようとすると、例外がスローされます。
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がロードされましたが、DllRegisterServerの呼び出しがエラーコード0x80004005で失敗しました
私はそのエラーコードについて多くを見つけることができませんでした。
また、プラットフォームターゲットを「任意のCPU」からx86にチェーンしてみました。
編集-私はWindows7の32ビット版と64ビット版の両方で同じ問題を経験しました。
Win 7 64で、私は次のように入力しました。
C:\ Windows \ SysWOW64> zippy32 "C:\ Program Files(x86)\ Adobe \ Reader 10.0 \ Reader \ AcroRd32.dll"
次のエラーを受け取りました:
Win 7 32で、次のように入力しました。
C:\ Windows \ system32> zippy32 "C:\ Program Files \ Adobe \ Reader 10.0 \ Reader \ AcroRd32.dll"
次のエラーを受け取りました:
編集2-レイモンド・チェンの提案に従って、私はアドビのサイトで別のパスを取りました。ここ、ここ、およびstackoverflowに関する別の質問でいくつかのスレッドを見つけました。前の2つのリンクは特に.NETを参照していませんが、これらの相互運用クラスが機能するため、または問題のdllを登録するには、AcrobatReaderのフルバージョンをインストールする必要があるようです。明日チェックしますが、お客様の環境にフルバージョンのAcrobatReaderが含まれているのではないかと強く疑っています。答えてくれたすべての人に、お時間をいただきありがとうございます。
編集3-Acrobatのフルバージョンを手に入れ、インストールしました。見よ、すべてがダンディです!