Bonjour à tous.
Bon j'ai un problème qui commence à me prendre la tête.
J'ai 3 applications en .net 2.0
- 1 librairie ExcelHelper
- 1 application Console
- 1 application ASP.Net
Le but c'est que les 2 applications Web/Console puisse interagir avec des fichiers Excel de manière complète pas pour une simple lecture de cellule (Import/Export XML avec mappage XSD, Export HTML, Execution de macro etc)
J'ai fais un Excel Helper qui attaque Microsoft.Office.Interop.Excel (v12 office 2007)
Je fais 2 codes identiques dans les applis Console et ASP.Net utilisant mon ExcelHelper.
Sur mon PC Windows XP SP2 avec Office 2007 d'installer
Tout marche (Console + Web)
Une personne se connecte à mon appli Web depuis un autre PC ca marche
Je fais une livraison sur un serveur Windows 2003 avec Office 2007 d'installer.
Je donne les droits dans DCOMCNFG aux users suivants : ASP.NET, IUSR_MACHINE, SERVICE RESEAU
Je donne les droits sur Excel.exe aux même utilisateurs en contrôle total.
L'application Console marche bien !
L'application WEb ne marche pas et renvoi l'erreur suivante :
Si on fait une recherche sur le forum ou sur google , la 1ère et seule chose qui sort c'est "Faut donner les droits avec DCOMCNFG". Donc comme vous avez pu le lire je l'ai fais et de manière plus que complète (j'ai même mis TOUT LE MONDE )
Code : Sélectionner tout - Visualiser dans une fenêtre à part La récupération de la fabrique de classe COM pour le composant avec le CLSID {00024500-0000-0000-C000-000000000046} a échoué en raison de l'erreur suivante : 80070005.
Mais ça ne marche pas, le seul moyen pour que la partie Web fonctionne c'est que je mette dans le Web.Config : <identity impersonate=True /> avec comme utilisateur ADMINISTRATEUR et ensuite le client se connecter en Administrateur ...
Donc j'en déduis que c'est un problème de droit. mais j'ai mis les droits partout ou il faut d'après ce que j'ai pu lire à droite à gauche j'ai rien oublié.
J'ai aussi vu un lien où ils expliquent comment réparer une base COM+ endommagé pour Windows server 2000
http://support.microsoft.com/kb/315296
Mais je pense que ca ne marchera pas sur Windows server 2003 car la dernière commande concernant IIS (createpackage) ne fonctionne pas sur server 2003.
J'ai aussi tenté 2 façon d'instancer un Excel.application
en faisant un new Excel.APplication et en faisant un server.CreateObject("Excel.Application") mais les 2 plantent pareil
Auriez vous une idée de commence faire pour résoudre mon problème ?
Ca fait 1 mois que je suis dessus
Merci à tous
PS : ce n'est pas lié à C# je pense, mais comme dans General DotNet il n'y a rien qui correspond à ASP.NET ou aux COM j'ai mis mon message ici puisque je programme en C#
Partager