none
No se puede recuperar el generador de clases COM para el componente con CLSID RRS feed

  • Pregunta

  • Hola.

    Tengo el siguiente problema.Tenemos una aplicación en C# forms que automatiza Excel. La aplicación al abrir excel en maquinas con Windows 7 64 bits y Office 2010 de 32 bits nos arroja el siguiente mensaje!

    No se puede recuperar el generador de clases COM para el componente con CLSID {00024500-0000-0000-C000-000000000046} debido al siguiente error: 8000ffff Error catastrófico (Excepcion de HRESULT: 0x8000ffff (E_UNEXPECTED)).

    Espero puedan ayudarnos!
    lunes, 15 de julio de 2019 20:41

Todas las respuestas

  • Hola.

    Tengo el siguiente problema.Tenemos una aplicación en C# forms que automatiza Excel. La aplicación al abrir excel en maquinas con Windows 7 64 bits y Office 2010 de 32 bits nos arroja el siguiente mensaje!

    No se puede recuperar el generador de clases COM para el componente con CLSID {00024500-0000-0000-C000-000000000046} debido al siguiente error: 8000ffff Error catastrófico (Excepcion de HRESULT: 0x8000ffff (E_UNEXPECTED)).

    Espero puedan ayudarnos!


    lunes, 15 de julio de 2019 20:34
  • Si ejecutas el programa escrito en C# en una máquina de 64 bits, de forma predeterminada y mientras no le digas lo contrario se ejecuta en 64 bits. Pero un programa de 64 bits no puede llamar a un componente COM de 32 bits; siempre tienen que concidir los bit del llamante con los del llamado. Si tu Excel es de 32 bits, no puedes usar COM/Interop para llamarlo desde una aplicación de 64 bits.

    ¿Solución? Cambia tu programa en C# para que se ejecute en 32 bits. Esto se hace desde las Propiedades del proyecto. En el desplegable que dice "Any CPU", cámbialo por "x86". O bien, si tu versión de Visual Studio lo soporta, marca el checkbox que dice "prefer 32 bits".

    lunes, 15 de julio de 2019 21:45
    Moderador
  • Si ejecutas el programa escrito en C# en una máquina de 64 bits, de forma predeterminada y mientras no le digas lo contrario se ejecuta en 64 bits. Pero un programa de 64 bits no puede llamar a un componente COM de 32 bits; siempre tienen que concidir los bit del llamante con los del llamado. Si tu Excel es de 32 bits, no puedes usar COM/Interop para llamarlo desde una aplicación de 64 bits.

    ¿Solución? Cambia tu programa en C# para que se ejecute en 32 bits. Esto se hace desde las Propiedades del proyecto. En el desplegable que dice "Any CPU", cámbialo por "x86". O bien, si tu versión de Visual Studio lo soporta, marca el checkbox que dice "prefer 32 bits".

    Hola Sergio. Muchas gracias por tu respuesta. Este problema solo nos pasa con una computadora todas las demas tienen el mismo escenario: Windows 7 de 64 bits y Office 2010 de 32 bits y no tenemos problema alguno.

    martes, 16 de julio de 2019 16:09
  • Hola buen día. pudiste solucionar el error?
    martes, 20 de octubre de 2020 15:42
  • Tengo el mismo error, he intentado buscar la opción pero no me aparece lo de x86 bits--

    viernes, 30 de octubre de 2020 22:21
  • Se refiere a esta opción en las propiedades del proyecto:

    Captura de pantalla

    sábado, 31 de octubre de 2020 11:21
    Moderador