Příznaky
Vyvolání metody STA COM, jehož výsledkem je 0x8001010E RPC_E_WRONG_THREAD po instalaci rozhraní .NET Framework 4.8.
Řešení
Metoda 1: Proměnná prostředí
Nastavte následující proměnnou prostředí:COMPLUS_DisableCCWSupportIAgileObject=1
Tato metoda má vliv na jakékoli prostředí, které dědí tuto proměnnou prostředí. Může to být jenom jedna konzolová relace nebo to může mít vliv na celý počítač, pokud nastavíte proměnnou prostředí globálně. V názvu proměnné prostředí se nerozlišují malá a velká písmena.
Metoda 2: Registr
Pomocí Editoru registru (regedit.exe) vyhledejte některý z následujících podklíčů:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Pro 32bitové procesy v systémech x64 použijte:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework
Pak přidejte následující:Název hodnoty: DisableCCWSupportIAgileObject Typ: Hodnota DWORD (32bitová) (také nazývaná REG_WORD) Hodnota: 1
Tuto hodnotu můžete přidat z příkazového řádku nebo skriptovacího prostředí pomocí nástroje Windows REG.EXE. Příklad:
reg add HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
V tomto případě se místo HKEY_LOCAL_MACHINE používá HKLM. Použít reg add /? zobrazíte nápovědu k této syntaxi. V názvu hodnoty registru se nerozlišují malá a velká písmena.
Další informace
Další informace o této změně modulu runtime rozhraní .NET Framework 4.8 najdete tady: 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
Platí pro
Aplikace spuštěné v rozhraní .NET Framework 4.8 v podporovaných verzích systému Windows.