Share via


Correctifs de compatibilité pour Windows 10, Windows 8, Windows 7 et Windows Vista

Vous pouvez résoudre certains problèmes de compatibilité dus aux modifications apportées d’une version à l’autre du système d’exploitation Windows. Ces problèmes peuvent inclure les restrictions liées au contrôle de compte d’utilisateur.

Important  

ACT (Application Compatibility Toolkit) installe une version 32 bits et une version 64 bits de l’outil Administrateur de compatibilité. Vous devez utiliser la version 32 bits pour les applications 32 bits. Il en va de même pour la version 64 bits. Un message d’erreur apparaît si vous essayez d’utiliser la version incorrecte.

Si vous démarrez l’outil Compatibility Administrator en tant qu’administrateur (avec des privilèges élevés), il se peut que toutes les applications réparées s’exécutent correctement, mais que la virtualisation et la redirection ne s’effectuent pas comme prévu. Pour vérifier qu’un correctif de compatibilité résout un problème, vous devez tester l’application réparée en l’exécutant sous le compte d’utilisateur de destination.

 

Correctifs de compatibilité

Le tableau suivant répertorie les correctifs de compatibilité connus pour tous les systèmes d’exploitation Windows qui ont été publiés de Windows Vista à Windows 10. Ces correctifs sont recensés dans l’ordre alphabétique.

Correctif Description du correctif

8And16BitAggregateBlts

Les applications soumises à une atténuation 8/16 bits peuvent présenter des problèmes de performance. Cette couche regroupe toutes les opérations blt et améliore les performances.

8And16BitDXMaxWinMode

Les applications qui utilisent DX8/9 et qui sont soumises à la atténuation 8/16 bits sont exécutées dans un mode avec fenêtres maximisé. Cette couche atténue les applications qui présentent des altérations graphiques en mode plein écran.

8And16BitGDIRedraw

Répare les applications qui utilisent GDI et qui fonctionnent en mode de couleur 8 bits. L’application est amenée à repeindre sa fenêtre sur RealizePalette.

AccelGdipFlush

Augmente la vitesse de GdipFlush, qui présente des problèmes de performance dans le gestionnaire DWM.

AoaMp4Converter

Résout un problème d’affichage pour le convertisseur Mp4 AoA.

BIOSRead

Une application ne peut pas accéder à l’objet Device\PhysicalMemory au-delà des pilotes en mode noyau, sur tous les systèmes d’exploitation Windows Server® 2003.

Le correctif permet aux fichiers exécutables (.exe) OEM d’utiliser la fonction GetSystemFirmwareTable plutôt que la fonction NtOpenSection lors de l’interrogation par le BIOS des informations mémoire \\Device\Physical.

BlockRunasInteractiveUser

L’exécution des programmes d’installation et de désinstallation créés par InstallShield échoue, ce qui génère des messages d’erreur ou des avertissements.

Le correctif empêche InstallShield de définir la valeur des clés de Registre RunAs sur InteractiveUser, car InteractiveUser ne dispose plus des droits d’administrateur.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif BlockRunAsInteractiveUser.

 

ChangeFolderPathToXPStyle

L’application ne peut pas renvoyer les chemins d’accès des dossiers shell quand elle utilise l’API SHGetFolder.

Le correctif intercepte la demande de chemin d’accès à SHGetFolder et la remplace par le chemin d’accès au fichier appdata commun, renvoyant le chemin de fichier de style Windows® XP au lieu du chemin de fichier de style Windows Vista.

ClearLastErrorStatusonIntializeCriticalSection

L’application ne démarre pas.

Le correctif modifie l’appel de la fonction InitializeCriticalSection afin de pouvoir vérifier le code d’erreur NTSTATUS, puis affecte à la dernière erreur la valeur ERROR_SUCCESS.

CopyHKCUSettingsFromOtherUsers

Le programme d’installation de l’application doit s’exécuter avec des privilèges élevés et dépend des paramètres HKCU fournis pour les autres utilisateurs.

Le correctif analyse les profils utilisateur existants et tente de copier les clés spécifiées dans la zone du Registre HKEY_CURRENT_USER.

Vous pouvez contrôler ce correctif de façon plus approfondie en entrant les clés de Registre appropriées en tant que paramètres, séparées par le symbole ^ ; par exemple : Software\MyCompany\Key1^Software\MyCompany\Key2.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif CopyHKCUSettingsFromOtherUsers.

 

CorrectCreateBrushIndirectHatch

Un message d’erreur de violation d’accès s’affiche et l’application échoue quand vous sélectionnez ou rognez une image.

Le correctif corrige la valeur de hachage du style du pinceau qui est transmise à la fonction CreateBrushIndirect(), permettant ainsi une interprétation correcte des informations.

CorrectFilePaths

L’application se voit refuser l’accès ou reçoit un message d’erreur de fichier ou de chemin d’accès introuvable, en tentant d’écrire des fichiers sur le disque dur.

Le correctif modifie les noms de chemin de fichier pour les faire pointer vers un nouvel emplacement sur le disque dur.

Remarque  

Pour plus d’informations sur le correctif d’application CorrectFilePaths, voir Utilisation du correctif CorrectFilePaths. Nous vous recommandons d’utiliser ce correctif conjointement avec le correctif CorrectFilePathsUninstall si vous l’appliquez à un fichier d’installation du programme d’installation.

 

CorrectFilePathsUninstall

