¿Qué significa el código HRESULT 0x80040166 (CS_E_CLASS_NOTFOUND)?

 
Anterior Siguiente
CS_E_NOT_DELETABLE CS_E_INVALID_VERSION

CS_E_CLASS_NOTFOUND

Qué significa CS_E_CLASS_NOTFOUND

CS_E_CLASS_NOTFOUND corresponde a 0x80040166. El mecanismo Class Store no encontró el CLSID en los datos de instalación de software de Active Directory.

La diferencia con REGDB_E_CLASSNOTREG es importante: este resultado procede de una búsqueda de instalación automática respaldada por directorio, no simplemente del registro COM local. Un paquete puede existir y, aun así, no publicar la clase concreta o una versión adecuada para el cliente.

Qué comprobar

  • Registra el CLSID exacto y, si se partió de un ProgID, conserva también el ProgID y el resultado de su resolución.
  • Inspecciona el mapeo clase-paquete en Active Directory y confirma que no se eliminó durante una actualización o despublicación.
  • Comprueba arquitectura y versión del cliente frente a la clase incluida en el paquete; una edición distinta puede no contenerla.
  • Si el directorio se replicó recientemente, verifica el mismo CLSID en el controlador que posee la copia autoritativa y en el que atendió al cliente.

Cómo resolverlo

Corrige la publicación de la clase o instala el componente por un método soportado que registre el CLSID localmente. No inventes el InprocServer32 a partir de otra máquina: la DLL, su arquitectura y sus dependencias deben corresponder a la instalación real.

Código cercano

CS_E_PACKAGE_NOTFOUND no encuentra un paquete que cumpla la selección; aquí el dato concreto ausente es el CLSID dentro del Class Store.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.