0
votes

ASP .NET / VB .net à l'aide de Microsoft Interop Word - Crash de CreateObject ("Word.Application")

J'essaie juste de remplir un fichier de points de mots (en utilisant un signet) avec mon site Web asp net vb net en utilisant Microsoft Interop Word.

Cela fonctionne parfaitement en débogage sur mon IIS Express, mais plante sur mon serveur Windows 2016 / IIS 10.

Dim oWord As Word.Application
oWord = CreateObject("Word.Application")

Crash du serveur avec un message comme celui-ci:

Impossible de créer le composant ActiveX. (message d'erreur d'origine : Impossible de créer le composant ActiveX.)

Je cherchais un correctif, mais beaucoup d'articles sur cette erreur sont anciens.

J'ai essayé de vérifier le registre du serveur et la clé {000209FF-0000-0000-C000-000000000046} est ici avec l'application Microsoft Word sous forme de données.

Sur le serveur, Microsoft Office 2016 est installé avec Word.

Merci

EDIT 12/08/2020: Le problème concernait l'utilisation du serveur d'Interop Word. Pour résoudre ce problème, j'ai dû utiliser OpenXML à la place.


2 commentaires

Lisez simplement l'article sur ce problème. On dirait que j'ai besoin d'activer quelque chose dans la configuration DCOM, mais je ne sais pas vraiment quoi activer ni comment le faire. forums.asp.net/post/3722378.aspx


Copie possible de ASP.NET ne peut pas créer le composant ActiveX


3 Réponses :


1
votes

Toutes les versions de Microsoft Office ont été conçues, testées et configurées pour s'exécuter en tant que produits d'utilisateur final sur un poste de travail client. Ils supposent un bureau interactif et un profil utilisateur. Ils n'offrent pas le niveau de réentrance ou de sécurité nécessaire pour répondre aux besoins des composants côté serveur conçus pour fonctionner sans surveillance.

Microsoft ne recommande pas actuellement et ne prend pas en charge l'automatisation des applications Microsoft Office à partir d'une application ou d'un composant client sans surveillance et non interactif (y compris les services ASP, ASP.NET, DCOM et NT), car Office peut présenter une instabilité comportement et / ou blocage lorsque Office est exécuté dans cet environnement.

Vous pouvez envisager d'utiliser le SDK Open XML à la place si vous traitez uniquement avec des documents XML ouverts. Voir Bienvenue dans le SDK Open XML 2.5 pour Office pour plus d'informations.

Sinon, vous pouvez utiliser tout composant tiers conçu pour une exécution côté serveur (par exemple, Aspose).


1 commentaires

"Toutes les versions actuelles [...] dans cet environnement." - si vous citez un texte de quelque part, formatez-le comme une citation et citez vos sources.



0
votes

ASP.NET ne peut pas créer de composant ActiveX

Ce lien est en fait ce que je recherche, mais je n'ai aucune application Microsoft Word dans ma configuration DCOM.


1 commentaires

J'ai essayé d'ouvrir DCOM Conf en mode 32 bits, je ne pouvais pas non plus avoir d'application Word



0
votes

Dans la plupart des cas (par défaut), votre serveur Web in-process local (express) qui se lance à partir de VS s'exécute en tant que serveur Web x32 bits. Votre serveur Web réel fonctionne TRÈS probablement comme un serveur x64 bits. En conséquence, vous devez installer + utiliser une version x64 bits de Word. (vous voulez installer office x64 sur le serveur).

Comme indiqué, cela a tendance à être une mauvaise idée pour le code du serveur Web


0 commentaires