La désinstallation d’une application laisse de côté les fichiers, répertoires et liens.

Le correctif corrige les chemins d’accès de fichier utilisés par le processus de désinstallation d’une application.

Remarque  

Pour plus d’informations sur ce correctif, voir Utilisation du correctif CorrectFilePathsUninstall. Nous vous recommandons d’utiliser ce correctif conjointement avec le correctif CorrectFilePaths si vous l’appliquez à un fichier d’installation du programme d’installation.

 

CorrectShellExecuteHWND

Le démarrage d’un fichier exécutable (.exe) provoque l’affichage d’un élément de barre des tâches clignotant plutôt qu’une invite d’élévation, ou l’application ne fournit pas une valeur HWND valide au moment de l’appel de la fonction ShellExecute(Ex).

Le correctif intercepte les appels ShellExecute(Ex), puis inspecte la valeur HWND. Si la valeur n’est pas valide, ce correctif permet à l’appel d’utiliser la valeur HWND active.

Remarque  

Pour plus d’informations sur le correctif d’application CorrectShellExecuteHWND, voir Utilisation du correctif CorrectShellExecuteHWND.

 

CustomNCRender

Ce correctif indique au gestionnaire DWM de ne pas afficher la zone non cliente, obligeant ainsi l’application à effectuer cette opération. Cela donne souvent aux fenêtres un aspect de style XP.

DelayApplyFlag

Ce correctif applique un indicateur KERNEL, USER ou PROCESS si la DLL spécifiée est chargée.

Vous pouvez contrôler ce correctif de manière plus approfondie en utilisant la syntaxe suivante à l’invite de commandes :

DLL_Name;Flag_Type;Hexidecimal_Value

où DLL_Name correspond au nom de la DLL spécifique incluant l’extension du fichier, Flag_Type correspond à KERNEL, USER ou PROCESS, et où Hexidecimal_Value démarre à la valeur 0x et comporte une valeur de longueur allant jusqu’à 64 bits.

Remarque  

Le type d’indicateur PROCESS ne peut pas dépasser 32 bits et les entrées multiples peuvent être séparées par une barre oblique inverse (\).

 

DeprecatedServiceShim

L’application tente d’installer un service présentant une dépendance envers un service déconseillé, donnant lieu à l’affichage d’un message d’erreur.

Le correctif intercepte les appels de la fonction CreateService et supprime le service de dépendance déconseillé du paramètre lpDependencies.

Vous pouvez contrôler ce correctif de manière plus approfondie en utilisant la syntaxe suivante à l’invite de commandes :

Deprecated_Service\App_Service/Deprecated_Service2 \App_Service2

où Deprecated_Service correspond au nom du service déconseillé, et App_Service au nom du service d’application spécifique à modifier. Par exemple, NtLmSsp\WMI.

Remarque  

Si vous n’indiquez pas de nom App_Service, le service déconseillé est supprimé de tous les services nouvellement créés.

 
Remarque  

Vous pouvez séparer plusieurs entrées à l’aide d’une barre oblique (/).

 

DirectXVersionLie

L’application échoue, car elle ne trouve pas le numéro de version correct de DirectX®.

Le correctif modifie l’appel de la fonction DXDIAGN GetProp pour retourner la version DirectX correcte.

Vous pouvez contrôler ce correctif de manière plus approfondie en utilisant la syntaxe suivante à l’invite de commandes :

VERSIONMAJEURE.VERSIONMINEURE.LETTRE

Exemple : 9.0.c.

DetectorDWM8And16Bit

Permet d’atténuer les applications qui fonctionnent en mode de couleur d’affichage 8/16 bits, car ces modes de couleur hérités ne sont pas pris en charge dans Windows 8.

Disable8And16BitD3D

Améliore les performances des applications fonctionnant en mode de couleur 8/16 bits dont le rendu repose sur D3D sans utilisation parallèle de DirectDraw.

Disable8And16BitModes

Désactive l’atténuation de couleurs 8/16 bits et l’énumération des modes de couleur 8/16 bits.

DisableDWM

L’affichage de l’application est incorrect. Certains objets ne sont pas dessinés ou leurs artefacts restent sur l’écran.

Le correctif désactive temporairement la fonction du thème de menu Aero de Windows pour les applications non prises en charge.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif DisableDWM.

 

DisableFadeAnimations

Les animations en fondu, boutons ou autres contrôles de l’application ne fonctionnent pas correctement.

Le correctif désactive les animations en fondu pour les applications non prises en charge.

DisableThemeMenus

L’application se comporte de manière imprévisible en tentant de détecter et d’utiliser les paramètres Windows corrects.

Le correctif désactive temporairement la fonction du thème de menu Aero de Windows pour les applications non prises en charge.

DisableWindowsDefender

Désactive Windows Defender pour les applications de sécurité qui n’utilisent pas Windows Defender.

DWM8And16BitMitigation

Permet d’atténuer les applications qui fonctionnent en mode de couleur d’affichage 8/16 bits, car ces modes de couleur hérités ne sont pas pris en charge dans Windows 8.

DXGICompat

Permet aux instructions de compatibilité propres à l’application d’être transmises au moteur DirectX.

DXMaximizedWindowedMode

Les applications qui utilisent DX8/9 sont exécutées dans un mode avec fenêtres maximisé. Cela est nécessaire pour les applications qui utilisent GDI/DirectDraw en plus de Direct3D.

ElevateCreateProcess

