Errores COM y .NET después de la migración de la arquitectura de Office
Síntomas
Después de migrar la arquitectura de Microsoft Office de 32 bits a 64 bits, experimenta errores si se usa una aplicación COM o un cliente de .NET Framework. Estos posibles errores incluyen, entre otros, los siguientes:
TYPE_E_CANTLOADLIBRARY
TYPE_E_LIBNOTREGISTERED
TYPE_E_ELEMENTNOTFOUND
Los errores suelen producirse si la aplicación COM o el cliente .NET se ejecutan como un proceso de 32 bits.
Ejemplo
Estos errores pueden producirse cuando se ejecuta el código siguiente en PowerShell de 86 bits:
$xl = New-Object -ComObject Excel.Application
$xl.Visible = $True
Causa
Los errores se deben a subclaves huérfanas del Registro creadas por la migración.
Solución
Para solucionar este problema, use cualquiera de los métodos siguientes.
Método 1: Eliminación automática de subclaves huérfanas
Para detectar y quitar las subclaves huérfanas, ejecute este script desde la siguiente ubicación de GitHub:
Corrección de TypeLib de Office
Método 2: Eliminación manual de subclaves huérfanas
Si el script de PowerShell del paso 1 no elimina las subclaves huérfanas, también puede comprobar si hay entradas huérfanas manualmente. El dispositivo afectado podría tener subclaves huérfanas similares al ejemplo siguiente:
HKEY_CLASSES_ROOT\WOW6432Node\TypeLib\GUID\1.9\0\Win32
Nota: En este ejemplo, GUID es una cadena específica de la subclave.
La subclave tendrá un valor que apunta a un archivo ejecutable de Office que falta en la ruta de acceso del archivo archivos de programa (x86). Por ejemplo:
C:\Archivos de programa (x86)\Microsoft Office\Root\Office16\EXCEL.EXE
También debe haber una subclave adyacente que apunte a la ubicación correcta de archivos de programa de 64 bits.