Einführung - Windows xp-anwendungskompatibilitätstechnologien Engl. Originaltitel

Einführung
In der Regel sind Anwendungen für ein bestimmtes Betriebssystem oder eine bestimmte Betriebssystemversion optimiert. Anwendungskompatibilitätsprobleme können auftreten, wenn ein Benutzer versucht, ein häufig verwendetes Programm auf einer neueren Version des Microsoft® Windows®-Betriebssystems auszuführen, für die die Anwendung ursprünglich nicht entwickelt wurde. Dies kann z. B. dann der Fall sein, wenn ältere Anwendungen nach Windows XP migriert werden, da Windows XP sowohl auf Windows NT® als auch auf Windows 2000 basiert, nicht jedoch auf der eher für private Benutzer konzipierten Betriebssystemreihe (Windows 95, Windows 98 und Windows Millennium Edition).
Da Windows NT und Windows 2000 Unternehmensbetriebssysteme sind, haben viele Anwendungsentwickler, die speziell den Heimbenutzer berücksichtigen, ihre Programme ausschließlich auf Windows 95 und dessen Folgeversionen ausgerichtet. Dementsprechend müssen beim Migrieren dieser Anwendungen nach Windows XP die Unterschiede in den betreffenden Betriebssystem-APIs (Application Programming Interfaces) berücksichtigt werden. Einige dieser Unterschiede sind auf die neuen Funktionen in Windows XP zurückzuführen, andere sind aber auch bedingt durch die strengeren Programmieranforderungen der Windows NT-Codebasis.
Anwendungen, die unter früheren Versionen von Windows einwandfrei funktionierten, können unter Windows XP aus einer Reihe unterschiedlicher Gründe fehlschlagen: eine Anwendung kann beispielsweise ältere Formate von Windows-Daten voraussetzen oder auch Benutzerinformationen, die z. B. in persönlichen oder temporären Ordnern zu finden sind, an bestimmten anderen Speicherorten oder in anderen Formaten suchen. Derartige Probleme können für Anwendungen auftreten, die für Windows 95, Windows 98 oder Windows ME geschrieben worden sind, es können jedoch auch einige der für Windows NT oder Windows 2000 geschriebenen Anwendungen betroffen sein.
Zur Behebung dieses Problems und um dem Benutzer weiterhin die Verwendung älterer Anwendungen zu ermöglichen, hat Microsoft Anwendungskompatibilitätstechnologien in Windows XP integriert. Diese sind immer dann von Bedeutung, wenn eine Anwendung unabhängig davon, ob dies im Rahmen eines Systemupdates oder während des normalen Betriebs erfolgt, unter dem Betriebssystem installiert wird. Der vorliegende Artikel beschreibt detailliert diese Technologien und skizziert dann, wie diese verwendet und erweitert werden können, insbesondere mit den im Application Compability Toolkit (Toolkit für die Anwendungskompatibilität) enthaltenen Zusatztools.
Anwendungskompatibilitätstechnologien
Die in Windows XP integrierten Anwendungskompatibilitätstechnologien können in zwei Gruppen unterteilt werden: Technologien für Kompatibilität bei der Migration, die die Migration von Anwendungen erleichtern, wenn von früheren Versionen von Windows auf Windows XP aktualisiert wird, sowie Kompatibilitätsfixes, Kompatibilitätsmodi und eine Anwendungshilfe, die zusammen die Installation und den Betrieb von Anwendungen im Windows XP-Betriebssystem unterstützen. Diese Technologien basieren auf dem "Zuordnen von Informationen", d. h., von anwendungsspezifischen Informationen, die dem Betriebssystem ermöglichen, die Anwendungen zu erkennen und entsprechend zu reagieren (z. B. durch das Implementieren von Kompatibilitätsfixes oder das Bereitstellen von Hilfeinformationen für den Benutzer), wenn ein Kompatibilitätsproblem auftritt. Das Zuordnen von Informationen für eine bestimmte Anwendung kann den Dateinamen, die Größe der Anwendung, eine Prüfsumme der Inhalte der Datei, die Version der Datei und ähnliche Informationen umfassen.
Gründe für die Notwendigkeit von Anwendungskompatibilitätstechnologien
In der Einführung zu diesem Artikel haben wir bereits einige der Gründe genannt, die Anwendungskompatibilitätstechnologien notwendig machen können: ein Wechsel in Datenformaten von einer Betriebssystemversion zur nächsten, geänderte Speicherorte oder Formate für Benutzerinformationen. Es gibt aber noch weitere Gründe. Eine Anwendung kann auch u. U. dann nicht ausgeführt werden, wenn Windows neue, höhere Versionsnummern zurückgibt. In solchen Fällen funktioniert die Anwendung unter der neuen Version von Windows oft einwandfrei, wenn der Benutzer diese Sperre überwinden kann. Auch kann eine Anwendung ältere Versionen von Microsoft Win32®-API-Funktionen aufrufen, die auf Computern mit großen Ressourcenmengen (z. B. verfügbarer Speicherplatz) unerwartete Werte zurückgeben.
Darüber hinaus können insbesondere Benutzer, die von Windows 95, Windows 98 oder Windows ME aktualisieren, auf Kompatibilitätsprobleme stoßen, da Anwendungen, die ausschließlich für diese Plattformen geschrieben wurden u. U. programmgesteuert auf Hardware zugreifen, was unter Windows XP nicht zulässig ist. Direkter Zugriff auf Hardware kann die Stabilität des Betriebssystems deutlich beeinträchtigen, und da Windows XP zum großen Teil auf Windows NT basiert, erfordert es die Handhabung des Hardwarezugriffs über die richtigen Kanäle.
Anwendungen, die ursprünglich für Windows NT oder Windows 2000 geschrieben worden sind, verursachen jedoch in der Regel keine ernsthaften Kompatibilitätsprobleme unter Windows XP, da diese Betriebssysteme eine gemeinsame Codebasis verwenden. Trotzdem kann es einige Anwendungen geben, die möglicherweise für eine bestimmte Version von Windows NT geschrieben worden sind und daher nur mit einem Kompatibilitätsfix ordnungsgemäß unter Windows XP ausgeführt werden können.
Anwendungsdatenbank-Dateien
Diese Technologien basieren auf Anwendungsdatenbanken (und sind im Grunde auch kaum von solchen zu unterscheiden), die das Betriebssystem verwendet, um während der Installation oder beim Ausführen einer Anwendung mit dieser zu kommunizieren. Abgesehen von einer Routine zur schnellen Anwendungsüberprüfung im Ladeprogramm, liegt die Anwendungskompatibilitätsinfrastruktur selbst außerhalb der Basiskomponenten des Betriebssystems (wie z. B. dem Kernel). Sie wird nur aufgerufen, wenn die anfängliche Datenbankabfrage des Ladeprogramms angibt, dass sie erforderlich ist. Damit werden spezielle Kompatibilitätscodepfade innerhalb der APIs selbst, die u. U. nur für eine Anwendung benötigt werden, überflüssig. Die Unterstützung in Form von Kompatibilitätsfixes stellt keine zusätzliche Last dar und wirkt sich nicht übermäßig auf die Leistung des Betriebssystems oder der installierten Anwendungen aus.
Es gibt die folgenden Anwendungsdatenbank-Dateien:
MigDB.inf – zur Unterstützung der Migration von Windows 95-, Windows 98- und Windows ME-basierten Systemen. Diese Datei enthält Zuordnungsinformationen und kennzeichnet Anwendungen, die nicht kompatibel sind, oder für die vor dem Systemupdateein Benutzereingriff erforderlich ist.
NTCompat.inf – enthält die gleiche Art von Informationen wie MigDB, jedoch zur Unterstützung des Updates von Windows NT 4.0 und Windows 2000-basierten Systemen.
SysMain.sdb – enthält sowohl Zuordnungsinformationen als auch Kompatibilitätsfixes. Sie finden diese Datei im Verzeichnis %Windir%\AppPatch.
AppHelp.sdb – enthält nur die Hilfemeldungen, die den Benutzer auffordern, Patches zu implementieren, die URLs zum Downloaden von Patches von Drittanbietern angeben oder die angeben, wo weitere Informationen zu finden sind. Diese Datei befindet sich ebenfalls im Verzeichnis %Windir%\AppPatch.
MigDB und NTCompat enthalten daher Informationen für die Technologien zur Kompatibilität bei der Migration von einem anderen Betriebssystem nach Windows XP, während sowohl SysMain und AppHelp Informationen für Kompatibilitätstechnologien anzeigen (und enthalten), die beim Installieren und Ausführen von Anwendungen unter Windows XP von Bedeutung sind: Kompatibilitätsfixes, Kompatibilitätsmodi und die Anwendungshilfe.
Technologien für Kompatibilität bei der Migration
Wie bereits weiter oben beschrieben, verwendet Windows XP zur Unterstützung der erfolgreichen Migration von Anwendungen aus Windows 95-, Windows 98- und Windows ME-basierten Systemen einerseits und Windows NT- und Windows 2000-basierten Systemen andererseits die Datenbankdateien MigDB.inf bzw. NTCompat.inf, mit deren Hilfe bekannte Anwendungskompatibilitätsprobleme identifiziert werden können. Beim Ausführen von Windows XP Setup wird eine Routine zur Überprüfung der Kompatibilität durchgeführt, die den Benutzer vor Abschluss der Installationsroutine warnt, wenn ernste Kompatibilitätsprobleme vorliegen. Eine Liste problematischer Anwendungen zusammen mit Hardwarekompatibilitätsinformationen finden Sie im von Setup generierten Aktualisierungsbericht. Beide Dateien waren bereits in Windows 2000 Setup enthalten und wurden für Windows XP aktualisiert.
|