Les installations, désinstallations ou mises à jour échouent, car le processus hôte appelle la fonction CreateProcess et renvoie le message d’erreur ERROR_ELEVATION_REQUIRED.

Ce correctif gère le code d’erreur et tente de rappeler la fonction CreateProcess, cette fois en demandant l’élévation. Si l’application fixe possède déjà un manifeste de contrôle de compte d’utilisateur, le code d’erreur est retourné inchangé.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif ElevateCreateProcess.

 

EmulateOldPathIsUNC

L’application échoue en raison d’un chemin d’accès UNC incorrect.

Le correctif modifie la fonction PathIsUNC pour retourner la valeur True pour les chemins d’accès UNC dans Windows. 

EmulateGetDiskFreeSpace

Impossible d’installer ou d’exécuter l’application, ce qui génère un message d’erreur indiquant que l’espace disque est insuffisant pour installer ou utiliser l’application, bien qu’il y ait assez d’espace disque pour satisfaire les conditions requises de l’application.

Le correctif détermine la quantité d’espace libre, afin que si celle-ci est supérieure à 2 Go, le correctif de compatibilité renvoie une valeur de 2 Go, mais si elle est inférieure à 2 Go, le correctif de compatibilité retourne la quantité d’espace libre réel.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif EmulateGetDiskFreeSpace.

 

EmulateSorting

Les applications rencontrent des problèmes au niveau des fonctionnalités de recherche.

Le correctif force les applications utilisant la table de tri CompareStringW/LCMapString à utiliser une version antérieure de la table.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif EmulateSorting.

 

EmulateSortingWindows61

Le correctif émule l’ordre de tri de Windows 7 et Windows Server 2008 R2 pour différentes API.

EnableRestarts

L’application et l’ordinateur semblent se bloquer, car les processus ne parviennent pas à se terminer et donc à autoriser l’ordinateur à redémarrer pour terminer ses processus.

Le correctif permet à l’ordinateur de redémarrer et de finir le processus d’installation en vérifiant que le privilège de service SeShutdownPrivilege existe et en l’activant.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif EnableRestarts.

 

ExtraAddRefDesktopFolder

L’application appelle la méthode Release() trop souvent, provoquant la destruction prématurée d’un objet.

Le correctif contre la tentative de l’application d’obtenir le dossier Bureau shell en appelant la méthode AddRef() sur le dossier Bureau, retourné par la fonction SHGetDesktopFolder.

FailObsoleteShellAPIs

L’application échoue en raison d’appels à des API déconseillées.

Le correctif met entièrement en œuvre les fonctions déconseillées ou met en œuvre ces fonctions avec les stubs qui échouent.

Remarque  

À l’invite de commandes, vous pouvez taper FailAll=1 pour supprimer l’implémentation des fonctions et forcer l’échec de toutes les fonctions.

 

FailRemoveDirectory

Le processus de désinstallation de l’application ne supprime pas la totalité des fichiers et des dossiers d’application.

Ce correctif fait échouer les appels de la fonction RemoveDirectory() quand l’appel fait référence à un chemin d’accès correspondant à celui spécifié sur la ligne de commande de shim.  Un seul chemin d’accès est pris en charge.  Le chemin d’accès peut contenir des variables d’environnement, mais doit être un chemin d’accès exact : aucun chemin d’accès partiel n’est pris en charge.

Le correctif est approprié dans la situation où une application s’attend à ce que la fonction RemoveDirectory() supprime un dossier immédiatement même si un handle est ouvert vers celui-ci.

FakeLunaTheme

Le thème de l’application n’apparaît pas correctement. Les couleurs semblent délavées ou l’interface utilisateur apparaît moins détaillée.

Le correctif intercepte l’API GetCurrentThemeName et retourne la valeur du thème Windows XP par défaut, Luna.

Remarque  

Pour plus d’informations sur le correctif d’application FakeLunaTheme, voir Utilisation du correctif FakeLunaTheme.

 

FlushFile

Les modifications apportées à un fichier n’apparaissent pas immédiatement sur le disque dur et les applications qui regardent le fichier ne sont pas en mesure de les visualiser.

Le correctif permet à la fonction WriteFile de passer l’appel aux API FlushFileBuffers, qui vident alors le cache de fichiers sur le disque dur.

FontMigration

Le correctif remplace une police demandée par l’application par une sélection de polices plus appropriée, pour éviter la troncation de texte.

ForceAdminAccess

L’application cesse de fonctionner pendant une vérification explicite de l’administrateur.

Le correctif permet à l’utilisateur de créer une émulation temporaire comme s’il appartenait au groupe Administrateurs, en renvoyant une valeur True pendant la vérification de l’administrateur.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif ForceAdminAccess.

 

ForceInvalidateOnClose

Le correctif invalide toutes les fenêtres qui existent sous une fenêtre en cours de fermeture ou de masquage pour les applications qui reposent sur les messages d’invalidation.

ForceLoadMirrorDrvMitigation

Le correctif charge l’atténuation du pilote miroir de Windows 8 pour les applications où l’atténuation n’est pas automatiquement appliquée.

FreestyleBMX

Le correctif résout une condition de concurrence d’application liée à l’ordre des messages de fenêtre.

GetDriveTypeWHook

L’application a un comportement inhabituel pendant l’installation. Par exemple, le programme d’installation indique qu’il ne peut pas effectuer l’installation dans un emplacement spécifié par l’utilisateur.

