我在启动Windows窗体应用程序时遇到问题。我的应用程序使用AcroPDFLib组件在Windows窗体中查看PDF。当我启动应用程序时,我会收到上面指出的错误。查看StackTrace,我发现对AxHost的多个调用,所以我很确定这与AcroPDF ActiveX组件有关。我有Adobe Reader 11。
以下是我尝试过的:
- 在IE中启用Adobe PDF Reader加载项
- 检查编辑->辅助功能->设置助手中的"在浏览器中显示PDF"设置
- 正在重新安装WinForms应用程序
- 正在重新启动我的计算机
- 我可以在互联网上打开其他PDF
这是堆栈跟踪:
System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at 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)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
您可能在IE中启用了一个有问题的加载项。
请转到IE中的加载项并禁用Adobe Acrobat Sharepoint OpenDocuments Control
加载项。现在检查您的应用程序是否正确启动。此加载项似乎与Adobe PDF Reader加载项冲突。
此加载项用于提示用户打开或保存在Sharepoint中单击的PDF文档。如果外接程序被禁用,PDF将直接显示在IE中。