BDD 2007: Anwendungskompatibilität – Handbuch für das Feature-Team (Anhang A)

Anhang A: Anwendungskompatibilität in Windows Vista

Veröffentlicht: 30. Nov 2006

Das Feature-Team für Anwendungskompatibilität kann Anwendungskompatibilitätsprobleme in Windows Vista mithilfe von ACT 5 bewerten und beheben. Wie in früheren Versionen von ACT stehen Tools zum Erfassen von Anwendungs- und Hardwarebeständen, zum Analysieren von Kompatibilitätsdaten und zum Bereitstellen von Anwendungsschutzpaketen zur Verfügung. ACT 5 wird zentral vom Application Compatibility Manager aus verwaltet. Das aktualisierte Agent Framework liefert zusätzliche Auswertungsfunktionen speziell für Windows Vista.

Geben Sie nach dem Sammeln und Analysieren der Kompatibilitätsinformationen für das Unternehmen diese Informationen mithilfe von Online Compatibility Exchange zur gemeinsamen Verwendung durch andere IT-Experten frei, und profitieren Sie im Gegenzug von deren Informationen. Durch die gemeinsame Verwendung von Kompatibilitätsinformationen kann der erforderliche Zeitaufwand zum Testen von Anwendungen in großen Umgebungen erheblich verringert werden.

Weitere Informationen zu ACT 5 finden Sie im Artikel zur Windows-Anwendungskompatibilität unter http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx (auf Englisch).

Auf dieser Seite

Testen der grundlegenden Kompatibilität in Windows Vista Testen der grundlegenden Kompatibilität in Windows Vista
Kompatibilitätsprobleme Kompatibilitätsprobleme

Testen der grundlegenden Kompatibilität in Windows Vista

In diesem Abschnitt erhalten Sie eine Anleitung zum Testen und Bewerten der Kompatibilität einer Anwendung unter Windows Vista. Bei diesem einfachen Anwendungstest gibt es zwei Testszenarios: das Testen unter Verwendung einer Neuinstallation von Windows Vista und das Testen unter Verwendung einer Windows Vista-Installation, die auf einer Aktualisierung von Windows XP SP2 basiert.

Testen von Anwendungen unter einer Neuinstallation von Windows Vista

Bei diesem Szenario wird davon ausgegangen, dass Windows Vista auf einem neu formatierten Computer installiert wurde. Bei dieser Art der Installation werden schnell Anwendungskompatibilitätsprobleme sichtbar, die durch veraltete Komponenten oder bestimmte Versionsänderungen im Betriebssystem entstehen.

  • Normale Installation. Installieren Sie die Anwendung auf einem Testcomputer, auf dem Windows Vista ausgeführt wird. Wenn Sie aufgefordert werden, die Installation der Anwendung zu genehmigen, klicken Sie auf Permit (Genehmigen), und setzen Sie die Installation fort. Wenn die Anwendung diesen Schritt ohne Probleme abschließt, fahren Sie mit der Funktionalitätsprüfung fort.

  • Erweiterte Installation. Wenn die Anwendungsinstallation fehlschlägt und keine Aufforderung zur Installationsgenehmigung angezeigt wird, klicken Sie mit der rechten Maustaste auf die ausführbare Datei des Installationsprogramms, und klicken Sie dann auf Run this program as administrator (Dieses Programm als Administrator ausführen). Versuchen Sie erneut, das Programm zu installieren.

  • Kompatibilitätsschicht. Wenn Fehler angezeigt werden und die Anwendungsinstallation nicht fortgesetzt werden kann, klicken Sie mit der rechten Maustaste auf die ausführbare Datei des Installationsprogramms, klicken Sie auf die Registerkarte Compatibility (Kompatibilität), und wählen Sie dann den Kompatibilitätsmodus für Windows XP SP2 aus. Führen Sie den Test erneut durch. Wenn die Installation der Anwendung weiterhin fehlschlägt, kann die Anwendung als nicht kompatibel angesehen werden. Erkundigen Sie sich beim Hersteller nach einem Update.

Fahren Sie nach der Installation der Anwendung und der Behebung von Setupproblemen mit dem Testen der Anwendungsfunktionalität fort:

  • Starten Sie die Anwendung. Wenn die Anwendung nicht ordnungsgemäß gestartet wird oder wenn Fehler angezeigt werden, wenden Sie den Kompatibilitätsmodus für Windows XP SP2 auf die ausführbare Datei der Anwendung an, und versuchen Sie es erneut.

  • Führen Sie die Funktionalitätsprüfung durch. Wenn die Anwendung erfolgreich gestartet wird, führen Sie die gesamte Testreihe aus, die normalerweise zum Testen der Anwendung unter Windows XP verwendet wird. Überprüfen Sie die Anwendungsfunktionalität, und bestätigen Sie dann, dass die Anwendung ordnungsgemäß ausgeführt wird.

