He desarrollado un sitio web que permite a los usuarios cargar documentos de oficina y luego utiliza el modelo de objetos de oficina para convertir el documento a un archivo HTML que luego muestra en un iFrame.El acceso al modelo de objetos de Office Word a través de los resultados de asp.net "falló debido al siguiente error: 80070005 Acceso denegado".
Por supuesto, he incluido referencias a Office.interop.word, y el sitio funciona bien en mi máquina de desarrollo. Cuando lo cargué en mi servidor de producción, el sitio funciona bien hasta que intento cargar un documento. Inicialmente recibí un error similar que decía "objeto COM no registrado". Me di cuenta de que Word no estaba instalado en mi servidor de producción. Así que instalé palabra y ahora cuando el servidor intenta obtener acceso al modelo de objetos de palabra recibo el siguiente error:
Recuperando el generador de clases COM para el componente con CLSID {000209FF-0000-0000-C000-000000000046} fracasó debido al siguiente error: 80070005 Acceso denegado. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED))
Busqué en el registro el CLSID correspondiente y encontré una carpeta correspondiente. Agregué control total a la cuenta IUSR_ y, debido a la persistencia del error, finalmente agregué el control total a "todos" y garanticé que estos permisos se heredaran hasta el resto de la carpeta. Luego agregué el control total a IUSR_ y finalmente agregué control total a "todos" en mi carpeta de microsoft office.
I no sé qué otros permisos otorgar y dónde para hacer que este error "Acceso denegado" desaparezca. Debo otorgarlos en el lugar equivocado, porque por lo que sé, no puedo ser más permisivo que "Todos" "Control total".
¿Alguien puede arrojar algo de luz?
Este uso de Word no es compatible con Microsoft. Además, la escalabilidad es horrible. Hay alternativas disponibles de otros proveedores que admiten este escenario ... –
Esta es la línea de código en particular que se está lanzando esta excepción: Dim wordApplication Como Nueva Microsoft.Office.Interop.Word.Application() Se puede elaborar en el "El uso de la palabra no es compatible con Microsoft? " Eso parece una declaración general. ¿Quiere decir que no se admite el acceso al modelo de objetos word a través de asp.net? Aun así, me gustaría descubrir por qué se lanza esta excepción. Incluso si no es compatible, el modelo de objetos hace lo que necesito, si puedo evitar este error. ¿Puedes indicarme algunas de las alternativas que mencionas? – Camenwolf
Nunca use Office Interop desde una aplicación ASP.NET. Consulte [Consideraciones para la automatización del lado del servidor de Office] (http://support.microsoft.com/kb/257757) –