2017-04-05 2 views
0

J'ai un service Windows qui active la classe Interop powerpoint Application. Cela fonctionne très bien en utilisant la console mais quand j'essaie de l'exécuter en tant que service Windows sur mon serveur (Windows Server 2012) il lance COMException quand j'utilise la méthode app.open Quand j'exécute le service windows sur mon pc ça marche aussi bien REMARQUE: j'ai installé Microsoft Office 2013 sur mon serveur et ajouté un dossier Bureau dans C: \ Windows \ System32 \ config \ systemprofile et dans SystemWOW64Utilisation de inropservices.powerpoint dans le service Windows

Détails d'exception: System.Runtime.InteropServices.COMException: erreur HRESULT E_FAIL a été renvoyé par un appel à un composant COM

Merci à l'avance

Répondre

0

Microsoft ne curr recommande et ne prend pas en charge l'automatisation des applications Microsoft Office à partir d'une application ou d'un composant client non assisté et non interactif (notamment ASP, ASP.NET, DCOM et NT Services), car Office peut présenter un comportement instable et/ou un blocage Office est exécuté dans cet environnement. Si vous développez une solution qui s'exécute dans un contexte côté serveur, vous devez essayer d'utiliser des composants qui ont été sécurisés pour une exécution sans surveillance. Ou, vous devriez essayer de trouver des alternatives qui permettent au moins une partie du code de s'exécuter côté client. Si vous utilisez une application Office à partir d'une solution côté serveur, l'application ne disposera pas de nombreuses fonctionnalités nécessaires à son exécution. De plus, vous prendrez des risques avec la stabilité de votre solution globale. En savoir plus à ce sujet dans l'article Considerations for server-side Automation of Office. En guise de solution de contournement, vous pouvez envisager d'utiliser le SDK Open XML. Pour plus d'informations, voir Welcome to the Open XML SDK 2.5 for Office.