Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Plateformes
Clients - Windows XP | Windows Vista | | Windows 7 Windows 8
Description
L’Assistant Compatibilité des programmes (PCA) est une fonctionnalité dans Windows 8 qui permet aux utilisateurs finaux d’exécuter des applications de bureau conçues pour les versions antérieures de Windows. Windows 8 dispose d’une compatibilité d’application intégrée qui permet aux applications conçues pour Windows 7 ou versions antérieures de Windows de fonctionner correctement sur Windows 8 automatiquement. Toutefois, il existe un petit nombre d’applications qui peuvent avoir des difficultés à s’exécuter sans intervention.
Lorsqu’un utilisateur exécute une application, PCA suit l’application et identifie les symptômes de certains problèmes de compatibilité connus dans Windows 8. Lorsqu’il détecte les symptômes d’un problème, il permet à l’utilisateur d’appliquer un correctif recommandé qui aidera à exécuter l’application mieux sur Windows 8.
Scénarios
PCA suit les applications pour un ensemble de problèmes de compatibilité connus dans Windows 8. PCA suit les problèmes, identifie les correctifs et fournit une boîte de dialogue à l’utilisateur avec des instructions pour appliquer un correctif recommandé. L’utilisateur peut décider d’appliquer les correctifs recommandés ou de ne rien faire et d’annuler la recommandation. Si l’utilisateur annule, PCA ne suit plus cette application.
Le PCA applique généralement l’un des trois modes de compatibilité Windows : Windows XP SP3, Windows Vista SP2 ou Windows 7, selon le moment où le programme (ou sa configuration) a été créé. PCA utilise les attributs LINK_DATE et SOUS-SYSTÈME VERSION du programme et les sections TRUSTINFO et COMPATIBILITÉ du manifeste de fichier exécutable pour déterminer les modes pertinents et appliquer respectivement Windows XP SP3 (incluant le privilège administratif), Windows Vista SP2 ou Windows 7. Un glossaire à la fin du document répertorie chacun des modes de compatibilité appliqués par pcA et sa description.
Pour tous les scénarios répertoriés ci-dessous, PCA effectue le suivi des applications pendant une seconde fois après l’application d’un correctif. Si l’application continue d’échouer de la même façon, même après l’application d’un correctif de compatibilité, pcA rétablit le correctif. PCA arrête ensuite définitivement le suivi de l’application spécifique ayant échoué.
Bien que PCA effectue le suivi de nombreux problèmes potentiels, tous les problèmes ne provoquent pas réellement des défaillances d’application. PCA recommande des correctifs uniquement dans les situations où il existe une probabilité élevée que l’échec de l’application soit dû à des raisons de compatibilité Windows. Les sections ci-dessous s’étendent sur chacun des scénarios de l’APC développés dans Windows 8. Chaque section décrit le scénario de problème et les recommandations fournies par PCA pour permettre à l’application de continuer à fonctionner correctement sur Windows 8.
Pour en savoir plus sur les modifications de compatibilité dans Windows 8, reportez-vous aux autres rubriques du livre de cuisine de compatibilité Windows 8.
Les scénarios suivis par PCA et recommandent des correctifs :
- L’application ne parvient pas à installer ou désinstaller
- Échec de l’exécution de l’application avec un message de vérification de version Windows
- Échec du lancement de l’application en raison du privilège d’administration
- Incidents d’application en raison de problèmes de mémoire spécifiques
- Échec de l’application en raison de fichiers système incompatibles
- L’application échoue en raison d’erreurs non gérées sur Windows 64 bits
- Échec de l’application lors de la tentative de suppression de fichiers non-Windows protégés
- Échec de l’application lors de la tentative de modification des fichiers Windows
- L’application échoue en raison de l’utilisation des modes de couleur 8 ou 16 bits
- L’application échoue en raison de problèmes graphiques et d’affichage
- L’application ne parvient pas à déclarer la sensibilisation aux ppp
- Échec de l’application en raison des fonctionnalités Windows manquantes
- L’application échoue en raison de pilotes non signés sur Windows 8 64 bits
- Suivi des applications installées via les paramètres de compatibilité
- L’application ne parvient pas à lancer des programmes d’installation ou des mises à jour
- Programmes d’installation d’applications qui doivent s’exécuter avec le privilège d’administration
- Applets de Panneau de configuration héritées qui doivent s’exécuter avec le privilège d’administration
Chacun de ces scénarios est développé ci-dessous :
L’application ne parvient pas à installer ou désinstaller
L’un des types les plus courants d’échecs d’application se produit pendant l’installation de l’application. Les programmes d’installation plus anciens échouent généralement de deux façons :
- Le programme d’installation n’est pas conscient des fonctionnalités de contrôle de compte d’utilisateur (UAC) dans Windows 8. Il peut donc ne pas s’exécuter avec les privilèges complets nécessaires pour apporter des modifications système aux zones protégées de Windows 8
- Le programme d’installation vérifie la version de Windows et se bloque de s’exécuter si la version est supérieure à ce qu’elle attend
Ces conditions d’échec sont deux des types les plus courants d’échecs de compatibilité dans l’installation. PCA, avec l’aide de divers autres composants Windows tels que UAC, détecte les programmes d’installation au lancement et les suit à la fin de l’installation. Si le programme d’installation ne parvient pas à ajouter des fichiers ou à ajouter une entrée valide dans la partie « Ajouter supprimer des programmes » du panneau de configuration Windows, pcA considère que l’installation a échoué.
Dans ce cas, PCA recommande un mode de compatibilité approprié pour l’application. Le mode de compatibilité permet au programme d’installation d’s’exécuter en mode Windows pour lequel il a été conçu et garantit également que l’application s’exécute avec des privilèges d’administration. PCA applique le mode de compatibilité RUNASADMIN avec le mode de compatibilité Windows XP, Windows Vista ou Windows 7 approprié. L’utilisateur, à la fin de l’installation ayant échoué, verra une boîte de dialogue avec la recommandation PCA :
L’utilisateur peut ensuite choisir :
- Exécutez le programme à l’aide des paramètres de compatibilité (option recommandée), après lequel pcA applique le paramètre recommandé (mode de compatibilité), redémarrez le programme d’installation et suivez-le jusqu’à ce que l’installation se termine correctement
- Indiquez que le programme est correctement installé, auquel cas PCA n’ajoute aucun paramètre et arrête le suivi de l’installation
- Cliquez sur Fermer, auquel cas PCA n’ajoute aucun paramètre et arrête le suivi de cette configuration
Le même mécanisme est utilisé pour aider la désinstallation de l’application lorsqu’un utilisateur tente de désinstaller l’application à partir de la section « Ajouter supprimer des programmes » dans Windows, ou du raccourci du désinstalleur de l’application.
Échec de l’exécution de l’application avec un message de vérification de version Windows
L’un des échecs de compatibilité les plus courants dans le runtime d’application est dû à la vérification de la version de Windows. De nombreuses applications, lors du lancement, vérifiez la version de Windows ; s’ils ne reconnaissent pas la version, ils se bloquent même si l’application peut s’exécuter sans problème.
En règle générale, ces vérifications sont associées à deux conditions que le PCA suit :
L’application affiche une boîte de message qui avertit l’utilisateur. Voici un exemple :
- L’application se termine immédiatement ou se bloque
Si PCA identifie ces deux conditions pour une application, elle fournit une recommandation à l’utilisateur. PCA permet à l’utilisateur de réexécuter l’application avec des paramètres de compatibilité. PCA applique le mode de compatibilité Windows XP, Windows Vista ou Windows 7 approprié en fonction de l’application. Comme dans l’un des scénarios, l’utilisateur peut indiquer à PCA que l’application s’est exécutée correctement, ou désactiver les paramètres recommandés en cliquant sur le bouton fermer. Un exemple de boîte de dialogue est fourni comme suit :
L’application ne parvient pas à lancer ou à s’exécuter en raison du privilège d’administration
Certaines applications ont besoin de privilèges d’administration pour s’exécuter et exécuter leurs fonctionnalités. Toutefois, dans Windows 8, comme Windows 7 et Windows Vista, les applications s’exécutent dans des niveaux de privilège inférieurs par défaut en raison de l’UAC. Les applications plus récentes conçues pour Windows Vista et versions ultérieures déclarent généralement le niveau de privilège à exécuter à l’aide de la section TRUSTINFO du manifeste EXE. Toutefois, les applications plus anciennes échouent généralement de deux façons :
- L’application affiche un message à l’utilisateur qui nécessite un privilège d’administration, comme exemple ci-dessous :
- L’application se termine immédiatement ou se bloque
Si PCA identifie ces deux conditions pour une application, elle fournit une recommandation à l’utilisateur. PCA permet à l’utilisateur de réexécuter l’application avec des privilèges d’administration (PCA applique le mode de compatibilité RUNASHIGHEST). L’utilisateur obtient une invite UAC lorsque l’application s’exécute à nouveau. Comme dans l’un des scénarios, l’utilisateur peut choisir de réexécuter avec le paramètre recommandé ou de désactiver les paramètres recommandés en cliquant sur Fermer. Un exemple de boîte de dialogue est fourni comme suit :
Incidents d’application en raison de problèmes de mémoire spécifiques
Certaines applications se bloquent en raison d’un problème de mémoire connu. L’application fait référence à une DLL à partir de la mémoire, puis appelle une fonction pour exécuter du code dans la même DLL. Cela provoque un blocage immédiat de l’application. Bien que ce problème ne soit pas dû à Windows 8 modifications de compatibilité, il s’agit d’un problème relativement courant vu dans un large éventail d’applications. PCA suit ce problème pour permettre aux utilisateurs d’exécuter leur application de manière plus fiable.
Pour ces applications, PCA applique automatiquement le mode de compatibilité PINDLL en mode silencieux. Le mode de compatibilité appelé par PCA empêche l’application de libérer la DLL de la mémoire. Par conséquent, l’appel de fonction dans la DLL par l’application fonctionnera, empêchant l’application de se bloquer et lui permettant de continuer à fonctionner correctement.
Échec de l’application en raison de fichiers système incompatibles
Certaines applications conçues pour Windows XP et les versions antérieures incluent des copies des DLL système Windows, ainsi que leurs programmes d’installation. Lorsque de telles applications sont installées, l’application possède à la fois une copie antérieure de la DLL dans son propre dossier, ainsi que la dernière version de la DLL qui se trouve dans les dossiers système Windows.
Sur Windows Vista et versions ultérieures, cette condition peut entraîner l’échec de l’application lorsqu’elle tente de charger la DLL locale, car cette DLL ne fonctionnera pas correctement avec le reste des DLL système Windows actuelles. Étant donné que l’application n’est généralement pas consciente des versions plus récentes de cette DLL, elle ne fonctionne pas correctement.
Lorsque PCA détecte que la DLL n’a pas pu être chargée correctement, elle applique un paramètre de compatibilité qui permet à Windows de charger la dernière version de la DLL à partir du dossier système Windows afin que l’application puisse s’exécuter correctement.
À la fin de la première exécution ayant échoué de l’application, les utilisateurs verront la boîte de dialogue PCA qui les avertit du paramètre appliqué comme suit :
L’application échoue en raison d’erreurs non gérées sur Windows 64 bits
Sur la version 64 bits de Windows 8, une nouvelle exception a été activée pour le mécanisme de rappel de boucle de message. Bien que cette exception ait été introduite pour la première fois dans Windows 7, il n’était pas obligatoire de gérer cette erreur. Dans Windows 8, les applications qui utilisent des boucles de message doivent gérer cette nouvelle exception. Si ce n’est pas le cas, ils se bloquent. Les applications conçues pour les versions antérieures de Windows peuvent ne pas être conscientes de cette exception et, par conséquent, ne peuvent pas gérer correctement cette erreur (exception).
PCA détecte les applications qui échouent en raison de cette erreur non gérée et applique automatiquement le mode de compatibilité DISABLEUSERCALLBACKEXCEPTION pour l’application. Une fois que le paramètre est appliqué à la fin de l’exécution, l’utilisateur est averti comme indiqué ci-dessous. L’application obtient le mode lors de la prochaine exécution et peut éviter cette erreur.
L’application échoue lors de la tentative de suppression de fichiers non-Windows protégés
Certaines applications conçues pour Windows XP et antérieures supposent qu’elles s’exécutent généralement avec des privilèges d’administration complets. Dans le cadre du comportement normal de l’application, ils peuvent essayer de supprimer des fichiers non Windows protégés (dans des fichiers programme ou des dossiers Windows). Lorsque l’opération de suppression échoue, de nombreuses applications de ce type peuvent se bloquer.
PCA détecte ces applications qui ne parviennent pas à supprimer les fichiers protégés et se bloquent, et fournit une recommandation à l’utilisateur. PCA permet à l’utilisateur de réexécuter l’application avec les paramètres de compatibilité. Comme dans l’un des scénarios, l’utilisateur peut indiquer à PCA que l’application s’est exécutée correctement ou désactiver les paramètres recommandés en cliquant sur le bouton Fermer. Dans ce cas, PCA applique le mode de compatibilité VIRTUALIZEDELETE. Un exemple de boîte de dialogue est fourni comme suit :
L’application échoue lors de la tentative de modification des fichiers Windows ou des clés de Registre
Certaines applications conçues pour Windows XP et antérieures supposent qu’elles s’exécutent généralement avec des privilèges d’administration complets. Au cours du comportement normal de l’application, ils peuvent essayer de modifier, de supprimer ou d’écrire des fichiers protégés par Windows (dans des fichiers programme ou des dossiers Windows) ou des clés de Registre appartenant à Windows. Lorsque l’une des opérations d’écriture, de suppression ou de modification d’un fichier ou d’une clé de Registre échoue de nombreuses applications de ce type peuvent se bloquer ou échouer mal.
PCA détecte ces applications qui ne parviennent pas à écrire dans des fichiers Windows protégés ou des clés de Registre, et fournit une recommandation à l’utilisateur lorsque l’application quitte. PCA permet à l’utilisateur de réexécuter l’application avec les paramètres de compatibilité. Comme dans l’un des scénarios, l’utilisateur peut indiquer à PCA que l’application s’est correctement exécutée ou désactiver les paramètres recommandés en cliquant sur le bouton Fermer. Dans ce cas, PCA applique le mode de compatibilité WRPMITIGATION. Un exemple de boîte de dialogue est fourni comme suit :
L’application échoue en raison de l’utilisation des modes de couleur 8 ou 16 bits
Dans le cadre de la réinitialisation de Windows 8 pour les applications du Windows Store, l’une des principales modifications est que le Gestionnaire de fenêtres de bureau (DWM) ne prend désormais en charge que les couleurs 32 bits dans Windows 8. Les modes de couleur inférieurs sont désormais simulés.
De nombreuses applications et jeux plus anciens conçus pour Windows XP ou avant d’utiliser des modes de couleurs 8 bits ou 16 bits. Sans atténuation, ces applications ne peuvent pas s’exécuter sur Windows 8. Toutefois, lorsque ces applications énumèrent ou essaient d’utiliser l’un des modes de couleurs 8 bits ou 16 bits pour l’affichage, l’ACP identifie immédiatement le problème et avec l’aide de DWM, garantit que l’application fonctionnera correctement avec le mode de couleur simulé.
Notez que cela se produit dès que l’application demande les modes de couleur basse et est transparente pour l’utilisateur. L’utilisateur n’a pas besoin de redémarrer l’application pour obtenir cette atténuation, car ce correctif est toujours nécessaire pour s’assurer que l’application fonctionne correctement.
L’application échoue en raison de problèmes graphiques et d’affichage
Étant donné que desktop Window Manager (DWM) est toujours activé dans Windows 8, certaines applications anciennes de l’ère Windows XP peuvent échouer si l’application utilise des API graphiques en mode mixte, comme dans l’utilisation des API GDI et DirectX pour dessiner à l’écran (principalement des jeux plus anciens) et tente d’utiliser le mode plein écran :
- DWM empêche la peinture directement sur le bureau et le jeu ou l’application échoue, ou dessine un écran noir sur le bureau et aucun des graphiques ne sera visible
- Dans ce cas, lorsque l’application quitte, Windows détecte que l’application ou le jeu rencontre un problème avec le mode plein écran et applique le mode de compatibilité DXMAXIMIZEDWINDOWEDMODE qui permet à l’application ou au jeu de s’exécuter en mode agrandi à fenêtres au lieu d’un mode plein écran
- Une fois le paramètre appliqué à la fin de l’exécution, l’utilisateur est averti par PCA, comme indiqué ci-dessous ; l’application obtient le mode de compatibilité lors de la prochaine exécution et peut s’exécuter correctement
L’application ne parvient pas à déclarer la prise en charge ppp
Un autre problème d’affichage classique avec de nombreuses applications plus anciennes se produit lorsque Windows et l’application s’exécutent en mode PPP élevé, mais l’application ne déclare pas sa connaissance de high DPI via son manifeste EXE. Parmi les problèmes courants qui peuvent se produire en raison de cette incompatibilité dans les paramètres, les éléments d’interface utilisateur ou le texte et la taille de police incorrecte. Pour plus d’informations sur les problèmes, consultez ce lien ici.
Dans ce cas, Windows détecte que l’application prend en charge les ppp élevés et applique le mode de compatibilité HIGHDPIAWARE à l’application à la fin de la première exécution. L’ACP informe ensuite l’utilisateur de ce qui suit :
L’application échoue en raison de fonctionnalités Windows manquantes
Certaines applications dépendent des fonctionnalités Windows qui ont été supprimées depuis Windows Vista. Lorsque ces applications essaient de charger les DLL manquantes ou les composants COM, elles ne fonctionnent pas.
PCA détecte les applications lorsqu’elles tentent de charger les fonctionnalités Windows manquantes, et fournit une recommandation pour télécharger ces composants et les installer une fois l’application terminée. L’utilisateur peut cliquer sur « Obtenir de l’aide en ligne » pour trouver une alternative ou pour télécharger la fonctionnalité et l’installer. Si nécessaire, l’utilisateur peut choisir de ne rien faire en cliquant sur Fermer.
L’application échoue en raison de pilotes non signés sur des Windows 8 64 bits
Windows 64 bits a requis des pilotes signés numériquement (fichiers SYS) depuis Windows Vista. Toutefois, les applications plus anciennes conçues avant la publication de pilotes Windows Vista fournis n’étaient pas signés numériquement. Si un tel pilote non signé est installé, Windows ne les charge pas. Dans de rares cas, il est possible que Windows ne démarre pas si ces pilotes sont marqués comme pilotes de démarrage.
Certaines applications plus anciennes installent des pilotes qui ne sont pas connectés sur Windows 64 bits. Tout appareil ou application qui tente d’utiliser ce pilote peut échouer ou entraîner un blocage du système. Pour éviter un tel scénario, PCA détecte les applications lorsqu’elles installent des pilotes non signés et désactive le pilote qu’il est marqué comme pilote au démarrage.
Il demande également à l’utilisateur d’acquérir un pilote signé numériquement pour que l’application fonctionne correctement. Le message s’affiche suite à l’installation du pilote et à la suite de l’installation de l’application. Si une autre application installe le même pilote, cette application reçoit également le même message.
Suivi des applications installées via les paramètres de compatibilité
En cas d’échec d’un programme d’installation, PCA aide le programme d’installation avec différents modes de compatibilité en fonction du type de défaillance. Une fois le programme d’installation réussi avec les paramètres de compatibilité, PCA effectue le suivi des raccourcis ajoutés par le programme d’installation. Cette opération permet de suivre si les applications installées peuvent également avoir besoin des paramètres de compatibilité appliqués à leur programme d’installation.
Lorsqu’un utilisateur lance une telle application, PCA invite l’utilisateur à demander si l’application a fonctionné correctement. Si l’utilisateur répond, « Oui », l’ACP cesse de suivre l’application. Si l’utilisateur répond « Non », il applique le même mode de compatibilité qui a été appliqué au programme d’installation de l’application, puis ré-exécute l’application avec le mode de compatibilité appliqué.
L’application ne parvient pas à lancer des programmes d’installation ou des mises à jour
Les applications lancent parfois des programmes enfants qui doivent s’exécuter en tant qu’administrateurs. C’est généralement le cas lorsqu’une application tente de lancer son logiciel de mise à jour pour vérifier et installer de nouvelles mises à jour dans l’application. Lorsque les applications exécutent directement ces programmes enfants, le programme enfant peut échouer car l’application elle-même n’a pas de privilèges d’administration, ou parce que le programme enfant n’a pas été correctement marqué pour l’élévation avec le manifeste UAC.
PCA effectue le suivi de ces erreurs et lorsque l’application principale se ferme, elle applique automatiquement le mode de compatibilité ELEVATECREATEPROCESS qui aidera les programmes enfants à s’exécuter correctement. Lorsque l’application lance l’application enfant lors des exécutions suivantes, l’utilisateur voit une boîte de dialogue UAC pour le programme enfant.
Voici un exemple de boîte de dialogue PCA :
Programmes d’installation d’applications qui doivent s’exécuter avec des privilèges d’administration
Les programmes d’installation des applications de bureau Windows nécessitent des privilèges d’administration, car ils écrivent des fichiers, des dossiers et des entrées de Registre dans des zones système protégées. Windows (UAC) a une logique de détection pour identifier quand un programme d’installation est exécuté et invite immédiatement l’utilisateur à fournir des privilèges d’administration via la boîte de dialogue UAC. Toutefois, dans certains cas, cette logique ne pourra pas déterminer qu’une application était en effet un programme d’installation et n’obtiendra peut-être pas de privilèges administratifs. Il s’agit généralement de programmes d’installation personnalisés qui n’utilisent pas de technologies d’installation connues telles que Windows Installer ou Install Shield.
Dans ce cas, PCA détecte que le programme d’installation n’a pas pu écrire ses fichiers. À la fin de l’installation ayant échoué, PCA fournit une recommandation pour appliquer les paramètres de compatibilité. Si l’utilisateur choisit de cliquer sur « Exécuter le programme », pcA applique le mode de compatibilité RUNASADMIN et réexécute le programme d’installation. Si l’utilisateur choisit de fermer, aucun paramètre n’est appliqué. Un exemple de boîte de dialogue PCA est illustré ci-dessous :
Les applets de Panneau de configuration héritées qui doivent s’exécuter avec des applets de panneau de configuration du privilège administratif changent généralement les paramètres système et ont besoin de la possibilité d’exécuter un administrateur publicitaire. Toutefois, ceux écrits avant Windows Vista n’ont pas de manifeste EXE ou n’ont pas la section TRUSTINFO qui déclare le niveau de privilège dont ils ont besoin. Lorsque ces applets sont exécutées, pcA les détecte et à la fin de la première exécution, fournit une recommandation pour s’exécuter avec les paramètres d’administration. Si l’utilisateur choisit de cliquer sur « Exécuter le programme », PCA applique le mode de compatibilité RUNASADMIN et réexécute le programme d’installation. Si l’utilisateur choisit de fermer, aucun paramètre n’est appliqué. Un exemple de boîte de dialogue PCA est illustré ci-dessous :
Vérification des paramètres recommandés par le biais des commentaires des utilisateurs
À la fin de chacun des scénarios (après l’exécution de l’application avec des paramètres de compatibilité recommandés), PCA posera à l’utilisateur une question simple :
L’utilisateur peut fournir des commentaires si l’application a fonctionné ou échoué avec le paramètre de compatibilité. Ces données seront envoyées anonymement à Microsoft. Cela permet de s’assurer que ces correctifs peuvent être intégrés dans Windows 8 via le processus de mise à jour Windows, afin que les futurs utilisateurs d’Windows 8 ne rencontrent plus l’échec de l’application, et pcA n’a plus besoin de suivre l’application pour l’échec.
Suivi des problèmes qui n’ont aucune recommandation
Les applications peuvent échouer de nombreuses façons différentes pour des raisons de compatibilité. PCA suit beaucoup plus de problèmes de compatibilité que ce qui est répertorié dans les scénarios ci-dessus. Dans ces cas, plusieurs fois, la manifestation du problème dépend de l’application. Cela signifie que certaines applications gèrent ces problèmes avec grâce et récupération à partir de celui-ci, tandis que d’autres peuvent ne pas le faire. Ainsi, pour ces problèmes, alors que PCA effectue toujours le suivi de l’application, il ne fournit pas de recommandation directe pour un correctif.
Les problèmes que PCA suit qui n’ont pas de paramètre recommandé ou une boîte de dialogue incluent des applications qui :
- Avoir un runtime très court – Les applications s’exécutent pendant pas plus de trois secondes
- Créer des objets de mémoire globale sans privilèges d’administration
- Avoir une erreur (exception Win32) lors du lancement
- Rechercher le privilège d’administration (mais peut ne pas échouer)
- Utiliser des codecs Indeo (déconseillés à partir de Windows Vista)
- Essayez d’écrire ou de supprimer des clés à partir d’emplacements de Registre protégés tels que HKLM
- Blocage lors du lancement
Application de correctifs via l’onglet de compatibilité et l’utilitaire de résolution des problèmes de compatibilité
Comme mentionné ci-dessus, les applications peuvent échouer pour diverses raisons de compatibilité. Toutes ces recommandations n’ont pas toutes une recommandation PCA claire, car les paramètres dépendent de l’application. Toutefois, les utilisateurs peuvent accéder à l’utilitaire de résolution des problèmes de compatibilité ou à l’onglet Compatibilité pour appliquer certains correctifs courants pour essayer d’obtenir que leur application défaillante fonctionne correctement sur Windows 8. Dans ce cas, PCA suit toujours l’application pour les problèmes de compatibilité, avant et après l’application du correctif. Une fois l’application exécutée avec le correctif appliqué, PCA demande à l’utilisateur si le correctif a fonctionné. Une fois que l’utilisateur répond à la question, les données sont envoyées anonymement via les données de télémétrie à Microsoft. Ces données sont collectées à partir de nombreux utilisateurs et analysées, et les correctifs éligibles sont ensuite largement distribués à tous les utilisateurs Windows 8 via Windows Update.
Utilisation de l’utilitaire de résolution des problèmes de compatibilité
L’utilitaire de résolution des problèmes de compatibilité est un mécanisme dans Windows qui vous permet de diagnostiquer les problèmes liés aux applications et d’appliquer des correctifs recommandés pour qu’ils fonctionnent correctement. Cela n’est nécessaire que lorsque le PCA ne fournit aucune recommandation pour l’application.
L’utilitaire de résolution des problèmes permet aux utilisateurs de parcourir et de répondre à un ensemble de questions, et en fonction des réponses, il applique un ensemble de correctifs et permet aux utilisateurs de tester leurs applications et de vérifier les correctifs. Une fois vérifiés, les correctifs seront appliqués définitivement aux applications pour les rendre plus performants sur Windows 8.
L’interface utilisateur de l’utilitaire de résolution des problèmes est indiquée ci-dessous pour référence :
Vous pouvez démarrer l’utilitaire de résolution des problèmes de compatibilité de deux façons :
À partir de l’écran de démarrage :
- Type : utilitaire de résolution des problèmes de compatibilité
- Dans la section paramètres, cliquez sur la vignette « Exécuter les programmes créés pour la version précédente de Windows »
À partir de la vignette de l’application :
- À partir de l’écran de démarrage, cliquez avec le bouton droit sur la vignette de l’application
- Cliquez sur « Ouvrir l’emplacement du fichier » (applications de bureau uniquement)
- Dans le ruban De l’Explorateur, cliquez sur l’onglet « Application »
- Choisissez « Résoudre les problèmes de compatibilité »
Utilisation de l’onglet Compatibilité
Notez que cela est recommandé uniquement pour les utilisateurs qui sont experts dans la tentative de différents paramètres de compatibilité. Cette méthode ne fournit aucune recommandation du type de correctif à appliquer aux applications. Ici, l’utilisateur doit savoir quels correctifs peuvent être appliqués pour que l’application fonctionne. Si vous n’êtes pas sûr des correctifs, utilisez l’utilitaire de résolution des problèmes de compatibilité pour trouver un correctif pour l’application.
Pour accéder à l’onglet Compatibilité :
À partir de l’écran de démarrage :
- Cliquez avec le bouton droit sur la vignette de l’application
- Ouvrir l’emplacement du fichier (applications de bureau uniquement)
À partir du ruban De l’Explorateur :
- Cliquez sur Propriétés
- Accédez à l’onglet Compatibilité
- Sélectionner les correctifs de compatibilité
- Réexécutez l’application
Notes
Vous pouvez revenir à nouveau à la même place pour modifier ou supprimer également les correctifs. Vous pouvez également appliquer les correctifs à tous les utilisateurs de l’ordinateur à l’aide du bouton fourni dans l’onglet.
Applications avec problèmes de compatibilité connus
Outre les scénarios de détection des problèmes d’exécution répertoriés ci-dessus, PCA informe également les utilisateurs au démarrage de l’application si l’application présente des problèmes de compatibilité connus. La liste est stockée dans la base de données de compatibilité de l’application système. Il existe deux types de ces messages :
- Messages de bloc dur ( si l’application est connue pour être incompatible et si l’autorisation de l’application s’exécute entraîne un impact grave sur le système (par exemple, un incident Windows ou ne peut pas démarrer après l’installation), un message de blocage comme indiqué ci-dessous s’affiche.
- Messages de bloc réversible : si l’application a un problème de compatibilité connu et peut ne pas fonctionner correctement, ce message s’affiche :
Dans les deux cas, l’option « Obtenir de l’aide en ligne » envoie un rapport d’erreur Windows pour obtenir une réponse en ligne de Microsoft et l’afficher à l’utilisateur. En règle générale, les réponses pointent l’utilisateur vers l’un des trois types de ressources :
- Mise à jour du fournisseur d’applications
- Site web d’un fournisseur d’applications pour plus d’informations
- Article de la base de connaissances Microsoft pour plus d’informations
Télémétrie pour PCA
Une fois que PCA résout les problèmes d’application sur un ordinateur Windows 8 et obtient tous les commentaires de l’utilisateur, il collecte des données anonymes sur l’application, le programme d’installation, les problèmes détectés et les paramètres de compatibilité appliqués à l’application, puis l’envoie à Microsoft. Ces données sont collectées auprès de n’importe quel utilisateur qui est prêt à fournir ces données anonymes (via le programme d’amélioration de l’expérience client - CEIP). Une fois ces données collectées, les échecs et correctifs d’application sont analysés, et les correctifs sont ensuite distribués à l’ensemble de l’écosystème Windows via le mécanisme de Windows Update afin que tout utilisateur de l’application dans l’avenir bénéficie automatiquement du correctif.
Contrôles administratifs et gestion des paramètres PCA
Les administrateurs informatiques peuvent contrôler le comportement de PCA de deux façons :
- Désactivez pcA : ce paramètre permet aux administrateurs informatiques de désactiver les dialogues affichés par PCA aux utilisateurs; PCA effectue toujours le suivi et la détection des problèmes et renvoie des données de télémétrie
- Désactiver la télémétrie de l’application : ce paramètre désactive toute collection et envoi de données de télémétrie par PCA
Notes
Si ceIP est désactivé, ce paramètre n’a aucun impact.
Conception d’applications pour travailler avec PCA
Les développeurs doivent s’assurer que leurs applications fonctionnent bien dans tous les scénarios de compatibilité décrits ci-dessus. Les développeurs doivent tester et valider leurs applications pour chacun des scénarios ci-dessus et s’assurer qu’il n’existe aucun problème de compatibilité. Si des problèmes de compatibilité sont identifiés, les développeurs doivent apporter les correctifs nécessaires à leurs applications pour s’assurer que le problème de compatibilité est résolu. Voici quelques-uns des correctifs courants que les développeurs doivent apporter :
- Éliminer les vérifications de version du système d’exploitation Windows lors de l’installation et du runtime
- Éliminer la vérification des privilèges (vérification de l’accès administrateur) ; utiliser le manifeste EXE pour déclarer le niveau de privilège approprié nécessaire
- Vérifiez que les fichiers binaires Windows ne sont pas fournis dans le programme d’installation de l’application
- Éliminer l’écriture dans des zones protégées (registre, dossiers) ou écrire sur des fichiers protégés
- Signer numériquement tous les fichiers binaires (EXE, DLL, fichiers SYS)
- Pour les programmes d’installation, assurez-vous que l’entrée « Ajouter/supprimer des programmes » appropriée est ajoutée ; au minimum, cette entrée de métadonnées d’application doit inclure le nom de l’application, l’éditeur, la chaîne de version et la langue prise en charge. Cela indique à PCA que le programme d’installation s’est terminé correctement et fournit également un moyen pratique pour les utilisateurs de désinstaller l’application
S’assurer que la section TRUSTINFO et COMPATIBILITY du manifeste d’application (exécutable) est mise à jour comme indiqué dans le livre de recettes de compatibilité Windows 8 indique que l’application a été conçue pour Windows 8, et garantit également que l’application s’exécute toujours en mode natif sans aucun mode de compatibilité appliqué à celui-ci.
Pour vous assurer que l’application considère que l’application doit être conçue pour Windows 8 :
- Tous les exEs (programme d’installation ou runtime) doivent être manifestes pour les sections TRUSTINFO et COMPATIBILITY pour Windows 8
- Le programme d’installation doit ajouter une entrée « Ajouter/supprimer des programmes »
Glossaire
Les modes de compatibilité utilisés par PCA sont répertoriés ci-dessous avec une brève description de ce que le mode active.
Mode | Description |
---|---|
Windows7RTM | Ce mode émule le comportement commun de Windows 7, y compris le numéro de version 6.1 du système d’exploitation |
WindowsVistaSP2 | Ce mode émule le comportement commun de Windows 7, y compris le numéro de version 6.1 du système d’exploitation |
WindowsXPSp3 | Ce mode émule le comportement windows XP SP3 commun, y compris le numéro de version 5.1 du système d’exploitation. Cela inclut également le mode RUNASHIGHEST |
RUNASHIGHEST | Ce mode invite l’utilisateur à exécuter l’application avec le privilège le plus élevé disponible. Les utilisateurs disposant de privilèges d’administration voient une invite d’élévation UAC pour l’application |
RUNASADMIN | Ce mode invite toujours l’utilisateur à exécuter l’application avec des privilèges d’administration ; les applications avec ce mode obtiennent toujours l’invite d’élévation UAC |
ELEVATECREATEPROCESS | Ce mode rend les processus enfants de l’application principale exécutée avec des privilèges d’administration ; les processus enfants obtiennent une boîte de dialogue d’élévation DAC |
PINDLL | Ce mode force une DLL à être en mémoire pour une application même si l’application décharge la DLL |
DISABLEUSERCALLBACKEXCEPTION | Ce mode intercepte les exceptions de rappel de l’utilisateur et permet à l’application de continuer sans avoir à gérer l’exception |
VIRTUALIZEDELETE | Ce mode intercepte les opérations de suppression sur les fichiers protégés et empêche les applications d’échouer en raison d’exceptions non gérées de l’opération de suppression |
WRPMITIGATION | Ce mode retourne la réussite lorsqu’une application tente d’écrire, de modifier ou de supprimer des fichiers protégés par Windows ou des entrées de Registre (sans effectuer l’opération) |
DXMAXIMIZEDWINDOWEDMODE | Ce mode identifie les applications qui passent en mode plein écran et les redirige vers un mode Fenêtre agrandi |
HIGHDPIAWARE | Ce mode permet au reste de Windows de savoir que l’application est prise en charge de haute performance et aide à rendre correctement les éléments d’interface utilisateur, le texte, la police, etc. |