Freigeben über


Anwendungskompatibilitätsdatenbank

Die Kompatibilitätsinfrastruktur verwendet eine Datenbank, um Anwendungskompatibilitätsprobleme und deren Lösungen zu identifizieren. Diese Datenbank ist eine indizierte Binärdatei mit der Erweiterung .sdb. Die Kompatibilitätsinfrastruktur stellt eine Programmierschnittstelle für den Zugriff auf die Datenbank bereit.

Kompatibilitätsprobleme können zur Laufzeit anwendungsbezogen behoben werden. Jede in der Datenbank angegebene Anwendung enthält mindestens eine Komponente, die eine Lösung benötigt. Komponenten sind ausführbare Dateien, die im Allgemeinen mit ihren Dateiattributen (z. B. Prüfsumme) beschrieben werden.

Der Prozess der Datenbanksuche und bestimmung der Lösungen für die einzelnen Anwendungen wird als Abgleich bezeichnet. Die Dateiattribute und das Vorhandensein zugeordneter Dateien im Ordner oder Unterordner, die die .exe Datei enthalten, können verwendet werden, um eine eindeutige Übereinstimmung zu erstellen. Die zugeordneten Dateien werden als übereinstimmende Dateien bezeichnet.

Ein TAG ist ein eindeutiger Bezeichner für die Einträge und Attribute in der Datenbank. Der TAG-Typ gibt das Format der daten an, die dem TAG zugeordnet sind. Beispielsweise ist TAG_NAME vom Typ TAG_TYPE_STRINGREF; die Daten für TAG_NAME eine Namenszeichenfolge sind. Eine TAGID ist ein Zeiger auf einen Eintrag in einer bestimmten Datenbank. Ein TAGREF ist ein Zeiger auf einen Eintrag, der über mehrere Datenbanken hinweg verwendet werden kann.

Dateiattribute sind Metadaten, die einer Datei auf dem Datenträger zugeordnet sind. Diese Attribute umfassen den Dateinamen, die Dateigröße, die Prüfsumme, die Version und das Datum. Diese Attribute werden verwendet, um zu bestimmen, ob eine vom System geladene Datei mit einem Datenbankeintrag übereinstimmt. Daher werden diese Dateiattribute auch als übereinstimmende Attribute bezeichnet.

Lösungen

Die am häufigsten auf die Komponenten einer Anwendung angewendeten Lösungen sind Apphelp und Appfix.

Mit Apphelp wird eine benutzerdefinierte lokalisierte Nachrichtenbenachrichtigung angezeigt, in der Regel, wenn die Anwendung installiert oder gestartet wird. Sie enthält einen kurzen Text, der das Kompatibilitätsproblem erläutert und die Möglichkeit bietet, die Anwendung weiter auszuführen. Einige Anwendungen können jedoch nicht ausgeführt werden. Apphelp gibt dem Benutzer nicht die Möglichkeit, diese Anwendungen weiter auszuführen.

Mit Appfix werden Hooks für APIs installiert, die von den Komponenten der Anwendung aufgerufen werden. Diese Hooks verweisen auf Stubfunktionen, die anstelle der Systemfunktionen aufgerufen werden können (auch als Shimming bezeichnet). Die Stubfunktionen führen Vorgänge aus, die erforderlich sind, damit die Anwendung unter der installierten Windows-Version ausgeführt werden kann. Jede Stubfunktion kann optional die Systemfunktion aufrufen, nachdem sie ihre Arbeit abgeschlossen hat. Eine Kompatibilitätsebene oder ein Kompatibilitätsmodus enthält mindestens einen Shims und Flags.

In diesem Abschnitt