office microsoft example .net com interop

.net - microsoft - interop office



Recuperar la fábrica de la clase COM para el componente con CLSID{XXXX} falló debido al siguiente error: 80080005 (3)

0x80080005 es "Error de ejecución del servidor", de acuerdo con ERRLOOK.EXE. WinError.h muestra esto como CO_E_SERVER_EXEC_FAILURE . No "acceso denegado".

¿Cuál es el error del proceso de solución de problemas para "Recuperar la fábrica de la clase COM para el componente con CLSID {XXXX} debido al siguiente error: 80080005" en .Net? Para aclarar: estoy obteniendo esto en tiempo de ejecución, en mi máquina XP, con el cliente siendo el código .net ejecutándose bajo la cuenta de administrador. {XXXX} se refiere a uno de nuestros componentes COM internos.

Por lo que entiendo, 0x80080005 se refiere a "permiso denegado", pero ¿dónde voy a verificar / cambiar los permisos? ¿O estoy completamente equivocado aquí, y el error proviene del componente en sí, y no del subsistema COM de Windows?


Parece ser un error bastante genérico relacionado con la puesta en marcha del servidor COM. Los posibles problemas incluyen tiempos de espera , fallas de inicio de sesión (verifique Q sobre CO_E_SERVER_EXEC_FAILURE ), o permisos de seguridad , o (evidentemente) un error VS2008 ATL . Golpear un error en CreateInstance también haría el truco, creo.

Comenzaría revisando el registro de eventos para ver si hay algo interesante.


Una cosa que puede ver es la configuración de seguridad DCOM. Está controlado por la utilidad dcomcnfg. Hay videos tutoriales útiles en la web para explicar cómo usarlos. También hay un hilo en el foro ASP.NET que trata sobre cómo usar dcomcnfg.