Erros COM e .NET após a migração da arquitetura do Office
Sintomas
Depois de migrar a arquitetura do Microsoft Office de 32 bits para 64 bits, ocorrerão erros se for utilizada uma aplicação COM ou um cliente .NET Framework. Estes possíveis erros incluem, mas não se limitam a, o seguinte:
TYPE_E_CANTLOADLIBRARY
TYPE_E_LIBNOTREGISTERED
TYPE_E_ELEMENTNOTFOUND
Normalmente, os erros ocorrem se a aplicação COM ou o cliente .NET estiver em execução como um processo de 32 bits.
Exemplo
Estes erros podem ocorrer quando o seguinte código é executado no PowerShell de 86 bits:
$xl = New-Object -ComObject Excel.Application
$xl.Visible = $True
Causa
Os erros são causados por subchaves de registo órfãs criadas pela migração.
Resolução
Para corrigir este problema, utilize um dos seguintes métodos.
Método 1: Eliminar subchaves órfãs automaticamente
Para detetar e remover as subchaves órfãs, execute este script a partir da seguinte localização do GitHub:
Remediação da TypeLib do Office
Método 2: Eliminar manualmente subchaves órfãs
Se o script do PowerShell do Passo 1 não eliminar as subchaves órfãs, também pode procurar entradas órfãs manualmente. O dispositivo afetado pode ter subchaves órfãs semelhantes ao seguinte exemplo:
HKEY_CLASSES_ROOT\WOW6432Node\TypeLib\GUID\1.9\0\Win32
Nota: neste exemplo, GUID é uma cadeia específica da subchave.
A subchave terá um valor que aponta para um executável do Office em falta no caminho do ficheiro Ficheiros de Programa (x86). Por exemplo:
C:\Programas (x86)\Microsoft Office\Root\Office16\EXCEL.EXE
Também deve existir uma subchave adjacente que aponte para a localização correta dos Ficheiros de Programa de 64 bits.