Installieren mehrerer Windows-Updates oder Hotfixes mit nur einem Neustart

Zusammenfassung

In diesem Artikel wird beschrieben, wie Sie mehrere Windows-Produktupdates (z. B. wichtige Updates, Sicherheitspatches oder Hotfixes), die Hotfix.exe (Microsoft Windows NT 4.0) oder Update.exe (Microsoft Windows 2000, Microsoft Windows XP oder Microsoft Windows Server 2003) verwenden, mit nur einem Neustart installieren. Dieser Artikel richtet sich an Administratoren und IT-Experten. Sie können Windows-Produktupdates installieren, die Hotfix.exe oder Update.exe verwenden, entweder allein oder in Kombination mit Windows (mit oder ohne Service Pack).

Hinweis: Das in diesem Artikel beschriebene Verfahren funktioniert nicht für Produktupdates, die nicht Hotfix.exe oder Update.exe als Installationsprogramm verwenden. Beispielsweise verwenden Internet Explorer-Updates für Windows NT 4.0, Windows 2000 und Windows XP eine INF-basierte Installation anstelle von Update.exe. Daher können Sie mit diesem Verfahren nicht mehrere Microsoft Internet Explorer-Updates mit nur einem Neustart unter Windows NT 4.0, Windows 2000 oder Windows XP installieren. Da Internet Explorer-Updates für Windows Server 2003 Update.exe als Installationsprogramm verwenden, können Sie sie mit diesem Verfahren installieren.

Weitere Informationen zu diesen Themen finden Sie auf den folgenden Microsoft-Websites:

Windows 2000

Installations- und Bereitstellungshandbuch für Microsoft Windows 2000-Hotfixes
http://technet.microsoft.com/en-us/library/cc750542.aspx Windows XP

Anleitung zum Installieren und Bereitstellen von Updates für Microsoft Windows XP Service Pack 2
http://technet.microsoft.com/en-us/library/bb457071.aspx Windows Server 2003 und Windows XP Professional x64 Edition

Leitfaden zum Installieren und Bereitstellen von Updates für Microsoft Windows Server 2003 und Windows XP 64-Bit-Edition, Version 2003
http://technet.microsoft.com/en-us/library/cc700814.aspx Windows Server 2003 Service Pack 1

Microsoft Windows Server 2003 Service Pack 1 Installieren und Bereitstellen von Updates
http://technet2.microsoft.com/windowsserver/en/library/0e02a953-aca7-4dad-b3e2-c94ea72bbc3d1033.mspx

Weitere Informationen

Ein Windows-Produktupdate (z. B. ein wichtiges Update, ein Sicherheitspatch oder ein Hotfix) ist eine ausführbare Datei (.exe-Datei), die eine oder mehrere Systemdateien enthält, die Sie auf Windows anwenden können, um ein bestimmtes Problem zu beheben. Microsoft-Produktsupport verteilt Hotfixes an Kunden, die von einem bestimmten Problem stark betroffen sind. Kritische Updates und Sicherheitspatches sind Updates, die Microsoft allen Kunden empfiehlt. Sie können wichtige Updates und Sicherheitspatches von der Windows Update-Website, der Microsoft Update-Website, dem Microsoft Download Center oder von anderen Microsoft-Websites beziehen.

Updates für Windows XP x64 Edition und Updates für Windows Server 2003 oder Updates für Windows XP und Windows 2000, die nach Dezember 2002 erstellt wurden

Hinweis: Um festzustellen, wann ein Update erstellt wurde, zeigen Sie das Änderungsdatum auf dem Update.exe oder Hotfix.exe Installationsprogramm im Updatepaket an.

Um ein Windows-Produktupdate auf einem einzelnen Computer zu installieren, führen Sie das Produktupdateprogramm auf dem Computer aus, den Sie aktualisieren möchten. Um mehrere Produktupdates zu installieren, ohne den Computer zwischen den einzelnen Installationen neu zu starten, verwenden Sie den Schalter /z.

