Server Office Automation Issues
Microsoft generally recommends against automating of Office apps on servers.
For a detailed technical paper on the subject, see MSKB 257757 Considerations for Server-Side Automation of Office
"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, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when run in this environment."
The paper lists several major categories of problems, including:
- User Identity -- Office apps assume a user profile, but none may be present when run on a server
- Interactivity with the desktop -- PowerPoint cannot be run invisibly, for example, and all of the Office apps expect to be able to interact with the user if problems arise. Can be coded around to some extent, but not completely. [see below for more info on this]
- Reentrancy and Scalability -- server apps need to be re-entrant, multi-threaded and non-resource-intensive. Office apps are the exact opposite. PowerPoint is strictly a single-instance application, in fact. You simply cannot have multiple instances running.
- Stability -- MS says "Using Office as a service component on a network server may reduce the stability of that machine, and as a consequence your network as a whole."
- Security -- Office apps were never intended for use server-side so they have no provisions for the kind of security a server-based application needs. Again, we'll defer to MS: "Based on the security settings that were last set, the server can run macros under an Administrator or System context with full privileges and compromise your network!"
Then there are the licensing issues, about which MS says:
"Besides the technical problems, you must also consider the feasibility of such a design with respect to licensing. Current licensing guidelines prevent Office Applications from being used on server to service client requests, unless those clients themselves have licensed copies of Office. Using server-side Automation to provide Office functionality to unlicensed workstations isnot covered by the End User License Agreement (EULA)."
Because PPT2HTMLBatch queues up lists of files for processing and won't attempt to launch another batch while one batch is running, it sidesteps a number of the problems MS mentions. In fact, we have several customers running PPT2HTMLBatch on servers, but we cannot guarantee that it will function fully in all server environments. We strongly encourage you to try out the free, fully functional demo available at http://www.pptools.com/downloads.htm before committing to purchase PPT2HTMLBatch.
As mentioned earlier, Office apps expect to interact with the user; they may pop up dialog or message boxes and wait for user input before proceeding. This effectively hangs an automated process. See this article for suggestions: