Windows XP-Anwendungskompatibilitätstechnologien (Engl. Originaltitel: Windows XP Application Compatibility Technologies) Von Dave Morehouse und Todd Phillips Microsoft Corporation Veröffentlicht: Juni 2001 Zusammenfassung Das vorliegende Whitepaper beschreibt detailliert die Anwendungskompatibilitätstechnologien des Betriebssystems Microsoft® Windows® XP und skizziert im Anschluss daran, wie diese verwendet und erweitert werden können, um eine Vielzahl von Anwendungskompatibilitätsproblemen zu behandeln. Danksagungen Mark Carroll, Lead Program Manager, Microsoft Corporation Bryan Chee, Product Manager, Microsoft Corporation Mark Derbecker, Software Design Engineer, Microsoft Corporation Ryan Marshall, Program Manager, Microsoft Corporation Brandon McMillon, Program Manager, Microsoft Corporation 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 MEbasierten 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. Kompatibilitätsfixes Wie bereits weiter oben erwähnt, ermittelt das Betriebssystem anhand von Zuordnungsinformationen, wie mit Anwendungen umzugehen ist, insbesondere welche Fixes oder Meldungen für eine bestimmte Anwendung erforderlich sind. Die in SysMain.sdb enthaltenen Kompatibilitätsfixes (auch als "Shims" oder "ShimTechnologie" bezeichnet) adressieren allgemeine Anwendungskompatibilitätsprobleme, die bei der Installation einer ursprünglich für Windows 95, Windows 98, Windows NT 4.0 oder Windows 2000 geschriebenen Anwendungen auftreten können. Fixes können einfache Lösungen für die häufigsten Kompatibilitätsprobleme bereitstellen: Ein Fix kann z. B. das ordnungsgemäße Funktionieren einer älteren Anwendung durch Übergeben der Anmeldeinformationen einer älteren Betriebssystemversion ermöglichen. Fixes können auf bestimmte Probleme mit bestimmten Anwendungen abgezielt sein (solche Fixes können dem Betriebssystem z. B. erlauben, bestimmte Warnungen oder Heapverzögerungs- und Speicherfreigabeaufrufe zu ignorieren). Die SysMain-Datenbankdatei wird bei Einführung von Windows XP ungefähr 200 Kompatibilitätsfixes enthalten. Diese behandeln die meisten der Kompatibilitätsprobleme, die während der Entwicklung von Windows XP aufgetreten sind. Softwarehersteller, leitende IT-Angestellte und Entwickler dürfen die vorhandenen Fixes verwenden, jedoch keine neuen Fixes erstellen. Diese Einschränkung wurde ausdrücklich festgelegt, um das Risiko einer Sicherheitsgefährdung für das System auszuschließen, das entstehen könnte, wenn Drittanbieter u. U. schädlichen Code in den Ladeprozess hineintragen. Kompatibilitätsmodi Kompatibilitätsmodi (auch als "Schichten" bezeichnet) sind im Grunde Sammlungen von Kompatibilitätsfixes, die für eine Anwendung eine bestimmte Betriebssystemumgebung emulieren. Der Windows 95Kompatibilitätsmodus enthält z. B. ungefähr 50 der am häufigsten für ältere Windows 95-Anwendungen erforderlichen Fixes, die das einwandfreie Funktionieren dieser Anwendungen unter Windows XP ermöglichen. Einige dieser Fixes enthalten: die Rückgabe von Windows 95-Anmeldeinformationen, eine exakte Emulation des Windows 95/Windows 98/Windows ME-Heap-Managers, Dateipfadfixes, um Windows 95/Windows 98/Windows ME-Desktop- und Startmenüordner in die entsprechenden Windows XPOrdner (Dokumente und Einstellungen) umzuleiten sowie Registrierungsvirtualisierung zum Emulieren von Windows 95/Windows 98/Windows ME-Registrierungsdaten. Es gibt drei unterschiedliche Arten von Modi: Endbenutzermodi, die in den unterschiedlichen Shellfunktionen von Windows XP angezeigt werden, z. B. die Registerkarte Kompatibilität oder der Programmkompatibilitäts-Assistent (weitere Informationen hierzu folgen weiter unten). Der Benutzer kann über die Benutzeroberfläche auf fünf Basismodi zugreifen: Windows 95, Windows 98/Windows ME, Windows NT 4.0, Windows 2000, 256 Farben und 640 x 480 Bildschirmauflösung. Systemmodi, die alle oben genannten Endbenutzermodi und einige weitere Optionen enthalten, anhand derer unabhängige Softwareanbieter, Systemadministratoren und andere IT-Mitarbeiter das Verhalten ihrer Anwendungen steuern können. Dazu gehören der Sicherheitsmodus Eingeschränktes Benutzerkonto und der Modus Profile. Der Modus Eingeschränktes Benutzerkonto wird verwendet, wenn eine Anwendung für einen bestimmten Benutzer in einem eingeschränkten Sicherheitskontext ausgeführt werden muss. Der Modus Profile kann eine Anwendung darin unterstützen, zu ermitteln, wie mit Windows XP-Benutzerprofilen umzugehen ist. Für den Zugriff und zum Festlegen verwenden Sie eines der Tools QFixApp oder CompatAdmin. Eine detaillierte Beschreibung dieser Tools folgt im nachfolgenden Abschnitt dieses Artikels. Benutzerdefinierte Modi, die ein Systemadministrator oder andere IT-Mitarbeiter für eine bestimmte Anwendung oder eine Gruppe von Anwendungen unter Verwendung des Tools CompatAdmin erstellen können (siehe nachstehende Erläuterung). Benutzerdefinierte Modi können immer nur für die spezielle Anwendung, die der Benutzer installiert, und für die sie geschrieben wurden, verwendet werden und jeden in diesem Paket enthaltenen Fix verwenden. Auch wenn Windows XP bereits einzelne Kompatibilitätsfixes aus SysMain implementiert hat, kann der Benutzer zusätzlich einen der Kompatibilitätsmodi wählen. Wenn ein Kompatibilitätsmodus angewendet wird, werden alle enthaltenen Fixes verknüpft und bei Ausführung der Anwendung auf diese angewendet. Dies kann hilfreich bei der Behandlung von Kompatibilitätsproblemen sein, für die es in der SysMain-Datenbank oder online von Microsoft (oder von einem Softwarehersteller) keine Fixes gibt. Anwendungshilfe Wenn beim Zuordnen von Informationen ermittelt wird, dass die Anwendung, die der Benutzer auszuführen versucht, nicht kompatibel ist, kann Windows XP entweder einen Kompatibilitätsfix aufrufen oder in der Benutzeroberfläche eine Hilfemeldung anzeigen. Die Anwendungshilfe, die strengste der Kompatibilitätstechnologien, ist für Situationen reserviert, in denen für ein Kompatibilitätsproblem ein Fix ungeeignet oder nicht verfügbar ist. Der dieser Technologie zugrundeliegende Mechanismus ist einfach: Das Betriebssystem verwendet die Zuordnungsinformationen aus SysMain, um zu ermitteln, welche Meldungen aus der AppHelp-Datenbank das Ausführen von Anwendungen mit bekannten Kompatibilitätsproblemen blockieren und/oder den Benutzer darüber informieren sollen. Genauer gesagt generiert die Anwendungshilfe eine lokalisierte Meldung, die dem Benutzer angezeigt wird, bevor ein problematischer Prozess initiiert wird. Dazu wird ein Dialogfeld mit einer kurzen Meldung über das Problem und einer Kennzeichnung des Schwierigkeitsgrades in Form eines Symbols angezeigt. Wenn es sich bei dem Symbol um ein gelbes Dreieck mit einem Ausrufezeichen handelt, ist die Anwendung nicht blockiert, d. h., der Benutzer kann das Programm dennoch ausführen. Abbildung 1: Meldung der Anwendungshilfe für ein mit Windows XP inkompatibles Programm. Wenn ein rotes Stoppschild (wie in Abbildung 1 dargestellt) angezeigt wird, ist die Anwendung blockiert, d. h., der Benutzer kann das Programm nicht ausführen. Zum Anzeigen weiterer Informationen kann der Benutzer auf die Schaltfläche Details klicken. Diese Zusatzinformationen werden im Windows XP-Hilfe- und Supportcenter (siehe Abbildung 2 weiter unten) angezeigt. Der angezeigte Hilfetext stammt entweder von Microsoft.com (wenn der Computer online ist) oder aus einer lokalen HTML-Hilfedatei (%Windir%\help\apps.chm). Abbildung 2: Zusatzinformationen zu Problemen, die zur Blockierung einer Anwendung führen, werden im Hilfe- und Supportcenter angezeigt. Die Anwendungshilfe wird in der Regel zum Blockieren von Anwendungen auf Systemebene (z. B. Virenschutzprogramme oder Dienstprogramme für den Zugriff auf Festplatten) verwendet, die nicht ausdrücklich für Windows XP geschrieben oder bestimmt sind. Durch das Blockieren der Installation dieser Anwendungen trägt diese Technologie dazu bei, ernste Probleme zu vermeiden, die die Systemintegrität gefährden könnten. Dies führt zu einer verbesserten Systemstabilität und erhöht die Benutzerfreundlichkeit. Verwenden und Erweitern von Anwendungskompatibilitätstechnologien Wie bereits weiter oben erläutert, basieren die in Windows XP integrierten Anwendungskompatibilitätstechnologien auf Datenbankdateien, die Zuordnungsinformationen, Fixes und Hilfeinformationen enthalten. Während in diesen Dateien ungefähr 1.000 der am häufigsten ausgeführten Anwendungen abgedeckt sind, gibt es naturgemäß noch viele weitere Anwendungen, die nicht enthalten sind, wie z. B. benutzerdefinierte Anwendungen oder extrem spezialisierte Anwendungen. Für diese Fälle stellt Microsoft zusätzliche Dienste und Tools bereit. Aktualisieren der Basisdatenbank-Dateien mit automatisierten Diensten Microsoft stellt zwei automatisierte Dienste zum Ergänzen der in den Anwendungsdatenbank-Dateien von Windows XP enthaltenen Kompatibilitätsinformationen bereit: Dynamisches Update, eine neue Funktion in Windows XP, mit deren Hilfe sichergestellt wird, dass immer die neuesten Treiber und Kompatibilitätsdateien zur Verfügung stehen. Diese Funktion ist Teil des Windows XP-Installationsprogramms und prüft, ob es neuere Treiber oder Patchdateien gibt, als die auf der Windows XP-Installations-CD enthaltenen. Wenn der Computer beim Starten von Setup eine Verbindung zum Internet herstellen kann, prüft er, ob neue Treiber, Softwarepatches oder andere wichtige Updates existieren und downloadet diese, um sie dann im Rahmen von Setup automatisch zu installieren. Dynamische Update-Pakete werden direkt bei Verfügbarkeit in der Windows Update-Website abgelegt. Dies ist besonders vorteilhaft für Benutzer, die Windows XP erst nach Einführung des Produkts installieren und für deren Anwendungen möglicherweise bereits neue Fixes und Hilfeinformationen verfügbar sind. Windows Update ist eine Onlineerweiterung zu Windows XP und bietet einen zentralen Ort für Produkterweiterungen wie Service Packs, Gerätetreiber und Systemsicherheitsaktualisierungen. Wenn daher Ihr Computer während der Installation einer neuen Anwendung mit dem Internet verbunden ist, sucht Windows XP nicht nur in den lokalen Datenbankdateien (SysMain und AppHelp) sondern auch online in der Windows Update-Website nach Anwendungskompatibilitätsfixes und anderen für die Anwendung wichtigen Daten. Anwendungskompatibilitätstools in der Benutzeroberfläche Microsoft stellt zwei Anwendungskompatibilitätstools in der Benutzeroberfläche von Windows XP bereit: den Programmkompatibilitäts-Assistenten und die Erweiterung der Kompatibilitätsshell. Der Benutzer kann problemlos auf diese Tools zugreifen und mit diesen seine Anwendungskompatibilitätseinstellungen anpassen. Sie unterstützen den Benutzer bei der Installation und der Ausführung von Anwendungen, die nach Windows XP eingeführt werden und bieten Hilfe in den Fällen, in denen die SysMain-Datenbank keine Informationen enthält und auch Windows Update keine Hilfe zur Verfügung stellen kann. Programmkompatibilitäts-Assistent In großen Firmenumgebungen können die Benutzer sich in der Regel bei Kompatibilitätsproblemen auf die Hilfe einer internen technischen Supportgruppe verlassen. Im privaten Bereich oder in kleineren Unternehmensumgebungen muss der Benutzer u. U. selbst für Support für seine Anwendungen sorgen. Dabei hilft der Programmkompatibilitäts-Assistent. Der Programmkompatibilitäts-Assistent ist Teil des Windows XP-Hilfe- und Supportcenters und ermöglicht das bequeme und einfache Anpassen von Anwendungskompatibilitätseinstellungen. Dieser Assistent verwendet die Kompatibilitätsfixes und Kompatibilitätsmodi aus der SysMain-Datenbankdatei. Sie können die anzupassende Anwendung aus einer Liste der Anwendungen mit bekannten Problemen auswählen, nach der Anwendung suchen oder die Anwendung von der CD auswählen. Das Anwenden eines Kompatibilitätsmodus mit dem Programmkompatibilitäts-Assistenten ist ebenso einfach wie das Auswählen des Betriebssystems, unter dem die Anwendung ordnungsgemäß ausgeführt wird. Es gibt vier Hauptoptionen: Microsoft Windows 95 Microsoft Windows NT 4.0 (Service Pack 5) Microsoft Windows 98/Windows ME Microsoft Windows 2000 Darüber hinaus können Sie festlegen, dass für die Anwendung kein Kompatibilitätsmodus ausgewählt werden soll. Abbildung 3 zeigt die Kompatibilitätsmodusoptionen im Programmkompatibilitäts-Assistenten. Abbildung 3: Mithilfe des Programmkompatibilitäts-Assistenten können Sie problemlos Kompatibilitätsmodi für eine Anwendung auswählen. Sobald Sie die gewünschte Option ausgewählt haben, ermöglicht der Programmkompatibilitäts-Assistent das Konfigurieren von Anzeigeeinstellungen für die Anwendung. Farbtiefe und Bildschirmauflösung sind oft der Auslöser dafür, dass ältere Anwendungen blockiert werden. Die im Assistenten aktivierten Fixes bewirken, dass die Anwendung mit einer Auflösung von 640 x 480 Pixel oder mit einer Farbtiefe von 256 Farben angezeigt wird. Zusätzlich hierzu können Sie in Windows XP die visuellen Themen für Anwendungen, wie z. B. Lernprogramme oder Spiele, deaktivieren, da diese ebenfalls Probleme verursachen können. Im letzten Teil des Assistenten können Sie die ausgewählten Kompatibilitätseinstellungen überprüfen. Wenn die Anwendung beim Testen der Kompatibilitätseinstellungen ordnungsgemäß ausgeführt wird, können Sie die Einstellungen speichern, damit sie bei jedem Ausführen der Anwendung automatisch angewendet werden. Erweiterung der Kompatibilitätsshell Fortgeschrittene Benutzer von Windows XP können die grundlegenden Kompatibilitätseinstellungen auch direkt anpassen. Die im Programmkompatibilitäts-Assistenten verfügbaren Funktionen stehen auch auf der Registerkarte Kompatibilität im Dialogfeld Eigenschaften einer ausführbaren Datei zur Verfügung. Siehe hierzu die nachstehende Abbildung 4. Abbildung 4: Die erweiterte Kompatibilitätsshell generiert für jede ausführbare Datei eine Registerkarte "Kompatibilität". Die aufgeführten Kompatibilitätseinstellungen sind in zwei Listenfelder unterteilt: Kompatibilitätsmodus und Anzeigeeinstellungen. Das Listenfeld Kompatibilitätsmodus ermöglicht das Auswählen des Betriebssystems, unter dem die ausführbare Datei ordnungsgemäß ausgeführt wird. Diese Option wendet den betreffenden Kompatibilitätsmodus bei jedem Ausführen der Datei an. Das Listenfeld Anzeigeeinstellungen ermöglicht das Ändern der Farbtiefe, der Bildschirmauflösung und das Deaktivieren der visuellen Themen in Windows XP. Tools zum Erstellen einer benutzerdefinierten AnwendungskompatibilitätsDatenbank Zusätzlich zu den Benutzeroberflächentools für Anwendungskompatibilität gibt es zwei Tools für erfahrene Systemadministratoren und IT-Supportmitarbeiter: QFixApp und CompatAdmin. Diese sind besonders hilfreich zur Unterstützung von Anwendungen, die weder in der lokalen Datenbank noch in der Onlinedatenbank für Anwendungskompatibilität aufgeführt sind. Beide Tools finden Sie im Application Compatibility Toolkit(englischsprachig). Sie erhalten dieses online bei Microsoft. QFixApp QFixApp ist ein kleines Anwendungstool, das eine Schnittstelle zur Datenbank mit den in das Betriebssystem integrierten Kompatibilitätsfixes enthält. Die Verwendung dieses Tools ist relativ einfach: Sie suchen nach der ausführbaren Datei, die repariert werden muss und wählen den Kompatibilitätsmodus aus, den Sie anwenden möchten (siehe Abbildung 5). Dies ist ein manueller Prozess (im Gegensatz zur halbautomatischen Vorgehensweise bei Verwendung des Programmkompatibilitäts-Assistenten), dennoch können Sie hiermit exakt steuern, welche Kompatibilitätsfixes auf Ihre Anwendung angewendet werden sollen. Ein weiterer Vorteil von QFixApp liegt darin, dass die Anwendung, die repariert werden soll, nicht in der Liste der Anwendungen mit bekannten Problemen enthalten sein muss. QFixApp kann sehr hilfreich sein, um zu ermitteln, welche Fixes auf benutzerdefinierte Anwendungen anzuwenden sind. Abbildung 5: QFixApp ermöglicht es, exakt festzulegen, welche Fixes für eine bestimmte Anwendung anzuwenden sind. Das Tool QFixApp.exe ermöglicht das Auswählen jeder beliebigen ausführbaren Datei und das Anwenden eines oder mehrerer der in der SysMain-Datenbank enthaltenen Fixes (diese wird unter Windows XP ungefähr 200 Fixes enthalten). Mithilfe von QFixApp können Sie die Kombination aus Fixes ermitteln, mit deren Hilfe Ihre Anwendung unter Windows XP ausgeführt werden kann. Entscheiden Sie zunächst, ob Sie einen Kompatibilitätsmodus oder einen Kompatibilitätsfix verwenden möchten, bevor Sie QFixApp verwenden. In der Registerkarte Layers können Sie einen Kompatibilitätsmodus und in der Registerkarte Fixes einzelne Fixes oder Kombinationen mehrerer Fixes auswählen. Es ist in der Regel am sinnvollsten, zunächst einen Kompatibilitätsmodus auszuwählen, wenn Sie sicher sind, dass die Anwendung unter der betreffenden Version von Windows ordnungsgemäß ausgeführt wurde. Sobald Sie Ihre Auswahl getroffen haben, klicken Sie auf die Schaltfläche Run, um das Testen der Kombination aus Fixes durch QFixApp zu starten. (QFixApp verwendet zum Testen der Gruppe ausgewählter Fixes das Dienstprogramm ShimDBC.exe.) CompatAdmin In einer größeren Netzwerkumgebung kann es mehr Anwendungen geben, die mit den Windows XPTechnologien für Anwendungskompatibilität bearbeitet werden müssen. Zusätzlich kann es aufgrund der verteilten Natur großer Netzwerke schwierig und zeitaufwändig sein, das genau für den Benutzer richtige Paket mit Kompatibilitätsfixes zusammenzustellen. Microsoft stellt das Kompatibilitätsverwaltungstool CompatAdmin bereit, um Administratoren zu helfen, Pakete mit Kompatibilitätsfixes zusammenzustellen und zu verteilen. CompatAdmin stellt eine Benutzeroberfläche zum Durchsuchen und Bearbeiten der Windows XP-Datenbank mit den Kompatibilitätsfixes (siehe Abbildung 6) bereit. Dieses Tool ermöglicht das Auswählen beliebiger ausführbarer Dateien und das Anwenden eines oder mehrerer der unzähligen Fixes, die im Betriebssystem zur Verfügung stehen. Wenn Sie alle zum Ausführen der Anwendung erforderlichen Fixes ermittelt haben, können Sie mithilfe von CompatAdmin ein Paket bereitstellen, um diese Fixes anderen Windows XP-basierten Computer bereitzustellen. Abbildung 6: Das Tool CompatAdmin erleichtert das Erstellen von Paketen mit Kompatibilitätsfixes zur Bereitstellung für andere Computer. CompatAdmin umfasst eine Suchfunktionalität zum Suchen nach "reparierten" Anwendungen auf Ihren Systemoder Netzwerklaufwerken und analysiert diese im Hinblick auf die verwendeten Gruppen von Fixes. Dies vereinfacht den Prozess zum Erstellen eines Pakets mit Kompatibilitätsfixes zur Bereitstellung für andere Computer. CompatAdmin enthält eine Liste der Anwendungen, die Microsoft als Anwendung identifiziert hat, die nur nach Implementation eines oder mehrerer Kompatibilitätsfixes ordnungsgemäß unter Windows XP ausgeführt werden. CompatAdmin unterstützt das Erstellen und Verwalten benutzerdefinierter Kompatibilitätsdatenbanken. Dies ist einer der nützlichsten Aspekte des Tools. Die aktuelle benutzerdefinierte Datenbank wird im Fenster in der linken unteren Ecke des Hauptfensters von CompatAdmin angezeigt. Wenn Sie CompatAdmin starten, wird der Bereich für die benutzerdefinierte Datenbank mit einer neuen leeren Datenbank geöffnet. Mithilfe der Optionen aus dem Menü Database können Sie bestimmte Fixes oder benutzerdefinierte Kompatibilitätsmodi zu Ihrer benutzerdefinierten Datenbank hinzufügen oder aus dieser entfernen. Siehe hierzu die nachstehende Abbildung 7. Abbildung 7: CompatAdmin enthält einen Assistenten zur Unterstützung beim Erstellen eines benutzerdefinierten Kompatibilitätsmodus. Die Menüoptionen sind u. U. nur aktiviert, wenn Sie das Fenster für die benutzerdefinierte Datenbank und/oder einen gültigen Eintrag ausgewählt haben. Sobald Sie alle erforderlichen Kompatibilitätsfixes zu Ihrer benutzerdefinierten Datenbank hinzugefügt haben, können Sie die Datenbank speichern und dann an alle Windows XP-basierten Computer verteilen, die die Kompatibilitätsfixes benötigen. Zusammenfassung Windows XP unterstützt eine breite Basis von Anwendungen. Für Anwendungen, die möglicherweise unter diesem neuen Betriebssystem nicht ordnungsgemäß ausgeführt werden, stellt Microsoft eine Reihe von Anwendungskompatibilitätstechnologien und die zum Nutzen und Erweitern dieser Technologien erforderlichen Tools bereit. Die Anwendungskompatibilitätstechnologien in Windows XP verwenden Datenbankdateien zum Identifizieren und Reparieren von Anwendungen, die ansonsten unter Windows XP nicht ordnungsgemäß ausgeführt würden. Zum Aktualisieren von Windows 95, Windows 98 und Windows Millennium einerseits und von Windows NT und Windows 2000 andererseits werden die Datenbankdateien MigDB.inf bzw. NTCompat.inf verwendet. Für die Implementation von Anwendungskompatibilität nach der Installation von Windows XP werden die Datenbanken SysMain.sdb (mit Zuordnungsinformationen und Kompatibilitätsfixes) und AppHelp.sdb (mit den Hilfemeldungen und Warnungen zum Informieren des Benutzers bei Vorliegen von Anwendungskompatibilitätsproblemen, für die derzeit keine Fixes vorliegen). Windows XP enthält den Programmkompatibilitäts-Assistenten zur Unterstützung des Benutzers bei der Implementation von Anwendungskompatibilitätsfixes unter Verwendung des Hilfe- und Supportcenters. Erfahrene Benutzer können die Eigenschaften einer ausführbaren Datei unter Verwendung der Registerkarte Kompatibilität im Dialogfeld Eigenschaften ändern, um Kompatibilitätsfixes anzuwenden. Netzwerkadministratoren und IT-Supportmitarbeiter können mithilfe der Tools QFixApp und CompatAdmin benutzerdefinierte Kompatibilitätsfixes für Anwendungen erstellen und dann als Pakete an Benutzer im Netzwerk verteilen. Verwandte Links Windows XP Application Compability Toolkit http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28000911 (englischsprachig) Designed for Windows XP Application Specification http://www.microsoft.com/winlogo/downloads/AppSpec22.doc (englischsprachig) Die aktuellsten Informationen zu Windows XP finden Sie auf der Windows XP-Website unter http://www.microsoft.com/germany/ms/windowsxp/ bzw. http://www.microsoft.com/windowsxp/ (englischsprachig). Dies ist ein vorläufiges Dokument, das vor der kommerziellen Einführung der hier beschriebenen Software erheblichen Änderungen unterworfen sein kann. Die in diesem Dokument enthaltenen Informationen stellen die behandelten Themen aus der Sicht der Microsoft Corporation zum Zeitpunkt der Veröffentlichung dar. Da Microsoft auf sich ändernde Marktanforderungen reagieren muss, stellt dies keine Verpflichtung seitens Microsoft dar, und Microsoft kann die Richtigkeit der hier dargelegten Informationen nach dem Zeitpunkt der Veröffentlichung nicht garantieren. Dieses Whitepaper dient nur zu Informationszwecken. MICROSOFT SCHLIESST FÜR DIESES DOKUMENT JEDE GEWÄHRLEISTUNG AUS, SEI SIE AUSDRÜCKLICH ODER KONKLUDENT. Die Benutzer/Innen sind verpflichtet, sich an alle anwendbaren Urheberrechtsgesetze zu halten. Unabhängig von der Anwendbarkeit der entsprechenden Urheberrechtsgesetze darf ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation kein Teil dieses Dokuments für irgendwelche Zwecke vervielfältigt oder in einem Datenempfangssystem gespeichert oder darin eingelesen werden, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln (elektronisch, mechanisch, durch Fotokopieren, Aufzeichnen usw.) dies geschieht. Es ist möglich, dass Microsoft Rechte an Patenten bzw. angemeldeten Patenten, an Marken, Urheberrechten oder sonstigem geistigen Eigentum besitzt, die sich auf den fachlichen Inhalt dieses Dokuments beziehen. Das Bereitstellen dieses Dokuments gibt Ihnen jedoch keinen Anspruch auf diese Patente, Marken, Urheberrechte oder auf sonstiges geistiges Eigentum, es sei denn, dies wird ausdrücklich in den schriftlichen Lizenzverträgen von Microsoft eingeräumt. © 2001 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft, Windows und Windows NT sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere in diesem Dokument aufgeführte Produkt- oder Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. Microsoft Corporation • One Microsoft Way • Redmond, WA 98052-6399 • USA