Partager via


Base de données de compatibilité des applications

L’infrastructure de compatibilité utilise une base de données pour identifier les problèmes de compatibilité des applications et leurs solutions. Cette base de données est un fichier binaire indexé avec une extension .sdb. L’infrastructure de compatibilité fournit une interface de programmation pour accéder à la base de données.

Les problèmes de compatibilité peuvent être résolus en fonction d’une application par application au moment de l’exécution. Chaque application spécifiée dans la base de données contient un ou plusieurs composants qui ont besoin d’une solution. Les composants sont des fichiers exécutables généralement décrits à l’aide de leurs attributs de fichier (par exemple, somme de contrôle).

Le processus de recherche de base de données et la détermination des solutions pour chaque application est appelé correspondance. Les attributs de fichier et la présence de fichiers associés dans le dossier ou le sous-dossier contenant le fichier .exe peuvent être utilisés pour créer une correspondance unique. Les fichiers associés sont appelés fichiers correspondants.

Une TAG est un identificateur unique pour les entrées et les attributs de la base de données. Le type TAG indique le format des données associées auTAG. Par exemple, TAG_NAME est de type TAG_TYPE_STRINGREF; les données de TAG_NAME sont une chaîne de nom. Une TAGID est un pointeur vers une entrée dans une base de données particulière. Une TAGREF est un pointeur vers une entrée qui peut être utilisée sur plusieurs bases de données.

attributs File sont des métadonnées associées à un fichier sur disque. Ces attributs incluent le nom de fichier, la taille de fichier, la somme de contrôle, la version et la date. Ces attributs sont utilisés pour déterminer si un fichier chargé par le système correspond à une entrée de base de données. Par conséquent, ces attributs de fichier sont également appelés attributs correspondants.

Solutions

Les solutions les plus courantes appliquées aux composants d’une application sont Apphelp et Appfix.

Avec Apphelp, une notification de message localisée personnalisée s’affiche généralement lorsque l’application est installée ou démarrée. Il contient un bref texte qui explique le problème de compatibilité et fournit la possibilité de continuer à exécuter l’application. Toutefois, certaines applications échouent considérablement. Apphelp ne permet pas à l’utilisateur de continuer à exécuter ces applications.

Avec Appfix, les hooks sont installés pour les API appelées par les composants de l’application. Ces crochets pointent vers des fonctions stub qui peuvent être appelées au lieu des fonctions système (également appelées shimming). Les fonctions stub effectuent des opérations nécessaires pour permettre à l’application de s’exécuter sur la version installée de Windows. Chaque fonction stub peut éventuellement appeler la fonction système après avoir terminé son travail. Une couche de compatibilité ou mode contient un ou plusieurs shims et indicateurs.

Dans cette section