【问题标题】:Using inropservices.powerpoint in windows service在 windows 服务中使用 inropservices.powerpoint
【发布时间】:2017-04-05 09:26:52
【问题描述】:

我有一个激活 Interop PowerPoint 应用程序类的 Windows 服务。 它使用控制台工作正常,但是当我尝试在我的服务器(Windows Server 2012)上将它作为 Windows 服务运行时,当我使用 app.open 方法时它会抛出 COMException 当我在我的电脑上运行 Windows 服务时,它也可以正常工作 注意:我已经在我的服务器上安装了 Microsoft Office 2013,并在 C:\Windows\System32\config\systemprofile 和 SystemWOW64 中添加了一个桌面文件夹

异常详细信息:System.Runtime.InteropServices.COMException:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回

提前致谢

【问题讨论】:

    标签: c#-4.0 powerpoint office-interop com-interop


    【解决方案1】:

    Microsoft 目前不推荐也不支持任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)的 Microsoft Office 应用程序自动化,因为 Office 可能表现出不稳定Office 在此环境中运行时的行为和/或死锁。

    如果您要构建在服务器端上下文中运行的解决方案,您应该尝试使用已确保无人值守执行安全的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。如果您使用服务器端解决方案中的 Office 应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将承担整体解决方案稳定性的风险。在Considerations for server-side Automation of Office 文章中阅读更多相关信息。

    作为一种解决方法,您可以考虑使用 Open XML SDK,请参阅Welcome to the Open XML SDK 2.5 for Office 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2010-11-12
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      • 2014-06-24
      • 2020-06-10
      • 2015-04-10
      相关资源
      最近更新 更多