Wenn diese Schritte fehlschlagen, haben sich die Änderungen in Windows Vista auf die Anwendung ausgewirkt. Erkundigen Sie sich beim Anwendungshersteller, ob Updates für das Programm verfügbar sind oder ob es eine aktualisierte Version gibt, die mit Windows Vista funktioniert.

Testen von Anwendungen unter Windows Vista (Aktualisierung von Windows XP SP2)

Bei diesem Szenario wird davon ausgegangen, dass Windows Vista als Aktualisierung von Windows XP SP2 installiert wurde. In diesem Szenario befinden sich die Unterstützungsdateien, die die normale Ausführung der Anwendung ermöglichen, gegebenenfalls noch an der richtigen Stelle auf der Festplatte des Computers, während bei der Neuinstallation diese älteren Unterstützungsdateien nicht vorhanden sind. Testen Sie Anwendungen in beiden Szenarios, um die Anwendungen zu ermitteln, bei denen das Fehlen der Unterstützungsdateien bei einer Neuinstallation von Windows Vista Auswirkungen auf die Ausführung der Anwendung hat.

  • Installieren Sie Windows XP SP2 auf einem Testcomputer, und installieren Sie dann die Anwendung. Überprüfen Sie, ob alle Funktionen der Anwendung ordnungsgemäß funktionieren, bevor Sie das Verfahren fortsetzen.

  • Aktualisieren Sie den Testcomputer auf Windows Vista.

  • Starten Sie die Anwendung. Wenn die Anwendung nicht ordnungsgemäß gestartet wird oder wenn Fehler angezeigt werden, wenden Sie den Kompatibilitätsmodus für Windows XP SP2 auf die Anwendung an, und starten Sie das Programm neu.

  • Wenn die Anwendung erfolgreich gestartet wird, führen Sie die gesamte Testreihe aus, die normalerweise zum Testen der Anwendung unter Windows XP verwendet wird. Überprüfen Sie die Anwendungsfunktionalität, und bestätigen Sie dann, dass die Anwendung ordnungsgemäß ausgeführt wird.

Wenn diese Schritte fehlschlagen, haben sich die Änderungen in Windows Vista auf die Anwendung ausgewirkt. Erkundigen Sie sich beim Anwendungshersteller, ob Updates für das Programm verfügbar sind oder ob es eine aktualisierte Version gibt, die mit Windows Vista funktioniert.

Kompatibilitätsprobleme

Anwendungskompatibilitätsprobleme, die speziell für Windows Vista gelten, können oft einem der folgenden Bereiche zugeordnet werden:

  • Windows Vista-Benutzerkontensteuerung (User Account Control, UAC)

  • Windows-Ressourcenschutz (Windows Resource Protection, WRP)

  • Änderungen an der x64-Plattform

  • Veraltete Komponenten

Benutzerkontensteuerung

Die Benutzerkontensteuerung beschränkt die Rechte und Berechtigungen für Benutzerkonten in Windows Vista. Standardmäßig wird sogar von Administratoren eine Genehmigung angefordert, bevor Aufgaben durchgeführt werden, die die Sicherheit des Computers beeinträchtigen können. Die Benutzerkontensteuerung hat keine Auswirkung auf die normale Anwendungsverwendung, kann sich jedoch auf Anwendungen auswirken, bei denen zur Installation oder zur Aktualisierung Administratorrechte erforderlich sind.

Windows Vista versucht, Aktualisierungsprozesse für installierte Anwendungen zu erkennen. Wenn es das Aktualisierungsprogramm richtig erkennt, kann es den Benutzerprozess automatisch erweitern und die Aktualisierung durchführen, ohne dem Benutzer eine entsprechende Aufforderung anzuzeigen. Im Falle von Anwendungen, für deren Installation oder Aktualisierung Administratorzugriff erforderlich ist, wird der Benutzer standardmäßig zur Eingabe von Anmeldeinformationen aufgefordert, bevor der Prozess erweitert wird.

Da die Begrenzung von Benutzerberechtigungen ein Hauptgrundsatz der Computer- und Netzwerksicherheit ist, empfiehlt es sich, den Einsatz von Anwendungen zu vermeiden, für deren Ausführung Administratorzugriff erforderlich ist, sofern sie nicht für Verwaltungsfunktionen benötigt werden. Zeigen Sie die Option zur Erweiterung des Benutzerprozesses an, und führen Sie die Anwendung als Administrator aus. Die sollte jedoch nur als Problemumgehung und nicht als dauerhafte Lösung eingesetzt werden.

Die meisten UAC-Kompatibilitätsprobleme treten entweder während des anfänglichen Setups oder bei der Aktualisierung der Anwendung auf. Windows Vista kann viele Arten von Anwendungsaktualisierungsprogrammen erkennen, hat aber möglicherweise Schwierigkeiten beim Erkennen folgender Phänomene:

  • Out-of-Process-Aktualisierungsprogramme. Aktualisierungsprogramme, die außerhalb des Hauptanwendungsprozesses ausgeführt werden.

  • Überlastete ausführbare Dateien. Ausführbare Dateien der Anwendung, die sowohl das Hauptprogramm als auch das Aktualisierungsprogramm in einer einzelnen binären ausführbaren Datei enthalten.

Weitere Informationen zur Lösung von UAC-Kompatibilitätsproblemen in Windows Vista finden Sie im Artikel zur Funktionsweise und zum Konfigurieren der Benutzerkontensteuerung in Windows Vista unter http://www.microsoft.com/technet/windowsvista/library/00d04415-2b2f-422c-b70e-b18ff918c281.mspx (auf Englisch).

Windows-Ressourcenschutz

WRP beschränkt den Zugriff auf kritische Betriebssystemdateien und Registrierungsschlüssel. Aktualisierungen an geschützten Ressourcen sind auf vertrauenswürdige Installationsprogramme wie z. B. Windows-Wartung beschränkt. WRP schützt Windows Vista vor Anwendungen oder Benutzern, die versuchen, kritische Dateien oder Einstellungen zu ersetzen.

Der Versuch, geschützte Ressourcen zu ersetzen oder zu verändern, kann folgende Auswirkungen haben:

  • Für Anwendungsinstallationsprogramme und Aktualisierungsprogramme, die versuchen, auf geschützte Ressourcen zuzugreifen, wird eine Fehlermeldung angezeigt, dass die Ressource nicht aktualisiert werden konnte.

  • Beim Versuch, neue Registrierungsschlüssel oder neue Werte für geschützte Registrierungsschlüssel zu schreiben, wird eine Fehlermeldung angezeigt, dass der Zugriff verweigert wurde.

Änderungen an der x64-Plattform

Die x64-Editionen von Windows Vista bieten umfassende Unterstützung für 64-Bit-Prozessoren von AMD und Intel. Die 64-Bit-Version von Windows Vista kann alle 32-Bit-Anwendungen mithilfe des WOW64-Emulators ausführen. 16-Bit-Anwendungen und unsignierte 32-Bit-Kernelmodustreiber werden jedoch nicht unterstützt.

Obwohl die meisten 32-Bit-Anwendungen unter 64-Bit-Editionen von Windows Vista ausgeführt werden können, treten bei einigen möglicherweise Probleme auf:

  • Für die 64-Bit-Editionen von Windows Vista ist erforderlich, dass alle 64-Bit-Treiber digital signiert werden. Unsignierte Treiber werden nicht unterstützt und lassen sich unter 64-Bit-Windows Vista nicht installieren.

  • Ordnerpfadänderungen umfassen separate Ordner „Programme“ für 32-Bit- und 64-Bit-Anwendungen.

Veraltete Komponenten

Jedes neue Betriebssystem integriert neue Funktionen und entfernt oder verwirftgelegentlich alte Komponenten. Anwendungen, die von solchen nicht mehr vorhandenen Komponenten abhängen, können möglicherweise nicht ausgeführt werden, oder bestimmte Anwendungsfunktionen können nicht mehr verwendet werden. Dieses Kompatibilitätsproblem reicht von Änderungen bei API-Aufrufen bis hin zu Supportkomponenten, die aus dem Betriebssystem entfernt werden.

Zu den Änderungen, die höchstwahrscheinlich eine Auswirkung auf vorhandene Anwendungen haben, gehören folgende:

  • Druckertreiber können nicht mehr im Kernelmodus geladen werden. In Windows Vista müssen alle Druckertreiber dem Benutzermodus-Treiberframework (User-Mode Driver Framework, UMDF) entsprechen. Weitere Informationen finden Sie in der Einführung zu UMDF unter http://msdn.microsoft.com/library/default.asp?url=/library/en-us/umdf_d/hh/UMDF_d/umdfobjectdg_6a21eab3-a7eb-4aa8-b517-578024932e26.xml.asp (auf Englisch).

  • Dienste für Macintosh sind in Windows Vista nicht enthalten.

  • Direct3D Retained Mode (D3DRM) ist in Windows Vista nicht enthalten.

  • Windows Vista stellt keine Network Dynamic Data Exchange (NetDDE)-Unterstützung für Anwendungen bereit. Verwenden Sie (sofern möglich) als Problemumgehung eine Netzwerkkommunikationstechnologie wie DCOM oder Windows Communication Foundation (WCF).

  • Microsoft Office Frontpage®-Servererweiterungen sind in Windows Vista nicht enthalten.

Hilfe- und Supportcenter

Das für Windows XP und Windows Server 2003 entwickelte Hilfe- und Supportcenter (HelpCtr.exe) zeigte kompilierte Hilfedateien mit der Dateinamenerweiterung „.chm“ an. Das Hilfe- und Supportcenter ist in Windows Vista nicht enthalten, und seine Funktionen werden nicht unterstützt. Kompilierte Hilfedateien (CHM-Dateien) können in Windows Vista angezeigt werden, wenn sie direkt und nicht über das Hilfe- und Supportcenter geöffnet werden.

Assistance Platform Client

Der Assistance Platform Client (HelpPane.exe) ist ein neues, für Windows Vista entwickeltes Hilfemodul. Es ist mit keiner früheren Version von Windows kompatibel. Der Assistance Platform Client ist erforderlich, um Hilfedateien mit der Dateinamenerweiterung „.h1s“ anzuzeigen.

In Windows Vista können OEMs, Systembuilder und Unternehmenskunden unter Lizenzvereinbarung mit Microsoft den Assistance Platform Client anpassen. Nicht von Microsoft stammende Programme können den Client jedoch nicht verwenden. Weitere Informationen zur Anpassung des Assistance Platform Client finden Sie im Windows-SDK.

Windows Vista Display Driver Model

Windows Vista setzt ein neues Treibermodell für Anzeigegeräte ein. Das Windows Vista Display Driver Model (WVDDM) bietet Support für Funktionen einschließlich der neuen „Glas“-Schnittstelle, der Möglichkeit, Videotreiber zu ändern, ohne den Computer neu zu starten, sowie der dynamischen Wiederherstellung der Absturzbedingungen des Grafikprozessors.

Die meisten Anwendungen sollten mit WVDDM völligständig kompatibel sein. Bei einigen älteren Anwendungen können jedoch in den folgenden Bereichen Kompatibilitätsprobleme auftreten:

  • Die Microsoft DirectX®-Spielkompatibilität wird möglicherweise beeinträchtigt, wenn Spiele eine Funktionalität erwarten, die nicht mehr unterstützt wird.

  • Mobile Funktionen wie Hotkey, CloneView, Helligkeit und Zoom funktionieren möglicherweise nicht richtig.

  • Für Windows XP entwickelte Eingabehilfen, insbesondere Bildschirmvergrößerungs-Dienstprogramme, funktionieren möglicherweise in Windows Vista nicht.

Safe Exception Handling (Sichere Ausnahmebehandlung)

Viele ältere Anwendungen verwendeten Funktionen wie IsBadReadPtr und IsBadWritePtr, um Aufrufparameter zu überprüfen. Diese Funktionen werden in Windows Vista nicht unterstützt. Anwendungen, die diese Funktionen benötigen, um Parameter zu überprüfen, können nicht ausgeführt werden.

Die bevorzugte Methode, Safe Exception Handling (SEH) bereitzustellen, besteht in der Bereitstellung geeigneter Fehlerprüfroutinen in der Anwendung selbst, statt sich auf die Bearbeitung von Anwendungsausnahmen durch Windows zu verlassen.

Fast User Switching (Schneller Benutzerwechsel)

Fast User Switching (FUS) ist in allen Versionen von Windows Vista verfügbar, auch auf Computern, die Mitglieder einer Domäne sind. Die Anwendungen müssen mehrere Benutzersitzungen und Terminalserverszenarios behandeln können. Weitere Informationen über FUS finden Sie in „Microsoft Windows XP Fast User Switching: Design Guide for Building Business Applications” unter http://go.microsoft.com/fwlink/?LinkId=62693 (auf Englisch).

Codeänderungen bei CriticalSection

Die Funktionsweise des CriticalSection-Codes wurde in Windows Vista geändert. Anwendungen mit Sperren für kritische Abschnitte

  • müssen kritische Abschnitte immer initialisieren

  • dürfen nicht in nicht dokumentierten Objekten lesen, um nach nicht initialisierten und freigegeben kritischen Abschnitten zu suchen

  • müssen das „Aushungern“ von Threads verhindern Anwendungen, die den Ruhezustand aufrufen, während sie kritische Abschnitte gesperrt halten, können andere Threads, die die Sperre benötigen, blockieren. Um diese Situation zu verhindern, rufen Sie LeaveCriticalSection auf, bevor Sie den Ruhezustand aufrufen.

Weitere Informationen finden Sie im Artikel zu kritischen Abschnitten unter http://go.microsoft.com/fwlink/?LinkId=62692 (auf Englisch).

Anzeigen: