Compartilhar via


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, você sofrerá erros se um aplicativo COM ou um cliente .NET Framework for usado. Esses possíveis erros incluem, mas não se limitam a, o seguinte:

  • TYPE_E_CANTLOADLIBRARY

  • TYPE_E_LIBNOTREGISTERED

  • TYPE_E_ELEMENTNOTFOUND

Os erros geralmente ocorrem se o aplicativo COM ou o cliente .NET estiver em execução como um processo de 32 bits.

Exemplo

Esses erros podem ocorrer quando o código a seguir é executado no PowerShell de 86 bits:

$xl = New-Object -ComObject Excel.Application

$xl.Visible = $True

Motivo

Os erros são causados por subchaves de registro órfãos que são criadas pela migração.

Resolução

Para corrigir esse problema, use um dos métodos a seguir.

Método 1: excluir subchaves órfãos automaticamente

Para detectar e remover as subchaves órfãs, execute este script do seguinte local do GitHub:

Correção de TypeLib do Office

Método 2: excluir subchaves órfãos manualmente

Se o script do PowerShell da Etapa 1 não excluir as subchaves órfãs, você também poderá marcar para entradas órfãs manualmente. O dispositivo afetado pode ter subchaves órfãs que se assemelham ao seguinte exemplo:

HKEY_CLASSES_ROOT\WOW6432Node\TypeLib\GUID\1.9\0\Win32

Observação: neste exemplo, GUID é uma cadeia de caracteres específica para a subchave.

A subchave terá um valor que aponta para um executável do Office ausente no caminho do arquivo x86 (Arquivos de Programa). Por exemplo:

C:\Arquivos de Programa (x86)\Microsoft Office\Root\Office16\EXCEL.EXE

Também deve haver uma subchave adjacente que aponta para o local correto de Arquivos de Programa de 64 bits.