Die Umgehung von global aktualisierten parallelen Assemblies macht Anwendungen möglicherweise für Probleme anfällig, die durch ein Microsoft Software-Update behoben wurden

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 835322 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
835322 Applications that bypass globally serviced side-by-side assemblies may be vulnerable to issues that are fixed by a Microsoft software update
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Einführung

Auf Microsoft Windows Server 2003-Computern können Administratoren für eine bestimmte Anwendung alle global aktualisierten parallelen Assemblies umgehen. Auf Microsoft Windows XP-Computern können Software-Entwickler und Administratoren für eine bestimmte Anwendung alle global aktualisierten parallelen Assemblies umgehen. Diese Umgehungsfunktion kann die jeweilige Anwendung jedoch für Probleme anfällig machen, die ansonsten mit der Installation eines globalen Microsoft Software-Updates behoben wären. Microsoft empfiehlt Software-Entwicklern und Administratoren daher dringend, dieses Feature nicht zu verwenden.

Es wird davon abgeraten, parallele Assembies zu verwenden, die mit der DLL/COM-Umleitung in Windows gemischt werden. Details hierzu finden Sie im Abschnitt "Weitere Informationen".

Weitere Informationen

Eine parallele Assembly enthält eine Zusammenstellung von Ressourcen, zu der beispielsweise eine oder mehrere DLL-Dateien, Windows-Klassen, COM-Server, Typenbibliotheken oder Schnittstellen gehören können. Diese Ressourcen werden Anwendungen immer zusammen bereitgestellt. Eine parallele Assembly wird durch ein XML-Anwendungsmanifest ausgewählt, das an einem der folgenden Orte zu finden ist:
  • Einer Ressource in der ausführbaren Datei einer Anwendung.
  • Einer Datei mit der Dateiendung ".exe.manifest", die im selben Ordner installiert ist wie die ausführbare Datei der Anwendung.
  • Einer Einstellung in der Microsoft-Anwendungskompatibilitätsdatenbank. Wird durch die Microsoft-Anwendungskompatibilitätsdatenbank ein Anwendungsmanifest bereitgestellt, hat dieses Manifest Vorrang vor den durch die Anwendung bereitgestellten Vorgaben.
Nach erfolgter Bereitstellung können Software-Entwickler oder Administratoren die Assembly-Konfiguration pro einzelner Anwendungskonfiguration mithilfe einer Anwendungskonfigurationsdatei aktualisieren. Eine Anwendungskonfigurationsdatei erkennt man an der Dateiendung ".exe.config" und daran, dass sie im selben Ordner wie die ausführbare Datei der Anwendung liegt. Mithilfe einer Anwendungskonfigurationsdatei kann man festlegen, dass eine bestimmte Anwendung eine andere Version derselben parallelen Assembly verwendet, ohne dass dabei die Anwendung neu kompiliert wird. Beispielsweise kann ein Administrator oder Entwickler eine einzelne Anwendung dahin gehend aktualisieren, dass diese eine neuere parallele Assembly verwendet, die nicht mithilfe einer Herausgeberrichtlinie für alle Anwendungen verpflichtend festgelegt wurde. Anstelle der älteren Versionen der Assembly gilt dann für die jeweilige Anwendung die neuere parallele Assembly.

Zusätzlich kann ein Administrator (bei Windows Server 2003 und Windows XP) oder ein Software-Entwickler (bei Windows XP) für eine bestimmte Anwendung alle global aktualisierten parallelen Assemblies umgehen, anstatt die global aktualisierte Assembly für alle Anwendungen zu entfernen. Hierzu kann der Administrator die Anwendungskonfigurationsdatei dahin gehend aktualisieren, dass diese das Element <publisherPolicy apply="no"/> enthält.

Um zu ermitteln, ob über eine Anwendungskonfigurationsdatei global aktualisierte parallele Assemblies für eine bestimmte Anwendung auf einem Windows XP-Computer umgangen werden, suchen Sie in der CONFIG-Datei mit demselben Dateinamen wie der ausführbaren Datei der Anwendung nach dem Element <publisherPolicy apply="no"/>. Suchen Sie beispielsweise in der Datei "Anwendung.exe.config" nach dem Element <publisherPolicy apply="no"/>, um zu ermitteln, ob für eine Anwendung mit der ausführbaren Datei "Anwendung.exe" global aktualisierte Assemblies umgangen werden. Die Datei "Anwendung.exe.config" ist am selben Ort wie das Anwendungsmanifest der Anwendung installiert.

Über diese Funktion können Software-Entwickler und Administratoren ein Microsoft Software-Update gezielt für eine bestimmte Anwendung deaktivieren, die mit dem Software-Update nicht richtig funktioniert. (Der Software-Entwickler oder Administrator muss somit nicht das Software-Update für alle Anwendungen entfernen.) Allerdings kann eine Anwendung, für die eine solche Umgehung festgelegt wurde, für Probleme anfällig sein, die durch das Software-Update behoben wurden.

Hinweis: Für diese Umgehung muss auf Windows Server 2003-Computern ein entsprechender Eintrag in der Microsoft-Anwendungskompatibilitätsdatenbank gemacht werden. Diese Einstellung kann lediglich durch Administratoren oder durch Microsoft in einem Software-Update eingebracht werden.

Es gibt noch zusätzliche Möglichkeiten, wie ein Anwendungsersteller oder eine Person mit Änderungszugriff auf das Anwendungsverzeichnis das globale Update umgehen kann.

Achtung bei der Verwendung der DLL/COM-Umleitung in Windows

Bei diesem Verfahren muss mit der Anwendung eine LOCAL-Datei bereitgestellt werden. Durch diese Vorgabe werden Anwendungskonflikte reduziert.

Hinweis: Die LOCAL-Datei veranlasst das System, anstelle der globalen DLL (bei der es sich um ein wichtiges Service-Update handeln kann) die Kopie der DLL im Anwendungsordner zu verwenden. Wir empfehlen Software-Entwicklern und Administratoren daher, diese Funktion mit der entsprechenden Vorsicht oder aber gar nicht einzusetzen, wenn die Anwendung eine parallele Assembly verwendet.

Weitere Informationen zur DLL/COM-Umleitung in Windows finden Sie auf der folgenden Website von Microsoft:
http://msdn2.microsoft.com/en-us/library/aa375142.aspx


Empfohlene Praktiken für Software-Entwickler, die mit parallelen Assemblies arbeiten
  • Liefern Sie Ihre Anwendung mit einem Anwendungsmanifest aus, in dem die Version der parallelen Assembly aufgeführt ist, mit der die Anwendung erstellt oder getestet wurde.
  • Stellen Sie die Manifest-Datei der parallelen Assembly immer mit den parallelen DLLs bereit, auch dann, wenn die Bereitstellung im Anwendungsordner erfolgen sollte.
  • Sollte die Anwendung auf einem Computer mit Microsoft Windows 2000 oder einer älteren Version von Windows installiert werden, liefern Sie für diese Betriebssysteme die parallele Assembly nicht im Anwendungsverzeichnis aus. Stattdessen sollte in diesem Fall auf die parallelen Assemblies vom Systemordner zugegriffen werden.
  • Arbeiten Sie nicht mit der LOCAL-Funktion (auch als DLL/COM-Umleitung in Windows bezeichnet).
  • Führen Sie die LoadLibrary-Funktion auf den DLLs der parallelen Assemblies nicht mit einem expliziten vollständigen Pfad aus. Arbeiten Sie stattdessen mit einer statischen Verknüpfung oder verwenden Sie die LoadLibrary-Funktion mit dem DLL-Dateinamen. So können Sie als Dateinamen beispielsweise ?Gdiplus.dll? verwenden.
Weitere Informationen finden Sie auf folgender Website von Microsoft:
http://msdn2.microsoft.com/en-us/library/ms997620.aspx

Informationsquellen

Weitere Informationen zu isolierten Anwendungen und parallelen Assemblies finden Sie auf der folgenden Microsoft-Website:
http://msdn2.microsoft.com/en-us/library/aa375193.aspx
Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:
824684 Erläuterung von Standardbegriffen bei Microsoft Software Updates

Eigenschaften

Artikel-ID: 835322 - Geändert am: Samstag, 1. Dezember 2007 - Version: 4.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional x64 Edition
Keywords: 
kbinfo kbtshoot kbsecurity kbprb KB835322
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com