Befehlszeilenoptionen für das Update.exe Programm

In der folgenden Tabelle sind die vom Update.exe Programm unterstützten Befehlszeilenoptionen (oder Switches) aufgeführt:Switch-Beschreibung


 /f Erzwingt, dass andere Programme beim Herunterfahren beendet werden. /n Sichert keine Dateien zum Entfernen von Hotfixes. /z Startet den Computer nach Abschluss der Installation nicht neu.
  Abgeschlossen. /q Verwendet den stillen Modus; Es ist keine Benutzerinteraktion erforderlich. /m Verwendet den unbeaufsichtigten Setupmodus (Windows 2000). /u Verwendet den unbeaufsichtigten Setupmodus (Windows XP). /l Listet installierte Hotfixes auf. Das folgende Codebeispiel ist eine Batchdatei, die mehrere Produktupdates installiert und sicherstellt, dass die richtigen Dateien nach dem Neustart des Computers ersetzt werden.

@echo off
setlocal
set PATHTOFIXES=E:\hotfix

%PATHTOFIXES%\Q123456_w2k_sp4_x86.exe /Z /M
%PATHTOFIXES%\Q123321_w2k_sp4_x86.exe /Z /M
%PATHTOFIXES%\Q123789_w2k_sp4_x86.exe /Z /M

HinweisQChain.exe Funktionalität in allen Produktupdates für Windows XP x64, Windows Server 2003, Windows XP und Windows 2000 enthalten ist, die Update.exe verwenden und die seit dem 18. Mai 2001 veröffentlicht wurden. Es besteht jedoch ein Problem bei Produktupdates, die vor Dezember 2002 veröffentlicht wurden und unter bestimmten Umständen möglicherweise eine falsche Binärdatei auf Ihren Computer anwenden. Im März 2003 hat Microsoft eine aktualisierte Version von QChain.exe veröffentlicht, um dieses Problem zu beheben.
  Um weitere Informationen zu diesem Problem zu erhalten oder um das aktualisierte Qchain.exe Tool zu erhalten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

815062 Beim Verketten mehrerer Hotfixes wird nicht die richtige Datei installiert.

Alle Windows NT 4.0-Updates oder Windows XP- und Windows 2000-Updates, die vor Dezember 2002 erstellt wurden

Hinweis: Um festzustellen, wann ein Produktupdate erstellt wurde, überprüfen Sie das Änderungsdatum auf dem Update.exe oder Hotfix.exe Installationsprogramm im Updatepaket.

Microsoft hat ein Befehlszeilentool mit dem Namen QChain.exe veröffentlicht. Mit QChain.exe können Systemadministratoren Updates miteinander verknüpfen. Wenn Sie Updates in Reihe schalten, installieren Sie mehrere Updates, ohne den Computer zwischen den einzelnen Installationen neu zu starten. Ohne dieses Tool wird nur der Neustart des Computers nach jeder Updateinstallation unterstützt. Das QChain.exe Tool bietet folgende Vorteile:

  • Dies erhöht die Betriebszeit für Server, da die Computer zwischen den einzelnen Updateinstallationen nicht neu gestartet werden.
  • Es ermöglicht die schnellere Installation mehrerer Updates auf einem einzigen Computer.
  • Er funktioniert sowohl unter Windows 2000 als auch unter Windows NT 4.0.

Beachten Sie, dass QChain.exe Funktionalität in allen Updates für Windows XP und Windows 2000 enthalten ist, die seit dem 18. Mai 2001 veröffentlicht wurden. Es gibt jedoch ein Problem bei Updates, die vor Dezember 2002 veröffentlicht wurden, das dazu führen kann, dass unter bestimmten Umständen eine falsche Binärdatei auf Ihrem Computer platziert wird. Im März 2003 hat Microsoft eine aktualisierte Version von QChain.exe veröffentlicht, um dieses Problem zu beheben.
 Um weitere Informationen zu diesem Problem zu erhalten oder um das aktualisierte Qchain.exe-Tool zu beziehen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

815062 Beim Verketten mehrerer Hotfixes wird nicht die richtige Datei installiert.

Das Verketten von Updateinstallationen ohne QChain.exe ist nicht sicher

Wenn Sie Updates installieren, kann eine Datei, die gesperrt oder in Gebrauch ist, nicht ersetzt werden. Daher wird die Datei in die Warteschlange Umbenennen ausstehender Dateien gestellt und nach dem Neustart des Computers ersetzt. Das Problem tritt im folgenden Szenario auf:

  • Sie installieren die Updates A und B, ohne den Computer zwischen den Installationen neu zu starten.
  • Beide Pakete enthalten Datei X. Die Datei X von Paket A ist Version 3; Datei X von Paket B ist Version 2. Die Version von Datei X auf dem Computer ist Version 1.
  • Wenn Paket A installiert ist, wird die Version von Datei X in die Warteschlange "Ausstehende Dateiumbenennung" gestellt.
  • Wenn Paket B installiert ist, wird die Version von Datei X in die Warteschlange "Ausstehende Dateiumbenennung" gestellt.
  • Wenn der Computer neu gestartet wird, wird die Version von Datei X installiert, da Paket B zuletzt installiert wurde (in der Warteschlange "Ausstehende Dateiumbenennung" wird die letzte Datei verwendet). Infolgedessen wird Version 2 anstelle von Version 3 installiert, wie Sie erwartet haben.

Wenn zuvor verkettete Updates ohne Neustart installiert werden

Obwohl dieses Szenario selten vorkommt, empfiehlt es sich zu überprüfen, ob auf Ihrem Computer alle Fixes installiert sind, von denen Sie glauben, dass sie installiert sind. Verwenden Sie dazu das Tool Qfecheck.exe.
 Weitere Informationen zu Qfecheck.exe finden Sie im folgenden Artikel der Microsoft Knowledge Base:

282784 Qfecheck.exe überprüft die Installation von Windows 2000- und Windows XP-Hotfixes

 QChain.exe bereinigt den Schlüssel "Ausstehende Dateiumbenennungsvorgänge" in der Registrierung, um sicherzustellen, dass nach dem Neustart des Computers nur die neueste Version einer Datei installiert wird.

So installieren Sie mehrere Updates mit nur einem Neustart

  1. Führen Sie das Updateinstallationsprogramm mit der Befehlszeilenoption "-z" aus, um das Installationsprogramm anzuweisen, nach der Installation nicht neu zu starten. Fügen Sie den Schalter -m (für den stillen Modus) hinzu, wenn Sie nicht möchten, dass während der Installation Eingabeaufforderungen oder Meldungen angezeigt werden.

     Das Update-Installationsprogramm ist eines der folgenden Programme:

    • Die selbstextrahierende Paketprogrammdatei (zum Beispiel Qnnnnnn_w2k_spx_x86_en.exe).
    • Hotfix.exe (wenn Sie alle Dateien aus dem Paket extrahiert haben).
  2. Führen Sie QChain.exe aus, nachdem Sie alle Hotfixes installiert haben.

  3. Starten Sie den Computer neu.

Sie können dazu auch eine Batchdatei erstellen. In der folgenden Beispielbatchdatei wird diese Methode veranschaulicht:

@echo off
setlocal
set PATHTOFIXES=some path%PATHTOFIXES%\Q123456_w2k_sp2_x86.exe -z -m
%PATHTOFIXES%\Q123321_w2k_sp2_x86.exe -z -m
%PATHTOFIXES%\Q123789_w2k_sp2_x86.exe -z -m
%PATHTOFIXES%\qchain.exe

So erhalten Sie QChain.exe

QChain.exe Funktionalität ist in allen Updates für Windows XP und Windows 2000 enthalten, die seit dem 18. Mai 2001 veröffentlicht wurden. Es gibt jedoch ein Problem bei Updates, die vor Dezember 2002 veröffentlicht wurden, das dazu führen kann, dass unter bestimmten Umständen eine falsche Binärdatei auf Ihrem Computer platziert wird. Im März 2003 hat Microsoft eine aktualisierte Version von QChain.exe veröffentlicht, um dieses Problem zu beheben.
 Um weitere Informationen zu diesem Problem zu erhalten oder um das aktualisierte Qchain.exe-Tool zu beziehen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

815062 Beim Verketten mehrerer Hotfixes wird nicht die richtige Datei installiert.

Die Syntax des QChain.exe Befehls

qchain [LogFileName]
 Der optionale Parameter [logfilename] erstellt eine Datei mit einer Vorher-Nachher-Momentaufnahme des Schlüssels "Ausstehende Dateiumbenennungsvorgänge".

Beispiel QChain.exe Ausgabe

---- alte Informationen in der Registrierung ------
Source:C:\WINNT\inf\acpi.inf
Version: 5.0.2183.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

Source:C:\WINNT\inf\adm_mult.inf
Version: 5.0.2184.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

Source:C:\WINNT\inf\banshee.inf
Version: 5.0.2080.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

---- neuer Informationen in der Registrierung ------
Source:C:\WINNT\inf\adm_mult.inf
Version: 5.0.2184.1
Destination:d:\ntsust\testregchech\1394.inf
Version: 5.0.2183.1

Einschränkungen der QChain.exe

Obwohl QChain mit den meisten Windows NT 4.0- und Windows 2000-Updates funktioniert, funktioniert QChain.exe möglicherweise nicht mit Updates, die Binärdateien enthalten, die im folgenden Registrierungsschlüssel aufgeführt sind:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\KnownDLLs Binärdateien (Binärdateien), die in diesem Registrierungsschlüssel aufgeführt sind, werden beim Start in den Arbeitsspeicher geladen. Wenn das Updateinstallationsprogramm die GetFileVersionInfo-Funktion für eine Binärdatei aus dieser Liste aufruft, bezieht sich das Updateinstallationsprogramm auf die Binärdatei, die bereits geladen ist, und nicht auf die Binärdatei, die tatsächlich am Zielspeicherort vorhanden ist.

Da die Binärdateien, die im Registrierungsschlüssel KnownDLLs aufgeführt sind, beim Start in den Arbeitsspeicher geladen werden, muss das Updateinstallationsprogramm vor dem Neustart des Computers die Zielbinärdatei durch die fixierte Binärdatei ersetzen. Daher erstellt das Updateinstallationsprogramm keinen Umbenennungsvorgang für ausstehende Dateien, um die Binärdatei beim Neustart zu ersetzen. Stattdessen verschiebt das Update die aktuelle Binärdatei an einen temporären Speicherort, platziert die feste Binärdatei an der Stelle, an der sich die aktuelle Binärdatei befand, und erstellt dann einen Umbenennungsvorgang für ausstehende Dateien, um beim Neustart des Computers die aktuelle Binärdatei zu löschen.

 QChain wirkt sich nur auf ausstehende Dateiumbenennungsvorgänge aus, die binäre Ersetzungsvorgänge durchführen. Es tut nichts mit ausstehenden Dateiumbenennungsvorgängen, die Löschvorgänge ausführen.

  Alle Windows NT 4.0- und alle Windows 2000-Updates vor SP2 verwenden GetFileVersionInfo, um die Version einer Datei zu identifizieren. Wenn Sie zwei oder mehr Windows NT 4.0-Updates oder ältere Windows 2000-Updates installieren als SP2 und die Updates sich überschneidende KnownDLLs enthalten, stellt die Verwendung von QChain zum Verketten der Installation dieser Updates nicht sicher, dass der Fix mit der neuesten Version installiert ist.

 Das folgende Szenario zeigt, warum QChain möglicherweise nicht die richtige Binärdatei auf das System setzt:

  • Sie installieren Updatepakete A und B, ohne zwischen Installationen neu zu starten.

  • Beide Pakete enthalten Kernel32.dll, eine Datei, die sich in der Liste der bekannten DLLs befindet. Paket A enthält Kernel32.dll Version 3, Paket B enthält Kernel32.dll Version 2, und auf dem Computer ist Kernel32.dll Version 1 installiert.

  • Wenn Paket A installiert ist, meldet GetFileVersionInfo, dass der Computer über Kernel32.dll Version 1 verfügt. Da Paket A Version 3 enthält, erkennt das Update-Installationsprogramm, dass eine Dateiersetzung erforderlich ist.

    • Das Update-Installationsprogramm verschiebt die Kernel32.dll Version 1 auf dem Computer an einen temporären Speicherort und erstellt einen ausstehenden Dateiumbenennungsvorgang, um die Kernel32.dll Datei beim nächsten Neustart des Computers vom temporären Speicherort zu löschen.
    • Die Kernel32.dll Version 3 von Paket A wird auf den Computer kopiert.
  • Bei der Installation von Paket B meldet GetFileVersionInfo weiterhin, dass Kernel32.dll Version 1 auf dem Computer installiert ist, da GetFileVersionInfo die Versionsinformationen aus dem Kernel32.dll liest, der in den Arbeitsspeicher geladen wird. Paket B weist Version 2 auf. Der Hotfix weist daher darauf hin, dass eine Dateiersetzung erforderlich ist.

    • Das Update-Installationsprogramm verschiebt die Kernel32.dll, die sich derzeit auf dem Computer befindet (Paket A Kernel32.dll Version 3), an einen temporären Speicherort und erstellt einen ausstehenden Dateiumbenennungsvorgang, um die Kernel32.dll (Version 3) beim nächsten Neustart des Computers vom temporären Speicherort zu löschen.

    • Die Kernel32.dll Version 2 von Paket B wird auf den Computer kopiert.

  • QChain läuft, aber es gibt keine ausstehenden Dateiumbenennungsvorgänge für den Dateiersatz und QChain tut daher nichts.

  • Da Paket B zuletzt installiert wurde, befindet sich das Paket B Kernel32.dll Version 2 an der richtigen Stelle auf dem Computer. Daher wird es beim Neustart des Computers in den Arbeitsspeicher geladen. Die ausstehenden Dateiumbenennungsvorgänge löschen sowohl die ursprüngliche Kernel32.dll Version 1 als auch die Kernel32.dll Version 3 von Paket A. Dadurch verfügt der Computer jetzt über Kernel32.dll Version 2 statt Version 3.

Es gibt einen Windows 2000-Fix nach SP2, bei dem "GetFileVersionInfo" nicht mehr für die KnownDLLs verwendet wird, die in den Arbeitsspeicher geladen werden. Stattdessen ordnet das Updateinstallationsprogramm die Datei zu, die tatsächlich am Zielspeicherort vorhanden ist, und ruft dann GetFileVersionInfo für die zugeordnete Datei auf. Daher können Sie Updates nach SP2 für Windows 2000 mithilfe von QChain.exe verketten. Wenn Sie dies tun, wird die neueste Version einer Datei installiert, unabhängig von der Reihenfolge der Updates.

  Wenn Sie das vorherige Szenario wiederholen und Windows 2000-Updates nach SP2 verwenden, ordnet der Hotfix in Paket B die Kernel32.dll von Paket A zu und erkennt Version 3. Version 3 ist höher als die eigene Kernel32.dll Version 2 von Paket B. Daher ersetzt Paket B nicht die Kernel32.dll, die sich auf dem System befindet, und die Version 3 von Paket A Kernel32.dll ist die Version, die der Computer nach dem Neustart des Computers korrekt verwendet.