Adobe ActiveXコントロールを使用してPDFを表示するC#.NETアプリを作成しました。
これは、アプリケーションに付属しているいくつかのDLLに依存しています。これらのDLLは、ローカルにインストールされているAdobeAcrobatまたはマシンにインストールされているAdobeAcrobatReaderと相互作用します。
このアプリはすでに一部のお客様に使用されており、ほぼすべてのユーザーに最適です(ローカルマシンが少なくともバージョン9のAcrobatまたはReaderを実行していることを確認します)。
ロードしようとすると(ActiveXコントロールがロードされているときに)、アプリが「COMコンポーネントの呼び出しからエラーHRESULTE_FAILが返されました」というエラーメッセージを返す3つのケースを見つけました。
これらのユーザーのマシンの1つを確認しましたが、彼はAcrobat 9をインストールしており、問題なく頻繁に使用しています。Acrobat 9と一緒にレジストリにエントリがあるため、Acrobat7と8は一度にインストールされたようです。
この問題をローカルで再現することはできないため、どちらの方向に進むべきか正確にはわかりません。
スタックトレースの先頭にあるエラーは次のとおりです。System.Runtime.InteropServices.COMException(0x80004005):エラーHRESULTE_FAILがCOMコンポーネントの呼び出しから返されました。
このエラーに関するいくつかの調査は、それがレジストリの問題であることを示しています。
この問題を修正または回避する方法、または問題の根本的な原因に到達する方法を決定する方法について誰かが手がかりを持っていますか?
エラーメッセージの全内容は次のとおりです。
System.Runtime.InteropServices.COMException(0x80004005):エラーHRESULTE_FAILがCOMコンポーネントの呼び出しから返されました。System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid&clsid、Object punkOuter、Int32 context、Guid&iid)at System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)at System.Windows.Forms.AxHost.CreateWithLicense(String license 、Guid clsid)at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)at System.Windows.Forms.AxHost.CreateInstance()at System.Windows.Forms.AxHost.GetOcxCreate()at System.Windows.Forms.AxHost .TransitionUpTo(Int32 state)at System.Windows.Forms.AxHost.CreateHandle()at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)atSystem.Windows.Forms.Control。