Le correctif modifie GetDriveType() pour que seules les informations sur la racine apparaissent pour le chemin d’accès du fichier. Cette action est requise quand une application transmet un chemin d’accès de fichier incomplet ou mal formé en tentant de récupérer le type de lecteur sur lequel se trouve le chemin d’accès du fichier.

GlobalMemoryStatusLie

Le message d’erreur de saturation de la mémoire de votre ordinateur apparaît quand vous démarrez une application.

Le correctif modifie la structure de l’état de la mémoire pour qu’un fichier d’échange de 400 Mo soit signalé même si ce n’est pas sa taille réelle.

HandleBadPtr

Un message d’erreur de violation d’accès apparaît, car une API effectue une validation de pointeur avant l’utilisation d’un paramètre.

Le correctif prend en charge l’utilisation de la validation lpBuffer, à partir des fonctions InternetSetOptionA et InternetSetOptionW, pour effectuer la validation des paramètres supplémentaires.

HandleMarkedContentNotIndexed

L’application échoue pendant la modification d’un attribut sur un fichier ou un répertoire.

Le correctif intercepte les appels d’API qui retournent les attributs des fichiers et répertoires appelés à partir du répertoire %TEMP%, en rétablissant l’état d’origine de l’attribut FILE_ATTRIBUTE_NOT_CONTENT_INDEXED.

HeapClearAllocation

Le processus d’allocation s’arrête de façon inopinée.

Le correctif remplace l’allocation de segment de mémoire d’une application par des zéros.

IgnoreAltTab

L’application cesse de fonctionner en cas d’utilisation de combinaisons de touches spéciales.

Le correctif intercepte l’API RegisterRawInputDevices et empêche la remise des messages WM_INPUT. Du fait de cet échec de la remise, les points de raccordement inclus sont ignorés et DInput est obligé d’utiliser les points de raccordement propres à Windows.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif IgnoreAltTab.

 

IgnoreChromeSandbox

Le correctif permet à Google Chrome de s’exécuter sur les systèmes sur lesquels ntdll est chargé au-delà de l’espace d’adressage de 4 Go.

IgnoreDirectoryJunction

Une erreur de lecture ou un message d’erreur de violation d’accès apparaît quand l’application recherche ou ouvre des fichiers.

Le correctif lie les API FindNextFileW, FindNextFileA, FindFirstFileExW, FindFirstFileExA, FindFirstFileW et FindFirstFileA pour les empêcher de retourner des jonctions de répertoire.

Remarque  

Les liens symboliques apparaissent à partir de Windows Vista.

 

IgnoreException

L’application s’arrête de fonctionner juste après le démarrage ou démarre avec uniquement un curseur à l’écran.

Le correctif permet à l’application d’ignorer les exceptions spécifiées. Par défaut, ce correctif ignore les exceptions en mode privilégié ; toutefois, il peut être configuré pour ignorer toutes les exceptions.

Vous pouvez contrôler ce correctif de manière plus approfondie en utilisant la syntaxe suivante à l’invite de commandes :

Exception1;Exception2

où Exception1 et Exception2 sont des exceptions spécifiques à ignorer. Par exemple, ACCESS_VIOLATION_READ:1;ACCESS_VIOLATION_WRITE:1.

Important  

N’utilisez ce correctif de compatibilité que si vous avez la certitude qu’ignorer l’exception est acceptable. Vous risquez de rencontrer des problèmes de compatibilité supplémentaires si vous vous trompez en choisissant d’ignorer une exception.

 
Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif IgnoreException.

 

IgnoreFloatingPointRoundingControl

Ce correctif permet à une application d’ignorer la demande de contrôle d’arrondi et de se comporter comme prévu dans les précédentes versions de l’application.

Avant la prise en charge des processeurs à virgule flottante SSE2 dans la bibliothèque runtime C, la demande de contrôle d’arrondi, qui utilisait l’option consistant à arrondir au nombre le plus proche, était ignorée par défaut. Ce correctif ignore la demande de contrôle d’arrondi pour prendre en charge les applications basées sur l’ancien comportement.

IgnoreFontQuality

Le texte de l’application apparaît déformé.

Le correctif permet aux polices de couleurs superposées de fonctionner correctement avec l’anticrénelage.

IgnoreMessageBox

Une boîte de message apparaît avec du débogage ou du contenu superflu quand l’application est exécutée sur un système d’exploitation inattendu.

Le correctif intercepte les API MessageBox* pour y rechercher un message spécifique. Si aucun texte correspondant n’est trouvé, l’application continue sans afficher la boîte de message.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif IgnoreMessageBox.

 

IgnoreMSOXMLMF

Un message d’erreur apparaît, indiquant que le système d’exploitation ne parvient pas à localiser le fichier MSVCR80D.DLL.

Le correctif ignore l’objet MSOXMLMF.DLL inscrit que Microsoft® Office 2007 charge dans le système d’exploitation chaque fois que vous chargez un fichier XML, et fait échouer la fonction CoGetClassObject pour son CLSID. Ce correctif de compatibilité ignore simplement la dll MSOXMLMF inscrite et fait échouer la fonction CoGetClassObject pour son CLSID.

IgnoreSetROP2

Le correctif ignore les opérations de lecture-modification-écriture sur le bureau pour éviter les problèmes de performance.

InstallComponent

Le correctif invite l’utilisateur à installer .Net 3.5 ou .Net 2.0, car .Net n’est pas inclus à Windows 8.

LoadLibraryRedirect

Le correctif oblige une application à charger des versions système de bibliothèques à la place des versions redistribuables fournies avec l’application.

LocalMappedObject

L’application tente sans succès de créer un objet dans l’espace de noms Global.

Le correctif intercepte l’appel de la fonction pour créer l’objet, remplaçant le mot Global par Local.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif LocalMappedObject.

 

MakeShortcutRunas

La désinstallation de l’application échoue avec des erreurs d’accès.

Le correctif recherche les programmes de désinstallation basés sur RunDLL.exe et les oblige à s’exécuter avec des informations d’identification différentes pendant l’installation de l’application. Après l’application de ce correctif, le programme d’installation crée un raccourci spécifiant une chaîne correspondante à exécuter pendant l’installation de l’application, permettant ainsi à la désinstallation de se produire ultérieurement.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif MakeShortcutRunas.

 

ManageLinks

Le correctif intercepte les API courantes ciblant un répertoire ou un fichier exécutable (.exe), puis convertit les jonctions symboliques ou de répertoire avant de les renvoyer aux API d’origine.

MirrorDriverWithComposition

Le correctif permet aux pilotes miroir de fonctionner correctement et d’afficher des performances acceptables avec la composition du Bureau.

MoveToCopyFileShim

L’application rencontre des problèmes d’accès de sécurité pendant l’installation.

Le correctif force les API CopyFile à s’exécuter à la place des API MoveFile. Les API CopyFile empêchent le déplacement du descripteur de sécurité, ce qui permet aux fichiers d’application de récupérer le descripteur par défaut du dossier de destination et d’éviter ainsi le problème d’accès de sécurité.

OpenDirectoryAcl

Un message d’erreur apparaît, indiquant que vous ne disposez pas des autorisations appropriées pour accéder à l’application.

Le correctif réduit les niveaux de privilèges de sécurité sur un ensemble spécifié de fichiers et de dossiers.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif OpenDirectoryACL.

 

PopCapGamesForceResPerf

Le correctif résout les problèmes de performance dans les jeux PopCap comme Bejeweled2. Les problèmes de performance sont manifestes dans certaines cartes bas de gamme à certaines résolutions quand la mémoire tampon 1024x768 est ajustée à la résolution d’affichage.

PreInstallDriver

Le correctif préinstalle les pilotes pour des applications qui sinon tenteraient d’installer ou de démarrer ces pilotes pendant le processus de démarrage initial.

PreInstallSmarteSECURE

Le correctif préinstalle les CLSID au niveau de l’ordinateur pour les applications utilisant la protection contre la copie SmartSECURE. Sinon, ces applications tenteraient d’installer les CLSID pendant le processus de démarrage initial.

ProcessPerfData

Un message d’erreur de type Exception non prise en charge apparaît, car l’application a tenté de lire la valeur de Registre des données de performances de processus pour déterminer si une autre instance de l’application est en cours d’exécution.

Le correctif gère l’erreur en transmettant une clé de Registre des données de performances de processus de simulation pour que l’application pense qu’il s’agit de la seule instance.

Remarque  

Ce problème semble se produire plus souvent avec les applications .NET.

 

PromoteDAM

Le correctif inscrit une application pour les notifications de changement de l’état d’alimentation.

PropagateProcessHistory

L’application ne parvient pas à appliquer un correctif d’application.

Le correctif définit la variable d’environnement _PROCESS_HISTORY qui permet aux processus enfants de rechercher dans le répertoire parent les informations correspondantes pendant la recherche des correctifs d’application.

ProtectedAdminCheck

L’exécution de l’application échoue en raison d’autorisations Administrateur protégé incorrectes.

Le correctif traite les problèmes posés par les applications qui effectuent des contrôles administrateur non standard et génèrent des faux positifs pour les utilisateurs travaillant sous le compte Administrateur protégé. Dans ce cas, le SID associé existe, mais il est défini en refus seul.

RedirectCRTTempFile

Le correctif intercepte les appels CRT ayant échoué qui tentent de créer un fichier temporaire à la racine du volume et les redirige vers un fichier temporaire situé dans le répertoire temp de l’utilisateur.

RedirectHKCUKeys

L’application n’est pas accessible en raison des restrictions du contrôle de compte d’utilisateur.

Le correctif duplique les clés HKCU créées vers d’autres comptes HKCU d’utilisateurs. Ce correctif est générique pour les restrictions de Contrôle de compte d’utilisateur, quand les clés HKCU sont requises, mais n’est pas disponible pour une application pendant l’exécution.

RedirectMP3Codec

Vous ne parvenez pas à lire les fichiers MP3.

Le correctif intercepte l’appel de la fonction CoCreateInstance pour le filtre manquant, et le redirige vers une version prise en charge.

RedirectShortcut

L’application n’est pas accessible par son raccourci ou les raccourcis de l’application ne sont pas supprimés pendant le processus de désinstallation de l’application.

Le correctif redirige tous les raccourcis créés pendant l’installation de l’application afin qu’ils apparaissent selon un chemin d’accès spécifié.

  • Raccourcis du menu Démarrer : apparaissent dans le répertoire \\ProgramData\Microsoft\Windows\Start Menu pour tous les utilisateurs.

  • Raccourcis du Bureau ou du Lancement rapide : vous devez placer manuellement les raccourcis sur le Bureau de l’utilisateur ou dans la barre de lancement rapide.

Ce problème se produit en raison des restrictions du contrôle de compte d’utilisateur. Il survient notamment quand une installation d’application s’exécute avec des privilèges élevés et stocke les raccourcis en fonction du contexte de l’utilisateur aux droits élevés. Dans ce cas, un utilisateur aux droits restreints ne peut pas accéder aux raccourcis.

Vous ne pouvez pas appliquer ce correctif à un fichier .exe qui inclut un manifeste et fournit un niveau d’exécution.

RelaunchElevated

Les programmes d’installation, de désinstallation ou de mise à jour échouent quand ils sont démarrés d’une application hôte.

Le correctif permet à un fichier .exe enfant de s’exécuter avec des privilèges élevés, quand il est difficile de déterminer le processus parent à l’aide du correctif ElevateCreateProcess ou en marquant les fichiers .exe pour qu’ils exécutent RunAsAdmin.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif RelaunchElevated.

 

RetryOpenSCManagerWithReadAccess

L’application tente d’ouvrir le gestionnaire de contrôle des services et reçoit un message d’erreur Accès refusé.

Le correctif réitère l’appel en demandant un ensemble de droits plus restreints. Par exemple :

RetryOpenServiceWithReadAccess

Le message d’erreur indiquant qu’il est impossible d’ouvrir le service en raison de l’utilisation par votre application de l’API OpenService() pour tester l’existence d’un service particulier apparaît.

Le correctif renouvelle l’appel de l’API OpenService(), en vérifiant que l’utilisateur dispose des droits d’administrateur, qu’il n’est pas un administrateur protégé et en utilisant un accès en lecture seule. Les applications peuvent tester l’existence d’un service en appelant l’API OpenService(), mais certaines d’entre elles sollicitent un accès complet à cette occasion. Ce correctif renouvelle l’appel, mais uniquement en demandant un accès en lecture seule. Cette procédure ne fonctionne que si l’utilisateur est administrateur.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif RetryOpenServiceWithReadAccess.

 

RunAsAdmin

L’application ne fonctionne plus avec le compte Utilisateur standard ou Administrateur protégé.

Le correctif permet à l’application de s’exécuter avec des privilèges élevés. Il équivaut à spécifier requireAdministrator dans un manifeste d’application.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif RunAsAdmin.

 

RunAsHighest

Les administrateurs ne sont pas en mesure d’afficher la version en lecture/écriture d’une application qui présente une vue en lecture seule aux utilisateurs standard.

Le correctif permet à l’application de s’exécuter avec les autorisations disponibles les plus élevées. Il équivaut à spécifier highestAvailable dans un manifeste d’application.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif RunAsHighest.

 

RunAsInvoker

L’application ne peut pas être détectée comme demandant une élévation.

Le correctif permet à l’application de s’exécuter avec les privilèges associés au processus de création, sans demander d’élévation. Il équivaut à spécifier asInvoker dans un manifeste d’application.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif RunAsInvoker.

 

SecuROM7

Le correctif répare les applications en utilisant SecuROM7 pour la protection contre la copie.

SessionShim

Le correctif intercepte les appels d’API des applications qui tentent d’interagir avec les services exécutés dans une autre session, qui prennent le préfixe de nom des services Terminal Server (Global ou Local) comme paramètre.

À l’invite de commandes, vous pouvez indiquer une liste d’objets à modifier en séparant les valeurs par une double barre oblique inverse (\\), ou bien choisir de ne pas inclure de paramètres pour que tous les objets soient modifiés.

Important  

Les utilisateurs ne peuvent pas se connecter en tant que Session 0 (Global Session) dans Windows Vista et ultérieur, si bien que les applications ayant besoin d’accéder à la session 0 échouent automatiquement.

 
Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif SessionShim.

 

SetProtocolHandler

Le correctif inscrit une application en tant que gestionnaire de protocole.

Vous pouvez contrôler ce correctif de manière plus approfondie en utilisant la syntaxe suivante à l’invite de commandes :

Client;Protocol;App

où Client correspond au nom du protocole de messagerie, Protocol à mailto et App au nom de l’application.

Remarque  

Seuls le client de messagerie et le protocole mailto sont pris en charge. Vous pouvez séparer plusieurs clients avec une barre oblique inverse (\).

 

SetupCommitFileQueueIgnoreWow

Un programme d’installation de 32 bits ne parvient pas à installer, car il nécessite des pilotes 64 bits.

Le correctif désactive le système de fichiers Wow64 utilisé par les éditions 64 bits de Windows, pour empêcher les applications 32 bits d’accéder aux systèmes de fichiers 64 bits pendant l’installation de l’application.

SharePointDesigner2007

Le correctif résout un bogue d’application qui ralentit sensiblement l’application quand elle s’exécute dans le gestionnaire DWM.

ShimViaEAT

L’application échoue même après avoir appliqué un correctif de compatibilité connu pour corriger un problème. Les applications utilisant unicows.dll ou la protection contre la copie présentent souvent ce problème.

Le correctif applique les correctifs de compatibilité spécifiés, en modifiant la table d’exportation et en rendant nulle l’utilisation de l’inclusion et de l’exclusion de modules.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif ShimViaEAT.

 

ShowWindowIE

L’application Web connaît des problèmes de navigation et d’affichage en raison de la fonctionnalité d’onglets.

Le correctif intercepte l’appel de l’API ShowWindow pour traiter les problèmes qui se produisent quand une application Web détermine qu’une fenêtre enfant est impliquée. Ce correctif appelle la vraie API ShowWindow dans la fenêtre parent au niveau supérieur.

SierraWirelessHideCDROM

Le correctif répare l’installation du pilote Sierra Wireless, évitant ainsi une vérification d’erreur.

Sonique2

L’application utilise un style de fenêtre non valide, qui s’altère dans le gestionnaire DWM. Ce correctif remplace le style de fenêtre par une valeur valide.

SpecificInstaller

La fonction GenericInstaller ne parvient pas à sélectionner le fichier d’installation de l’application.

Le correctif identifie l’application comme étant un fichier du programme d’installation (par exemple, setup.exe), puis demande l’élévation.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif SpecificInstaller.

 

SpecificNonInstaller

Une application qui n’est pas un programme d’installation et dispose de privilèges suffisants génère un faux positif à partir de la fonction GenericInstaller.

Le correctif ajoute un indicateur à l’application pour l’exclure de la détection par la fonction GenericInstaller.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif SpecificNonInstaller.

 

SystemMetricsLie

Le correctif remplace les valeurs SystemMetrics et SystemParametersInfo par les valeurs des versions Windows antérieures.

TextArt

L’application se bloque, car elle reçoit différentes coordonnées de souris selon que le gestionnaire DWM est activé ou désactivé. Ce correctif résout le problème.

TrimDisplayDeviceNames

Le correctif tronque les noms des périphériques d’affichage renvoyés par l’API EnumDisplayDevices.

UIPICompatLogging

Le correctif active l’enregistrement au journal des messages Windows à partir d’Internet Explorer et d’autres processus.

UIPIEnableCustomMsgs

L’application ne communique pas correctement avec les autres processus en raison de la non-remise des messages Windows personnalisés.

Le correctif permet le transfert des messages Windows personnalisés vers le processus actuel à partir d’un niveau d’intégrité de Bureau inférieur. Ce correctif équivaut à l’appel de la fonction RegisterWindowMessage, suivie par la fonction ChangeWindowMessageFilter dans le code.

Vous pouvez contrôler ce correctif de manière plus approfondie en utilisant la syntaxe suivante à l’invite de commandes :

MessageString1 MessageString2

où MessageString1 et MessageString2 reflètent les chaînes de message transférables.

Remarque  

Plusieurs chaînes de messages doivent être séparées par des espaces. Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif UIPIEnableCustomMsgs.

 

UIPIEnableStandardMsgs

L’application ne communique pas correctement avec les autres processus en raison de la non-remise des messages Windows standard.

Le correctif permet le transfert des messages Windows standard vers le processus actuel à partir d’un niveau d’intégrité de Bureau inférieur. Ce correctif équivaut à l’appel de la fonction ChangeWindowMessageFilter dans le code.

Vous pouvez contrôler ce correctif de manière plus approfondie en utilisant la syntaxe suivante à l’invite de commandes :

1055 1056 1069

où 1055 reflète le premier ID de message, 1056 le deuxième ID de message et 1069 le troisième ID de message à transférer.

Remarque  

Plusieurs messages doivent être séparés par des espaces. Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif UIPIEnableStandardMsgs.

 

VirtualizeDeleteFileLayer

Le correctif virtualise les opérations DeleteFile pour les applications qui essaient de supprimer des fichiers protégés.

VirtualizeDesktopPainting

Ce correctif améliore les performances de nombreuses opérations sur le contexte de périphérique du Bureau pendant l’utilisation du gestionnaire DWM.

VirtualRegistry

Le message d’erreur d’échec de localisation du composant apparaît quand vous démarrez une application.

Le correctif permet aux fonctions du Registre d’autoriser la virtualisation, les redirections, les valeurs d’expansion, l’usurpation des versions, la simulation des compteurs de données de performance, etc.

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif VirtualRegistry.

VirtualizeDeleteFile

Plusieurs messages d’erreur apparaissent et l’application ne parvient pas à supprimer les fichiers.

Le correctif fait de l’appel de l’application de la fonction DeleteFile un appel virtuel, dans une tentative de résolution des problèmes de virtualisation de fichiers et de contrôle de compte d’utilisateur introduits avec Windows Vista. Il lie également les API d’autres fichiers (par exemple, GetFileAttributes) pour être sûr que la virtualisation du fichier est supprimée.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif VirtualizeDeleteFile.

 

VirtualizeHKCRLite

L’application ne parvient pas à inscrire les composants COM au moment de l’exécution.

Le correctif redirige les appels d’écriture de HKCR (HKLM) vers la ruche HKCU, pour une inscription COM par utilisateur. Ce correctif fonctionne comme le correctif VirtualRegistry pendant l’utilisation du paramètre VirtualizeHKCR ; toutefois, VirtualizeHKCRLite offre de meilleures performances.

HKCR est une fusion virtuelle des répertoires HKCU\Software\Classes et HKLM\Software\Classes. L’utilisation de HKCU est privilégiée si une application n’est pas élevée, et ignorée si l’application est élevée.

En règle générale, ce correctif s’utilise conjointement avec le correctif VirtualizeRegisterTypeLib.

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif VirtualizeHKCRLite.

VirtualizeRegisterTypeLib

Quand il est utilisé avec le correctif VirtualizeHKCRLite, ce correctif garantit que la bibliothèque de types et l’inscription de classes COM se produisent simultanément. Il fonctionne à la manière du correctif RegistryTypeLib lorsque le paramètre RegisterTypeLibForUser est utilisé.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif VirtualizeRegisterTypelib.

 

WaveOutIgnoreBadFormat

Un message d’erreur apparaît, indiquant qu’il est impossible d’initialiser le périphérique audio à partir du pilote audio, puis l’application se ferme.

Le correctif permet à l’application d’ignorer l’erreur de format et de continuer à fonctionner correctement.

WerDisableReportException

Le correctif désactive le signalement silencieux des exceptions à l’outil WER (Windows Error Reporting), y compris ceux signalés par OLE DB (Object Linking and Embedding-Database). Il intercepte l’API RtlReportException et retourne le message d’erreur STATUS_NOT_SUPPORTED.

Win7RTM/Win8RTM

La couche fournit à l’application le mode de compatibilité Windows 7/Windows 8.

WinxxRTMVersionLie

L’application échoue, car elle ne trouve pas le numéro de version correct du système d’exploitation Windows requis.

Tous les correctifs de compatibilité chargés de tromper l’application quant à la version traitent le problème de l’échec du fonctionnement d’une application quand celle-ci recherche, sans la trouver, une version spécifique du système d’exploitation. Le correctif de compatibilité chargé de tromper l’application sur la version retourne les informations de version de système d’exploitation appropriées. Par exemple, le correctif VistaRTMVersionLie retourne les informations sur la version Windows Vista à l’application, indépendamment de la version de système d’exploitation réelle qui s’exécute sur l’ordinateur.

Wing32SystoSys32

Un message d’erreur apparaît indiquant que la bibliothèque WinG n’a pas été installée correctement.

Le correctif détecte si la bibliothèque WinG32 existe dans le répertoire correct. Si la bibliothèque se trouve dans un emplacement incorrect, ce correctif copie les informations (généralement pendant l’exécution de l’application) dans le répertoire %WINDIR% \system32.

Important  

L’application doit disposer des privilèges d’administrateur pour que ce correctif puisse fonctionner.

 

WinSrv08R2RTM

WinXPSP2VersionLie

L’application rencontre des problèmes en raison d’une DLL d’exécution VB.

Le correctif s’impose à l’application si vous suivez les étapes ci-après :

  1. Ouvrez l’Administrateur de compatibilité, puis sélectionnez None pour Operating System Mode.

  2. Dans la page Compatibility Fixes, cliquez sur WinXPSP2VersionLie, puis sur Parameters.

    La boîte de dialogue Options for <nom_correctif> s’affiche.

  3. Tapez vbrun60.dll dans la zone Module Name, cliquez sur Include, puis sur Add.

  4. Enregistrez la base de données personnalisée.

    Remarque  

    Pour plus d’informations sur le correctif d’application WinXPSP2VersionLie, voir Utilisation du correctif WinXPSP2VersionLie.

     

WRPDllRegister

L’application échoue quand elle tente d’inscrire un composant COM publié avec Windows Vista et ultérieur.

Le correctif ignore l’inscription et l’annulation de l’inscription des composants COM protégés par WRP au moment de l’appel des fonctions DLLRegisterServer et DLLUnregisterServer.

Vous pouvez contrôler ce correctif de manière plus approfondie en utilisant la syntaxe suivante à l’invite de commandes :

Component1.dll;Component2.dll

où Component1.dll et Component2.dll reflètent les composants à ignorer.

Remarque  

Pour plus d’informations sur ce correctif d’application, voir Utilisation du correctif WRPDllRegister.

 

WRPMitigation

Un message d’erreur de refus d’accès apparaît quand l’application tente d’accéder à une ressource protégée du système d’exploitation avec plusieurs accès en lecture seule.

Le correctif émule l’authentification et la modification des API de fichier et de Registre pour que l’application puisse continuer.

Remarque  

Pour plus d’informations sur WRPMitigation, voir Utilisation du correctif WRPMitigation.

 

WRPRegDeleteKey

Un message d’erreur de refus d’accès apparaît quand l’application tente de supprimer une clé de Registre.

Le correctif vérifie si la clé de Registre est protégée par WRP. Si tel est le cas, ce correctif émule le processus de suppression.

XPAfxIsValidAddress

Le correctif émule le comportement de Windows XP pour MFC42!AfxIsValidAddress.

 

Modes de compatibilité

Le tableau suivant répertorie les modes de compatibilité connus.

Nom du mode de compatibilité Description Correctifs de compatibilité inclus

WinSrv03

Émule le système d’exploitation Windows Server 2003.

  • Win2k3RTMVersionLie

  • VirtualRegistry

  • ElevateCreateProcess

  • EmulateSorting

  • FailObsoleteShellAPIs

  • LoadLibraryCWD

  • HandleBadPtr

  • GlobalMemoryStatus2GB

  • RedirectMP3Codec

  • EnableLegacyExceptionHandlinginOLE

  • NoGhost

  • HardwareAudioMixer

WinSrv03Sp1

Émule le système d’exploitation Windows Server 2003 avec Service Pack 1 (SP1).

  • Win2K3SP1VersionLie

  • VirtualRegistry

  • ElevateCreateProcess

  • EmulateSorting

  • FailObsoleteShellAPIs

  • LoadLibraryCWD

  • HandleBadPtr

  • EnableLegacyExceptionHandlinginOLE

  • RedirectMP3Codec

  • HardwareAudioMixer