Numer ID artykułu: 296861 - Ostatnia weryfikacja: 5 grudnia 2007 - Weryfikacja: 15.4

Jak zainstalować wiele aktualizacji lub poprawek systemu Windows przy tylko jednym ponownym rozruchu komputera

Ten artykuł został opublikowany wcześniej pod numerem PL296861

Na tej stronie

Rozwiń wszystko | Zwiń wszystko

Streszczenie

W tym artykule opisano, jak można zainstalować wiele aktualizacji produktu systemu Windows (na przykład aktualizacji krytycznych, aktualizacji zabezpieczeń lub poprawek) używających programu Hotfix.exe (Microsoft Windows NT 4.0) lub programu Update.exe (Microsoft Windows 2000, Microsoft Windows XP lub Microsoft Windows Server 2003) z tylko jednym ponownym uruchomieniem komputera. Ten artykuł jest przeznaczony dla administratorów i specjalistów IT. Aktualizacje produktu systemu Windows, które używają programu Hotfix.exe lub Update.exe, można zainstalować osobno lub razem z systemem Windows (z dodatkiem Service Pack lub bez dodatku).

Uwaga: Procedura opisana w niniejszym artykule nie działa w odniesieniu do aktualizacji produktu, które nie korzystają z programu Hotfix.exe lub Update.exe jako programu instalacyjnego. Na przykład aktualizacje programu Internet Explorer dla systemów Windows NT 4.0, Windows 2000 i Windows XP korzystają z procesu instalacji opartego na plikach INF, a nie na programie Update.exe. Efektem tego jest niemożność zastosowania tej procedury w celu zainstalowania wielu aktualizacji programu Microsoft Internet Explorer z tylko jednym ponownym uruchomieniem komputera z systemem Windows NT 4.0, Windows 2000 lub Windows XP. Ponieważ aktualizacje programu Internet Explorer dla systemu Windows Server 2003 używają programu Update.exe jako programu instalacyjnego, można użyć tej procedury do zainstalowania ich.

Aby uzyskać dodatkowe informacje dotyczące tych tematów, odwiedź następujące witryny firmy Microsoft w sieci Web:

Windows 2000
Microsoft Windows 2000 Hotfix Installation and Deployment Guide
http://www.microsoft.com/windows2000/downloads/servicepacks/sp4/HFDeploy.htm (http://www.microsoft.com/windows2000/downloads/servicepacks/sp4/HFDeploy.htm)
Windows XP
Microsoft Windows XP Hotfix Installation and Deployment Guide
http://www.microsoft.com/windowsxp/downloads/updates/sp1/hfdeploy.mspx (http://www.microsoft.com/windowsxp/downloads/updates/sp1/hfdeploy.mspx)
The Guide for Installing and Deploying Updates for Microsoft Windows XP Service Pack 2
http://www.microsoft.com/technet/prodtechnol/winxppro/deploy/hfdeploy.mspx (http://www.microsoft.com/technet/prodtechnol/winxppro/deploy/hfdeploy.mspx)
Windows Server 2003 i Windows XP Professional x64 Edition
Guide for Installing and Deploying Updates for Microsoft Windows Server 2003 and Windows XP 64-Bit Edition Version 2003
http://www.microsoft.com/technet/security/topics/patchmanagement/hfdeploy.mspx (http://www.microsoft.com/technet/security/topics/patchmanagement/hfdeploy.mspx)
Windows Server 2003 Service Pack 1
Microsoft Windows Server 2003 Service Pack 1 Installing and Deploying Updates
http://technet2.microsoft.com/windowsserver/en/library/0e02a953-aca7-4dad-b3e2-c94ea72bbc3d1033.mspx (http://technet2.microsoft.com/windowsserver/en/library/0e02a953-aca7-4dad-b3e2-c94ea72bbc3d1033.mspx)

Więcej informacji

Aktualizacja systemu Windows (na przykład aktualizacja krytyczna, aktualizacja zabezpieczeń lub poprawka) to plik wykonywalny (exe) zawierający jeden lub więcej plików systemowych, które można zastosować do systemu Windows w celu rozwiązania określonego problemu. Pomoc techniczna firmy Microsoft rozprowadza poprawki wśród klientów, którzy są poważnie zagrożeni wystąpieniem określonego problemu. Aktualizacje krytyczne i poprawki zabezpieczeń to aktualizacje zalecane przez firmę Microsoft wszystkim klientom. Aktualizacje krytyczne i poprawki zabezpieczeń można uzyskać w witrynach sieci Web Windows Update, Microsoft Update, Microsoft — Centrum pobierania lub w innych witrynach sieci Web firmy Microsoft.

Aktualizacje systemów Windows XP x64 Edition i Windows Server 2003 lub aktualizacje systemów Windows XP i Windows 2000, które zostały utworzone po grudniu 2002

Uwaga: W celu ustalenia daty utworzenia aktualizacji należy sprawdzić datę modyfikacji w programie instalacyjnym Update.exe lub Hotfix.exe wchodzącym w skład pakietu aktualizacji.

Aby zainstalować aktualizację systemu Windows na pojedynczym komputerze, należy uruchomić program aktualizacji produktu na komputerze, który ma być zaktualizowany. Aby zainstalować aktualizacje kilku produktów bez konieczności ponownego uruchamiania komputera po zakończeniu każdej instalacji, należy użyć przełącznika /z.

Opcje wiersza polecenia dla programu Update.exe

W poniższej tabeli wymieniono opcje (przełączniki) wiersza polecenia obsługiwane przez program Update.exe.
Opis przełącznika ------ ----------- /f Umożliwia wymuszenie zamknięcia innych programów przed zamknięciem systemu. /n Powoduje, że nie są wykonywane kopie zapasowe plików potrzebnych do usunięcia poprawek. /z Powoduje, że komputer nie jest ponownie uruchamiany po ukończeniu instalacji. /q Umożliwia instalację w trybie cichym, bez interakcji użytkownika. /m Umożliwia użycie trybu instalacji nienadzorowanej (Windows 2000). /u Umożliwia użycie trybu instalacji nienadzorowanej (Windows XP). /l Umożliwia wyświetlenie listy zainstalowanych poprawek. 
Poniższy kod przykładowy stanowi plik wsadowy, który powoduje zainstalowanie wielu aktualizacji produktu i zapewnia, że po ponownym uruchomieniu komputera zostaną zastąpione właściwe pliki.
@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
Uwaga: Funkcje programu QChain.exe są dostępne we wszystkich aktualizacjach systemów Windows XP x64 Edition, Windows Server 2003, Windows XP i Windows 2000, które korzystają z programu Update.exe i zostały wydane po 18 maja 2001. Występuje jednak problem dotyczący aktualizacji produktów wydanych przed grudniem 2002 roku, które w pewnych sytuacjach mogą zastosować na komputerze niewłaściwe pliki binarne. W marcu 2003 firma Microsoft wydała zaktualizowaną wersję pliku QChain.exe w celu rozwiązania tego problemu. Aby uzyskać dodatkowe informacje dotyczące tego problemu lub aby uzyskać zaktualizowaną wersję narzędzia Qchain.exe, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
815062  (http://support.microsoft.com/kb/815062/PL/ ) Podczas tworzenia łańcucha poprawek nie jest instalowany właściwy plik

Wszystkie aktualizacje systemu Windows NT 4.0 lub systemów Windows XP i Windows 2000, które zostały utworzone przed grudniem 2002 roku

Uwaga: W celu ustalenia daty utworzenia aktualizacji produktu należy sprawdzić datę modyfikacji w programie instalacyjnym Update.exe lub Hotfix.exe wchodzącym w skład pakietu aktualizacji.

Firma Microsoft wydała narzędzie wiersza polecenia o nazwie QChain.exe. Dzięki programowi QChain.exe administratorzy systemu mogą uszeregować aktualizacje razem. Szeregowanie aktualizacji pozwala zainstalować wiele aktualizacji bez ponownego uruchamiania komputera między poszczególnymi aktualizacjami. Bez tego narzędzia jedyną obsługiwaną metodą jest ponowne uruchomienie komputera po instalacji każdej aktualizacji. Narzędzie QChain.exe ma następujące zalety:
  • Zwiększa czas działania serwerów, ponieważ komputery nie są ponownie uruchamiane po każdej instalacji aktualizacji.
  • Umożliwia szybszą instalację wielu aktualizacji na pojedynczym komputerze.
  • Działa w systemach Windows 2000 i Windows NT 4.0.
Uwaga: Funkcje programu QChain.exe są dostępne we wszystkich aktualizacjach systemów Windows XP i Windows 2000, które zostały wydane po 18 maja 2001 roku, jednak istnieje problem dotyczący aktualizacji wydanych przed grudniem 2002 roku, które w pewnych sytuacjach mogą umieścić niewłaściwe pliki binarne na komputerze. W marcu 2003 roku firma Microsoft wydała zaktualizowaną wersję pliku QChain.exe w celu rozwiązania tego problemu. Aby uzyskać więcej informacji dotyczących tego problemu lub zaktualizowaną wersję narzędzia Qchain.exe, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
815062  (http://support.microsoft.com/kb/815062/PL/ ) Podczas tworzenia łańcucha poprawek nie jest instalowany właściwy plik

Szeregowanie instalacji aktualizacji bez programu QChain.exe nie jest bezpieczne

Jeśli podczas instalowania aktualizacji plik jest zablokowany lub używany, nie można go zamienić. W rezultacie plik zostanie umieszczony w kolejce oczekujących zmian nazw plików i zostanie zastąpiony po ponownym uruchomieniu komputera. Problem występuje w następującym scenariuszu:
  • Instalujesz aktualizacje A i B bez ponownego uruchamiania komputera między instalacjami.
  • Oba pakiety zawierają plik X. Plik X pakietu A ma wersję 3; poprawka pakietu B zawiera wersję 2. Wersja pliku X na komputerze to wersja 1.
  • Przy instalacji pakietu A umieszcza on swoją wersję pliku X w kolejce oczekujących zmian nazw plików.
  • Przy instalacji pakietu B umieszcza on swoją wersję pliku X w kolejce oczekujących zmian nazw plików.
  • Po ponownym uruchomieniu komputera instalowany jest plik X pakietu B, ponieważ był on instalowany jako ostatni (w kolejce oczekujących zmian nazw plików ostatnim plikiem jest używany plik). W rezultacie zostanie zainstalowana wersja 2, zamiast oczekiwanej wersji 3.

Jeżeli uprzednio uszeregowane aktualizacje zostały zainstalowane bez ponownego uruchomienia

Mimo że ten scenariusz występuje rzadko, warto sprawdzić, czy na komputerze zostały zainstalowane wszystkie oczekiwane poprawki. Aby to sprawdzić, użyj narzędzia Qfecheck.exe. Aby uzyskać więcej informacji dotyczących programu Qfecheck.exe, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
282784  (http://support.microsoft.com/kb/282784/PL/ ) Program Qfecheck.exe weryfikuje instalację poprawek systemów Windows 2000 i Windows XP
Program QChain.exe czyści klucz rejestru używany przez operacje oczekujących zmian nazw plików, aby upewnić się, że po ponownym uruchomieniu komputera zostanie zainstalowana tylko najnowsza wersja pliku.

Aby zainstalować wiele aktualizacji przy jednokrotnym ponownym uruchomieniu

  1. Uruchom instalatora aktualizacji z przełącznikiem -z, aby instalator nie uruchamiał ponownie komputera po instalacji. Możesz dodać przełącznik -m (tryb cichy), jeśli nie chcesz, aby podczas instalacji były wyświetlane monity lub komunikaty.

    Instalator aktualizacji jest jednym z następujących programów:
    • Plik programu samowyodrębniającego się pakietu (na przykład Qnnnnnn_w2k_spx_x86_pl.exe).
    • Hotfix.exe (jeśli wszystkie pliki zostały wyodrębnione z pakietu).
  2. Po zainstalowaniu wszystkich poprawek uruchom program QChain.exe.
  3. Ponownie uruchom komputer.
Aby to zrobić, można również utworzyć plik wsadowy. Poniżej podano przykład pliku wsadowego demonstrującego tę metodę:
@echo off
setlocal
set PATHTOFIXES=ścieżka
%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

Jak uzyskać program QChain.exe

Funkcje programu QChain.exe są dostępne we wszystkich aktualizacjach systemów Windows XP i Windows 2000, które zostały wydane po 18 maja 2001 roku, jednak istnieje problem dotyczący aktualizacji wydanych przed grudniem 2002 roku, które w pewnych sytuacjach mogą umieścić niewłaściwe pliki binarne na komputerze. W marcu 2003 roku firma Microsoft wydała zaktualizowaną wersję pliku QChain.exe w celu rozwiązania tego problemu. Aby uzyskać więcej informacji dotyczących tego problemu lub zaktualizowaną wersję narzędzia Qchain.exe, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
815062  (http://support.microsoft.com/kb/815062/PL/ ) Podczas tworzenia łańcucha poprawek nie jest instalowany właściwy plik

Składnia poleceń programu QChain.exe

qchain [nazwa_pliku_dziennika]
Opcjonalny parametr [nazwa_pliku_dziennika] umożliwia utworzenie pliku zawierającego wartość klucza Pending File Rename Operations sprzed uruchomienia i po uruchomieniu programu QChain.exe.

Przykładowe dane wyjściowe programu QChain.exe

---- Stare informacje w Rejestrze ------
Źródło:C:\WINNT\inf\acpi.inf
Wersja: 5.0.2183.1
Miejsce docelowe: d:\ntsust\testregchech\1394.inf
Wersja: 5.0.2183.1

Źródło:C:\WINNT\inf\adm_mult.inf
Wersja: 5.0.2184.1
Miejsce docelowe: d:\ntsust\testregchech\1394.inf
Wersja: 5.0.2183.1

Źródło:C:\WINNT\inf\banshee.inf
Wersja: 5.0.2080.1
Miejsce docelowe: d:\ntsust\testregchech\1394.inf
Wersja: 5.0.2183.1

---- Nowe informacje w Rejestrze ------
Źródło:C:\WINNT\inf\adm_mult.inf
Wersja: 5.0.2184.1
Miejsce docelowe: d:\ntsust\testregchech\1394.inf
Wersja: 5.0.2183.1

Ograniczenia programu QChain.exe

Mimo że program QChain działa z większością aktualizacji systemów Windows NT 4.0 i Windows 2000, ten program może nie działać z aktualizacjami, które zawierają pliki binarne znajdujące się w następującym kluczu rejestru:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\KnownDLLs
Pliki binarne wymienione w tym kluczu rejestru są ładowane do pamięci przy uruchamianiu. Gdy instalator aktualizacji wywoła funkcję GetFileVersionInfo na pliku binarnym z tej listy, instalator odwołuje się do pliku binarnego, który jest już załadowany, a nie do pliku binarnego, który faktycznie znajduje się w lokalizacji docelowej.

Ponieważ pliki binarne wymienione w kluczu rejestru KnownDLLs są ładowane do pamięci przy uruchamianiu systemu, Instalator aktualizacji musi zastąpić docelowy plik binarny poprawionym plikiem binarnym przed ponownym uruchomieniem komputera. Z tego powodu instalator aktualizacji nie tworzy operacji oczekującej zmiany nazwy pliku w celu zastąpienia pliku binarnego podczas ponownego uruchamiania. Zamiast tego aktualizacja przenosi aktualny plik binarny do lokalizacji tymczasowej, umieszcza poprawiony plik binarny w miejscu, gdzie znajdował się bieżący plik binarny, a następnie tworzy operację oczekującej zmiany nazwy pliku w celu usunięcia bieżącego pliku binarnego po ponownym uruchomieniu komputera.

Program QChain ma wpływ tylko na operacje oczekujących zmian nazw plików, które powodują zastąpienie plików binarnych. Nie ma wpływu na operacje oczekujących zmian nazw plików, które powodują usunięcie plików.

Wszystkie aktualizacje systemu Windows NT 4.0 i wszystkie aktualizacje systemu Windows 2000 poprzedzające dodatek SP2 używają funkcji GetFileVersionInfo do identyfikacji wersji pliku. W razie zainstalowania dwóch lub więcej aktualizacji systemu Windows NT 4.0 lub aktualizacji systemu Windows 2000 poprzedzających dodatek SP2, jeśli te aktualizacje zawierają pokrywające się zawartości klucza KnownDLLs, użycie programu QChain do uszeregowania instalacji tych aktualizacji nie zapewni zainstalowania najnowszej wersji poprawionego pliku.

Poniżej został przedstawiony scenariusz ilustrujący, dlaczego program QChain może nie umieścić poprawnej wersji pliku binarnego w systemie:
  • Instalujesz pakiety aktualizacji A i B bez ponownego uruchamiania komputera między instalacjami.
  • Oba pakiety zawierają plik Kernel32.dll, który jest wymieniony na liście KnownDLLs. Pakiet A zawiera plik Kernel32.dll w wersji 3, pakiet B zawiera plik Kernel32.dll w wersji 2, a na komputerze zainstalowana jest wersja 1 tego pliku.
  • Podczas instalowania pakietu A wywołanie funkcji GetFileVersionInfo informuje, że komputer zawiera plik Kernel32.dll w wersji 1. Ponieważ pakiet A zawiera wersję 3, instalator aktualizacji wykrywa potrzebę zastąpienia pliku.
    • Instalator aktualizacji przenosi plik Kernel32.dll w wersji 1 do lokalizacji tymczasowej i tworzy operację oczekującej zmiany nazwy pliku w celu usunięcia pliku Kernel32.dll z lokalizacji tymczasowej podczas ponownego uruchomienia komputera.
    • Plik Kernel32.dll pakietu A w wersji 3 został skopiowany na komputer.
  • Podczas instalowania pakietu B wywołanie funkcji GetFileVersionInfo w dalszym ciągu informuje, że na komputerze jest zainstalowana wersja 1 pliku Kernel32.dll, ponieważ funkcja GetFileVersionInfo odczytuje informacje o wersji z pliku Kernel32.dll, który jest załadowany do pamięci. W pakiecie B znajduje się wersja 2, dlatego poprawka wykrywa potrzebę zastąpienia pliku.
    • Instalator aktualizacji przenosi plik Kernel32.dll, który znajduje się aktualnie na komputerze (plik Kernel32.dll w wersji 3 z pakietu A), do lokalizacji tymczasowej i tworzy operację oczekującej zmiany nazwy pliku w celu usunięcia pliku Kernel32.dll (w wersji 3) z lokalizacji tymczasowej podczas ponownego uruchomienia komputera.
    • Plik Kernel32.dll pakietu B w wersji 2 został skopiowany na komputer.
  • Jest uruchamiany program QChain, ale nie ma operacji oczekujących zmian nazw plików, które miałyby zastąpić pliki, dlatego program QChain nie wykonuje żadnej operacji.
  • Ponieważ pakiet B został zainstalowany jako ostatni, plik Kernel32.dll w wersji 2 z pakietu B znajduje się w poprawnej lokalizacji na komputerze. Z tego powodu jest on ładowany do pamięci przy uruchamianiu komputera. Operacje oczekujących zmian nazw plików usuwają zarówno oryginalny plik Kernel32.dll w wersji 1, jak i plik Kernel32.dll w wersji 3 z pakietu A. W rezultacie na komputerze będzie się znajdował plik Kernel32.dll w wersji 2, a nie w wersji 3.
Jest dostępna poprawka systemu Windows 2000 późniejsza od dodatku SP2, w której funkcja GetFileVersionInfo nie jest już używana w odniesieniu do wymienionych na liście KnownDLLs plików załadowanych do pamięci. Zamiast tego instalator aktualizacji mapuje plik znajdujący się rzeczywiście w lokalizacji docelowej, a następnie wywołuje funkcję GetFileVersionInfo w odniesieniu do tego zmapowanego pliku. Dzięki temu można użyć programu QChain.exe do szeregowania aktualizacji systemu Windows 2000 późniejszych od dodatku SP2. W takim przypadku zostanie zainstalowana najnowsza wersja pliku, niezależnie od kolejności instalowania aktualizacji.

Jeśli odtworzony zostanie poprzedni scenariusz i użyta zostanie w nim aktualizacja systemu Windows 2000 późniejsza od dodatku SP2, poprawka pakietu B zmapuje plik Kernel32.dll pochodzący z pakietu A i rozpozna wersję 3. Wersja 3 jest nowsza niż własna wersja 2 pliku Kernel32.dll w pakiecie B. Dlatego też pakiet B nie zamieni znajdującego się w systemie pliku Kernel32.dll i wersja 3 pliku Kernel32.dll z pakietu A będzie poprawną wersją używaną przez komputer po ponownym uruchomieniu.

Informacje zawarte w tym artykule dotyczą:
  • Microsoft Windows Update
  • Microsoft Update
Słowa kluczowe: 
kbinfo kbgraphxlinkcritical kbqfe kbfile kbhotfixserver kbwindowsupdatev6 kbwindowsupdatev3 kbproductlink KB296861
 

Tłumaczenia artykułów

 

Related Support Centers