2017-04-05 39 views
0

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

异常详细信息:System.Runtime.InteropServices.COMException:Error HRESULT E_FAIL已从电话返回到COM组件

在此先感谢

回答

0

Microsoft不会curr建议并不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定的行为和/或死锁Office在此环境中运行。

如果您要构建在服务器端上下文中运行的解决方案,你应该尝试使用已取得安全的无人参与的执行部件。或者,您应该尝试找到允许至少部分代码运行客户端的替代方案。如果您从服务器端解决方案使用Office应用程序,则该应用程序将缺少成功运行所需的许多必要功能。此外,您将面临整体解决方案稳定性的风险。请阅读​​文章中的更多内容。

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