繁体   English   中英

尝试在 CLIENT 上打开 PPT 文件时出现 CO_E_SERVER_EXEC_FAILURE

[英]CO_E_SERVER_EXEC_FAILURE when trying to open PPT-File on CLIENT

请注意,这是不是一个服务器-组件或ASP.NET。

这发生在客户端应用程序 (WinForms) 上

我尝试从我的应用程序中打开一个 PPT 文件。 以下代码在我的机器上运行良好:

   _ppApp = new Microsoft.Office.Interop.PowerPoint.Application();
                _ppApp.DisplayAlerts = PpAlertLevel.ppAlertsNone;
                _ppApp.SlideShowEnd += PpApp_SlideShowEnd;

但至少在一个用户(第一个尝试运行它的用户)的机器上,第一行已经抛出以下异常:

由于以下错误,检索具有 CLSID {91493441-5A91-11CF-8700-00AA0060263B} 的组件的 COM 类工厂失败:80080005 服务器执行失败(来自 HRESULT 的异常:0x80080005 (CO_E_FAILVEREX))。 在 System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType) 在 System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType) 在 System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType serverType, Object[] props , Boolean bNewObj) at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawl) at SystemMark .RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
在 System.Activator.CreateInstance(Type type, Boolean nonPublic) at System.Activator.CreateInstance(Type type)

我已经在 SO 上的各种与服务器相关的片段上看到了这种错误,其中解决方案是关于更改服务器和/或服务行为。

但这是一个纯粹的客户端应用程序,导致了这个麻烦。 客户安装了现代化的办公室。 什么可能导致这种行为?

我意识到这个答案来得有点晚,也许您已经解决了它(在这种情况下,它至少可能对未来的读者有用)。 我今天遇到了这个问题,这种行为可能是因为您的 PowerPoint 和客户端应用程序以不同的权限运行。

例如,PowerPoint 可能以普通用户权限运行,而您的客户端应用程序可能以管理员身份运行。 这将导致它挂起一段时间,然后导致您描述的错误。 解决方案是以相似的权限运行这两个程序。 因此,要么作为管理员,要么作为普通用户。 这防止了我的情况下的错误,这听起来与您的情况非常相似(WPF 应用程序访问打开的 PowerPoint 演示文稿)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM