Meerdere Windows-updates of hotfixes installeren met slechts één herstart

Overzicht

In dit artikel wordt beschreven hoe u meerdere Windows-productupdates (bijvoorbeeld essentiële updates, beveiligingspatches of hotfixes) die gebruikmaken van Hotfix.exe (Microsoft Windows NT 4.0) of Update.exe (Microsoft Windows 2000, Microsoft Windows XP of Microsoft Windows Server 2003) installeert met slechts één herstart. Dit artikel is bedoeld voor beheerders en IT-professionals. U kunt Windows-productupdates die gebruikmaken van Hotfix.exe of Update.exe afzonderlijk of in combinatie met Windows (met of zonder servicepack) installeren.

Opmerking De procedure die in dit artikel wordt beschreven, werkt niet voor productupdates die geen gebruik maken van Hotfix.exe of Update.exe als installatieprogramma. Zo gebruiken Internet Explorer-updates voor Windows NT 4.0, Windows 2000 en Windows XP een INF-installatie in plaats van Update.exe. U kunt deze procedure dus niet gebruiken om meerdere Microsoft Internet Explorer-updates te installeren met maar één keer opnieuw opstarten in Windows NT 4.0, Windows 2000 of Windows XP. Aangezien Internet Explorer-updates voor Windows Server 2003 Update.exe als installatieprogramma gebruiken, kunt u deze procedure gebruiken om ze te installeren.

Zie de volgende Microsoft-websites voor meer informatie over deze onderwerpen:

Windows 2000

Installatie- en implementatiehandleiding voor Microsoft Windows 2000 Hotfix
http://technet.microsoft.com/en-us/library/cc750542.aspx Windows XP

De handleiding voor het installeren en implementeren van Updates voor Microsoft Windows XP Service Pack 2
http://technet.microsoft.com/en-us/library/bb457071.aspx Windows Server 2003 en Windows XP Professional x64 Edition

Handleiding voor het installeren en implementeren van Updates voor Microsoft Windows Server 2003 en Windows XP 64-bits editie versie 2003
http://technet.microsoft.com/en-us/library/cc700814.aspx Windows Server 2003 Service Pack 1

Microsoft Windows Server 2003 Service Pack 1 Installeren en implementeren van Updates
http://technet2.microsoft.com/windowsserver/en/library/0e02a953-aca7-4dad-b3e2-c94ea72bbc3d1033.mspx

Meer informatie

Een Windows-productupdate (bijvoorbeeld een essentiële update, een beveiligingspatch of een hotfix) is een uitvoerbaar bestand (.exe) dat een of meer systeembestanden bevat die u op Windows kunt toepassen om een specifiek probleem op te lossen. Microsoft Product Support Services distribueert hotfixes naar klanten die ernstig worden getroffen door een specifiek probleem. Essentiële updates en beveiligingspatches zijn updates die Microsoft aan alle klanten aanraadt. U kunt essentiële updates en beveiligingspatches downloaden via de website Windows Update, de website Microsoft Update, het Microsoft Downloadcentrum of andere websites van Microsoft.

Updates voor Windows XP x64 Edition en updates voor Windows Server 2003 of updates voor Windows XP en Windows 2000 die zijn gemaakt na december 2002

Opmerking Als u wilt bepalen wanneer een update is gemaakt, bekijkt u de wijzigingsdatum in het Update.exe of Hotfix.exe installatieprogramma in het updatepakket.

Als u een Windows-productupdate op één computer wilt installeren, voert u het productupdateprogramma uit op de computer die u wilt bijwerken. Gebruik de schakeloptie /z als u meerdere productupdates wilt installeren zonder de computer tussen elke installatie opnieuw op te starten.

Opdrachtregelopties voor het Update.exe programma

In de volgende tabel vindt u de schakelopties (of schakelopties) die door het Update.exe programma worden ondersteund:Switch Description


 /f Hiermee dwingt u andere programma's te sluiten bij het afsluiten. /n Er worden geen back-ups gemaakt van bestanden voor het verwijderen van hotfixes. /z Start de computer niet opnieuw op nadat de installatie is voltooid
  voltooid. /q Gebruikt stille modus; Er is geen interactie van de gebruiker vereist. /m Maakt gebruik van de onbeheerde installatiemodus (Windows 2000). /u Maakt gebruik van de onbeheerde installatiemodus (Windows XP). /l Lijst met geïnstalleerde hotfixes. Het volgende codevoorbeeld is een batchbestand waarin meerdere productupdates worden geïnstalleerd en dat ervoor zorgt dat de juiste bestanden worden vervangen nadat de computer opnieuw is opgestart.

@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

Houd er rekening mee QChain.exe functionaliteit is opgenomen in alle productupdates van Windows XP x64 editions, Windows Server 2003, Windows XP en Windows 2000 die gebruikmaken van Update.exe en die zijn uitgebracht sinds 18 mei 2001. Er is echter een probleem in productupdates die zijn uitgebracht vóór december 2002, waarbij in bepaalde gevallen mogelijk het verkeerde binaire bestand op uw computer wordt toegepast. In maart 2003 heeft Microsoft een bijgewerkte versie van QChain.exe uitgebracht om dit probleem op te lossen.
  Voor meer informatie over dit probleem of om het bijgewerkte hulpprogramma Qchain.exe te verkrijgen, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:

815062 Het juiste bestand wordt niet geïnstalleerd wanneer u meerdere hotfixes koppelt

Alle Windows NT 4.0-updates of Windows XP- en Windows 2000-updates die vóór december 2002 zijn gemaakt

Opmerking Als u wilt bepalen wanneer een productupdate is gemaakt, controleert u de wijzigingsdatum in het Update.exe of Hotfix.exe installatieprogramma in het updatepakket.

Microsoft heeft een opdrachtregelprogramma uitgebracht met de naam QChain.exe. Met QChain.exe kunnen systeembeheerders updates aan elkaar koppelen. Wanneer u updates koppelt, installeert u meerdere updates zonder dat u de computer tussen elke installatie opnieuw moet opstarten. Zonder dit hulpprogramma is de enige ondersteunde methode het opnieuw opstarten van de computer na elke update-installatie. De QChain.exe tool heeft de volgende voordelen:

  • Het verhoogt de uptime voor servers omdat computers niet opnieuw worden opgestart tussen elke update-installatie.
  • Hiermee kunnen sneller meerdere updates op één computer worden geïnstalleerd.
  • Het werkt op zowel Windows 2000 als Windows NT 4.0.

Merk op QChain.exe functionaliteit is opgenomen in alle updates voor Windows XP en Windows 2000 die zijn uitgebracht na 18 mei 2001, maar er bestaat een probleem in updates die vóór december 2002 zijn uitgebracht waardoor onder bepaalde omstandigheden het verkeerde binaire bestand op uw computer kan worden geplaatst. In maart 2003 heeft Microsoft een bijgewerkte versie van QChain.exe uitgebracht om dit probleem op te lossen.
 Voor meer informatie over dit probleem of om het bijgewerkte hulpprogramma Qchain.exe te verkrijgen, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:

815062 Het juiste bestand wordt niet geïnstalleerd wanneer u meerdere hotfixes koppelt

Het koppelen van update-installaties zonder QChain.exe is niet veilig

Wanneer u updates installeert en een bestand is vergrendeld of in gebruik is, kan het niet worden vervangen. Hierdoor wordt het bestand in de wachtrij Naam van bestand in behandeling geplaatst en vervangen nadat de computer opnieuw is opgestart. Het probleem treedt op in het volgende scenario:

  • U installeert updates A en B zonder de computer tussen installaties opnieuw op te starten.
  • Beide pakketten bevatten bestand X. Pakket A's bestand X is versie 3; Bestand X van pakket B is versie 2. De versie van bestand X op de computer is versie 1.
  • Wanneer pakket A is geïnstalleerd, wordt de versie van bestand X in de wachtrij Bestandsnaam in behandeling geplaatst.
  • Wanneer pakket B is geïnstalleerd, wordt de versie van bestand X in de wachtrij voor het wijzigen van de naam van een bestand in behandeling geplaatst.
  • Wanneer de computer opnieuw wordt opgestart omdat pakket B als laatste is geïnstalleerd, wordt de versie van bestand X geïnstalleerd (in de wachtrij Bestand wijzigen in behandeling, wordt het laatste bestand gebruikt). Hierdoor wordt versie 2 geïnstalleerd in plaats van versie 3 zoals u had verwacht.

Als eerder geketende updates worden geïnstalleerd zonder opnieuw op te starten

Hoewel dit zelden voorkomt, is het een goede gewoonte om te controleren of de computer alle oplossingen bevat waarvan u denkt dat ze zijn geïnstalleerd. Gebruik het hulpprogramma Qfecheck.exe om dit te controleren.
 Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over Qfecheck.exe:

282784 Qfecheck.exe controleert de installatie van Windows 2000- en Windows XP-hotfixes

 QChain.exe wordt de sleutel Bestandsnaamsbewerkingen in behandeling in het register opgeschoond om ervoor te zorgen dat alleen de meest recente versie van een bestand wordt geïnstalleerd nadat de computer opnieuw is opgestart.

Meerdere updates installeren met slechts één keer opnieuw opstarten

  1. Voer het update-installatieprogramma uit met de schakeloptie -z om het installatieprogramma te instrueren niet opnieuw te starten na de installatie. Voeg de schakeloptie -m (voor stille modus) toe als u niet wilt dat er vragen of berichten worden weergegeven tijdens de installatie.

     Het update-installatieprogramma is een van de volgende programma's:

    • Het automatisch uitpakkende pakketprogrammabestand (bijvoorbeeld Qnnnnnn_w2k_spx_x86_en.exe).
    • Hotfix.exe (als u alle bestanden uit het pakket hebt uitgepakt).
  2. Nadat u alle hotfixes hebt geïnstalleerd, voert u QChain.exe uit.

  3. Start de computer opnieuw op.

U kunt hiervoor ook een batchbestand maken. Het volgende batchbestand demonstreert deze methode:

@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

Het verkrijgen van QChain.exe

QChain.exe functionaliteit is opgenomen in alle updates voor Windows XP en Windows 2000 die zijn uitgebracht na 18 mei 2001, maar er is een probleem in updates die zijn uitgebracht vóór december 2002 waardoor onder bepaalde omstandigheden het verkeerde binaire bestand op uw computer kan worden geplaatst. In maart 2003 heeft Microsoft een bijgewerkte versie van QChain.exe uitgebracht om dit probleem op te lossen.
 Voor meer informatie over dit probleem of om het bijgewerkte hulpprogramma Qchain.exe te verkrijgen, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:

815062 Het juiste bestand wordt niet geïnstalleerd wanneer u meerdere hotfixes koppelt

De syntaxis van de opdracht QChain.exe

qchain [logbestandsnaam]
 Met de optionele parameter [logfilename] maakt u een bestand met een momentopname voor en na van de sleutel Pending File Rename Operations.

Uitvoer van QChain.exe steekproef

---- oude informatie in het register------
Bron:C:\WINNT\inf\acpi.inf
Versie: 5.0.2183.1
Bestemming:d:\ntsust\testregchech\1394.inf
Versie: 5.0.2183.1

Bron:C:\WINNT\inf\adm_mult.inf
Versie: 5.0.2184.1
Bestemming:d:\ntsust\testregchech\1394.inf
Versie: 5.0.2183.1

Bron: C:\WINNT\inf\banshee.inf
Versie: 5.0.2080.1
Bestemming:d:\ntsust\testregchech\1394.inf
Versie: 5.0.2183.1

---- nieuwe informatie in het register------
Bron:C:\WINNT\inf\adm_mult.inf
Versie: 5.0.2184.1
Bestemming:d:\ntsust\testregchech\1394.inf
Versie: 5.0.2183.1

Beperkingen van QChain.exe

Hoewel QChain werkt met de meeste Windows NT 4.0- en Windows 2000-updates, werkt QChain.exe mogelijk niet met updates die binaire bestanden bevatten die worden vermeld in de volgende registersleutel:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\KnownDLLs De binaire bestanden (binaire bestanden) die in deze registersleutel worden vermeld, worden bij het opstarten in het geheugen geladen. Wanneer het update-installatieprogramma de functie GetFileVersionInfo aanroept op een binair bestand uit deze lijst, verwijst update-installatieprogramma naar het binaire bestand dat al is geladen in plaats van het binaire bestand dat daadwerkelijk aanwezig is op de doellocatie.

Omdat de binaire bestanden die worden vermeld in de registersleutel KnownDLLS bij het opstarten in het geheugen worden geladen, moet het update-installatieprogramma het binaire doelbestand vervangen door het vaste binaire bestand voordat de computer opnieuw wordt opgestart. Daarom maakt het update-installatieprogramma geen bestandsnaambewerking in behandeling om het binaire bestand bij het opnieuw opstarten te vervangen. In plaats daarvan wordt het huidige binaire bestand verplaatst naar een tijdelijke locatie, wordt het vaste binaire bestand geplaatst waar het huidige binaire bestand zich bevond en wordt vervolgens een bestandsnaamsbewerking in behandeling gemaakt om het huidige binaire bestand te verwijderen wanneer de computer opnieuw wordt opgestart.

 QChain is alleen van invloed op bewerkingen voor het wijzigen van bestandsnamen in behandeling waarmee binaire vervangingsbewerkingen worden uitgevoerd. Er wordt niets gedaan met bewerkingen voor het wijzigen van bestandsnamen in behandeling waarmee verwijderbewerkingen worden uitgevoerd.

  Alle Windows NT 4.0-updates en alle Windows 2000-updates eerder dan SP2 gebruiken GetFileVersionInfo om de versie van een bestand te identificeren. Als u twee of meer Windows NT 4.0-updates of Windows 2000-updates van vóór SP2 installeert en de updates elkaar overlappende KnownDLL's bevatten, zorgt het gebruik van QChain voor de installatie van die updates er niet voor dat de nieuwste oplossing wordt geïnstalleerd.

 Het volgende scenario laat zien waarom QChain mogelijk niet het juiste binaire bestand op het systeem plaatst:

  • U installeert updatepakketten A en B en start niet opnieuw op tussen installaties.

  • Beide pakketten bevatten Kernel32.dll, een bestand dat voorkomt in de lijst met KnownDLL's. Pakket A bevat Kernel32.dll versie 3, pakket B bevat Kernel32.dll versie 2 en op de computer is Kernel32.dll versie 1 geïnstalleerd.

  • Wanneer pakket A is geïnstalleerd, meldt GetFileVersionInfo dat de computer Kernel32.dll versie 1 heeft. Omdat pakket A versie 3 bevat, wordt door het update-installatieprogramma aangegeven dat het bestand moet worden vervangen.

    • Het update-installatieprogramma verplaatst de Kernel32.dll versie 1 op de computer naar een tijdelijke locatie en maakt een bestandsnaambewerking in behandeling om het Kernel32.dll bestand de volgende keer dat de computer opnieuw opstart van de tijdelijke locatie te verwijderen.
    • De Kernel32.dll versie 3 van pakket A wordt gekopieerd naar de computer.
  • Wanneer pakket B wordt geïnstalleerd, meldt GetFileVersionInfo nog steeds dat Kernel32.dll versie 1 op de computer is geïnstalleerd, omdat GetFileVersionInfo de versie-informatie leest van de Kernel32.dll die in het geheugen is geladen. Pakket B bevat versie 2 en de hotfix geeft daarom aan of het bestand moet worden vervangen.

    • Het update-installatieprogramma verplaatst de Kernel32.dll die zich nu op de computer bevindt (de Kernel32.dll versie 3 van pakket A) naar een tijdelijke locatie en maakt een bestandswijziging in behandeling om de Kernel32.dll (versie 3) de volgende keer dat de computer opnieuw opstart van de tijdelijke locatie te verwijderen.

    • De Kernel32.dll versie 2 van pakket B wordt gekopieerd naar de computer.

  • QChain wordt uitgevoerd, maar er zijn geen bewerkingen voor bestandswijzigingen in behandeling voor bestandsvervanging en QChain doet daarom niets.

  • Omdat pakket B het laatst is geïnstalleerd, bevindt pakket B Kernel32.dll versie 2 zich op de juiste locatie op de computer. Daarom wordt deze bij het opnieuw opstarten in het geheugen geladen. Met de bewerkingen voor het wijzigen van de naam van het bestand in behandeling worden zowel het oorspronkelijke Kernel32.dll versie 1 als de Kernel32.dll versie 3 van pakket A verwijderd. Hierdoor beschikt de computer nu over Kernel32.dll versie 2 in plaats van versie 3.

Er is een oplossing voor Windows 2000 na SP2 waarbij GetFileVersionInfo niet meer wordt gebruikt voor de KnownDLL's die in het geheugen worden geladen. In plaats daarvan wijst het update-installatieprogramma het bestand toe dat daadwerkelijk aanwezig is op de doellocatie en roept vervolgens GetFileVersionInfo aan op het toegewezen bestand. Daarom kunt u QChain.exe gebruiken om Windows 2000-updates van na SP2 aan elkaar te koppelen. Als u dit doet, wordt de nieuwste versie van een bestand geïnstalleerd, ongeacht de volgorde waarin de updates worden geïnstalleerd.

  Als u het vorige scenario herhaalt en Windows 2000-updates van na SP2 gebruikt, wordt het Kernel32.dll van pakket A toegewezen aan de hotfix in pakket B en wordt versie 3 herkend. Versie 3 is later dan de eigen versie van pakket B Kernel32.dll versie 2. Daarom vervangt pakket B niet de Kernel32.dll die zich op het systeem bevindt en is de versie van pakket A Kernel32.dll versie 3 de versie die correct door de computer wordt gebruikt nadat de computer opnieuw is opgestart.