Error when trying to open PowerPoint programmatically

后端 未结 2 1752
一整个雨季
一整个雨季 2021-01-22 22:07

I have a method that uses Microsoft.Office.Interop.PowerPoint.Application interface to convert PowerPoint presentation slides into a jpeg files. In a service application that ru

相关标签:
2条回答
  • 2021-01-22 22:42

    First of all, what you are trying to achieve seems to be unsupported / not recommended by Microsoft:

    All current versions of Microsoft Office were designed, tested, and configured to run as end-user products on a client workstation. They assume an interactive desktop and user profile. They do not provide the level of reentrancy or security that is necessary to meet the needs of server-side components that are designed to run unattended.

    Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component (including ASP, ASP.NET, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when Office is run in this environment.

    If you are building a solution that runs in a server-side context, you should try to use components that have been made safe for unattended execution. Or, you should try to find alternatives that allow at least part of the code to run client-side. If you use an Office application from a server-side solution, the application will lack many of the necessary capabilities to run successfully. Additionally, you will be taking risks with the stability of your overall solution.

    Source: http://support.microsoft.com/kb/257757

    With that said, it seems that a couple of other people have experienced a similar behavior under these settings, so I suggest you take a look at:

    • Powerpoint could not open file
    • Powerpoint Interop fails in a Windows Service but works fine in a Windows Form application
    • Automating Office via Windows Service on Server 2008

    And further, to check that you open the .pptx right, I just tried the PowerPoint Interop bits of your code sample in a C# .NET 4.5 console application using PowerPoint Interop v. 15 (for Office 2013) on a standard desktop PC. And that works out of the box.

    0 讨论(0)
  • 2021-01-22 22:45

    How do you run you web app? Is it IIS 7.5 or Asp.Ne development Server? If it's asp.net development server, you should start it as administrator. if that is IIS, i will need version of IIS.

    0 讨论(0)
提交回复
热议问题