Sintomas
Invocação de método STA COM resultando em 0x8001010E RPC_E_WRONG_THREAD após a instalação .NET Framework 4.8.
Soluções alternativas
Método 1: Variável de ambiente
Defina a seguinte variável de ambiente:COMPLUS_DisableCCWSupportIAgileObject=1
Esse método afeta qualquer ambiente que herda essa variável de ambiente. Isso pode ser apenas uma única sessão de console ou pode afetar todo o computador se você definir a variável de ambiente globalmente. O nome da variável de ambiente não diferencia maiúsculas de minúsculas.
Método 2: Registro
Usando o Editor do Registro (regedit.exe), localize uma das seguintes subchaves:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Para processos de 32 bits em sistemas x64, use:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework
Em seguida, adicione o seguinte:Nome do valor: DisableCCWSupportIAgileObject Tipo: Valor DWORD (32 bits) (também chamado de REG_WORD) Valor: 1
Você pode usar a ferramenta windows REG.EXE para adicionar esse valor de um ambiente de script ou de linha de comando. Por exemplo:
reg add HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
Nesse caso, o HKLM é usado em vez de HKEY_LOCAL_MACHINE. Usar reg add /? para ver ajuda sobre essa sintaxe. O nome do valor do Registro não diferencia maiúsculas de minúsculas.
Informações adicionais
Mais informações sobre essa .NET Framework de runtime da versão 4.8 podem ser encontradas aqui: https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/runtime/4.7.2-4.8#net-interop-will-now-queryinterface-for-iagileobject-a-winrt-interface
Aplica-se a
Aplicativos em execução .NET Framework 4.8 em versões compatíveis do Windows.