Symptômes
Appel de méthode STA COM résultant en 0x8001010E RPC_E_WRONG_THREAD après l’installation de .NET Framework 4.8.
Solutions de contournement
Méthode 1 : Variable d’environnement
Définir la variable d’environnement suivante :COMPLUS_DisableCCWSupportIAgileObject=1
Cette méthode affecte tout environnement qui hérite de cette variable d’environnement. Il peut s’agir d’une session console unique ou d’une incidence sur l’ensemble de la machine si vous définissez la variable d’environnement globalement. Le nom de la variable d’environnement ne respecte pas la casse.
Méthode 2 : Registre
À l’aide de l’Éditeur du Registre (regedit.exe), recherchez l’une des sous-clés suivantes :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Pour les processus 32 bits sur les systèmes x64, utilisez :
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework
Ajoutez ensuite le nom suivant : Valeur : DisableCCWSupportIAgileObject Type : Valeur DWORD (32 bits) (également appelée REG_WORD) Valeur : 1
Vous pouvez utiliser l’outil Windows REG.EXE pour ajouter cette valeur à partir d’une ligne de commande ou d’un environnement de script. Par exemple :
reg add HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
Dans ce cas, HKLM est utilisé au lieu de HKEY_LOCAL_MACHINE. Utiliser reg add /? pour voir de l’aide sur cette syntaxe. Le nom de la valeur du Registre n’est pas sensible à la casse.
Informations supplémentaires
Vous trouverez plus d’informations sur cette modification du runtime .NET Framework 4.8 ici : 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
S’applique à
Applications s’exécutant sur .NET Framework 4.8 sur les versions prises en charge de Windows.