Özet
Bu makalede, Hotfix.exe (Microsoft Windows NT 4.0) veya Update.exe (Microsoft Windows 2000, Microsoft Windows XP veya Microsoft Windows Server 2003) kullanan birden çok Windows ürün güncelleştirmesinin (örneğin, kritik güncelleştirmeler, güvenlik düzeltme ekleri veya düzeltmeleri) tek bir yeniden başlatmayla nasıl yükleneceği açıklanmaktadır. Bu makale yöneticilere ve BT uzmanlarına yöneliktir. Tek başına ya da Windows ile birlikte (hizmet paketiyle veya hizmet paketi olmadan) Hotfix.exe veya Update.exe kullanan Windows ürün güncelleştirmelerini yükleyebilirsiniz.
Not Bu makalede anlatılan yordam, yükleme programı olarak Hotfix.exe veya Update.exe kullanmayan ürün güncelleştirmelerinde çalışmaz. Örneğin, Windows NT 4.0, Windows 2000 ve Windows XP için Internet Explorer güncelleştirmeleri Update.exe yerine INF tabanlı bir yükleme kullanır. Sonuç olarak, Windows NT 4.0, Windows 2000 veya Windows XP'de tek bir yeniden başlatma ile birden çok Microsoft Internet Explorer güncelleştirmesini yüklemek için bu yordamı kullanamazsınız. Internet Explorer'ın Windows Server 2003 güncelleştirmeleri yükleme programı olarak Update.exe kullandığından, bu yordamı kullanarak yükleyebilirsiniz.
Bu konular hakkında ek bilgi için aşağıdaki Microsoft Web sitelerine bakın:
Windows 2000
Microsoft Windows 2000 Düzeltmesi Yükleme ve Dağıtım Kılavuzu
http://technet.microsoft.com/en-us/library/cc750542.aspx Windows XP
Microsoft Windows XP Service Pack 2 için Güncelleştirmeler Yükleme ve Dağıtma Kılavuzu
http://technet.microsoft.com/en-us/library/bb457071.aspx Windows Server 2003 ve Windows XP Professional x64 Edition
Yükleme ve Dağıtma Kılavuzu GüncelleştirmelerGüncelleştirmeler for Microsoft Windows ServerWindows Server 2003 ve Windows XP 64-bit Edition Sürüm 2003
http://technet.microsoft.com/en-us/library/cc700814.aspx Windows Server 2003 Service Pack 1
Microsoft Windows ServerWindows Server 2003 Service Pack 1 Yükleme ve Dağıtma UpdatesGüncelleştirmeler
http://technet2.microsoft.com/windowsserver/en/library/0e02a953-aca7-4dad-b3e2-c94ea72bbc3d1033.mspx
Daha Fazla Bilgi
Windows ürün güncelleştirmesi (örneğin, kritik bir güncelleştirme, güvenlik yaması veya düzeltme), belirli bir sorunu düzeltmek için Windows'a uygulayabileceğiniz bir veya daha fazla sistem dosyası içeren bir yürütülebilir dosya (.exe) dosyasıdır. Microsoft Ürün Destek Hizmetleri, düzeltmeleri belirli bir sorundan ciddi olarak etkilenen müşterilere dağıtır. Kritik güncelleştirmeler ve güvenlik yamaları, Microsoft'un tüm müşteriler için önerdiği güncelleştirmelerdir. Kritik güncelleştirmeleri ve güvenlik düzeltme eklerini Windows Update Web sitesinden, Microsoft Update Web sitesinden, Microsoft Yükleme Merkezi'nden veya diğer Microsoft Web sitelerinden edinebilirsiniz.
Windows XP x64 Edition güncelleştirmeleri ve Windows ServerWindows Server 2003 güncelleştirmeleri veya Aralık 2002'den sonra oluşturulmuş Windows XP ve Windows 2000 güncelleştirmeleri
Not Bir güncelleştirmenin ne zaman oluşturulduğunu belirlemek için güncelleştirme paketindeki Update.exe veya Hotfix.exe yükleme programında Değiştirilme tarihini görüntüleyin.
Windows ürün güncelleştirmesini tek bir bilgisayara yüklemek için, güncelleştirmek istediğiniz bilgisayarda ürün güncelleştirme programını çalıştırın. Her yükleme arasında bilgisayarı yeniden başlatmadan birden çok ürün güncelleştirmesi yüklemek için /z anahtarını kullanın.
Update.exe programı için komut satırı seçenekleri
Aşağıdaki tabloda, Update.exe programının desteklediği komut satırı seçenekleri (veya geçişleri) tanımlanmıştır:Anahtar Açıklaması
/f Kapanışta diğer programları da kapanmaya zorlar. /n Düzeltmeleri kaldırmak için dosyaları yedeklemez. /z Yüklendikten sonra bilgisayarı yeniden başlatmaz
tamamlandı. /q Sessiz modu kullanır; Kullanıcı etkileşimi gerekmez. /m Katılımsız Kurulum modunu kullanır (Windows 2000). /u Katılımsız Kurulum modunu (Windows XP) kullanır. /l Yüklü düzeltmeleri listeler. Aşağıdaki kod örneği, birden çok ürün güncelleştirmesi yükleyen ve bilgisayar yeniden başlatıldıktan sonra doğru dosyaların değiştirildiğinden emin olan bir toplu iş dosyasıdır.
@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
Not QChain.exe işlevselliği, Update.exe kullanan ve 18 Mayıs 2001'den sonra piyasaya sürülen tüm Windows XP x64 Sürümleri, Windows Server 2003, Windows XP ve Windows 2000 ürün güncelleştirmelerine eklenmiştir. Ancak, Aralık 2002'den önce yayımlanan ürün güncelleştirmelerinde bazı durumlarda bilgisayarınıza yanlış ikili dosyayı uygulayabilen bir sorun bulunmaktadır. Mart 2003'te Microsoft, bu sorunu gidermek için güncelleştirilmiş bir QChain.exe sürümü yayımlamıştır.
Bu sorun hakkında ek bilgi edinmek veya güncelleştirilmiş Qchain.exe aracını edinmek için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
815062 Birden çok düzeltmeyi zincirleme yaptığınızda doğru dosya yüklenmez
Tüm Windows NTWindows NT 4.0 güncelleştirmeleri veya Aralık 2002'den önce oluşturulan Windows XP ve Windows 2000 güncelleştirmeleri
Not Bir ürün güncelleştirmesinin ne zaman oluşturulduğunu belirlemek için güncelleştirme paketindeki Update.exe veya Hotfix.exe yükleme programındaki Değiştirilme tarihini kontrol edin.
Microsoft, QChain.exe adlı bir komut satırı aracı yayımladı. QChain.exe ile sistem yöneticileri zincirleme güncelleştirmeleri bir araya getirebilir. Güncelleştirmeleri zincirleme olarak kullandığınızda, her yükleme arasında bilgisayarı yeniden başlatmadan birden çok güncelleştirme yüklersiniz. Bu araç olmadan desteklenen tek yöntem, her güncelleştirme yüklemesinden sonra bilgisayarı yeniden başlatmaktır. QChain.exe aracının şu avantajları vardır:
- Her güncelleştirme yüklemesi arasında bilgisayarlar yeniden başlatılmadığı için sunucuların çalışma süresini artırır.
- Tek bir bilgisayara birden çok güncellemenin daha hızlı yüklenmesine izin verir.
- Hem Windows 2000 hem de Windows NT 4.0'da çalışır.
Not QChain.exe işlevselliği, 18 Mayıs 2001'den sonra yayımlanan tüm Windows XP ve Windows 2000 güncelleştirmelerine dahil edilmiştir, ancak Aralık 2002'den önce yayımlanan güncelleştirmelerde bazı durumlarda bilgisayarınıza yanlış ikili yerleştirilmesine neden olabilecek bir sorun vardır. Mart 2003'te Microsoft, bu sorunu gidermek için güncelleştirilmiş bir QChain.exe sürümü yayımlamıştır.
Bu sorun hakkında daha fazla bilgi edinmek veya güncelleştirilmiş Qchain.exe aracını edinmek için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
815062 Birden çok düzeltmeyi zincirleme yaptığınızda doğru dosya yüklenmez
Güncelleştirme yüklemelerini QChain.exe olmadan zincirleme yapmak güvenli değildir
Güncelleştirmeleri yüklediğinizde, bir dosya kilitliyse veya kullanımdaysa değiştirilemez. Sonuç olarak dosya, Bekleyen Dosya Yeniden Adlandırma sırasına yerleştirilir ve bilgisayar yeniden başlatıldıktan sonra değiştirilir. Sorun, aşağıdaki senaryoda oluşur:
- Yüklemeler arasında bilgisayarı yeniden başlatmadan A ve B güncelleştirmelerini yüklersiniz.
- Her iki paket de X dosyasını içerir. Paket A'nın X dosyası sürüm 3'tür; B paketinin X dosyası sürüm 2'dir. Bilgisayardaki X dosyasının sürümü 1'dir.
- A paketi yüklendiğinde, X dosyasının sürümünü Bekleyen Dosya Yeniden Adlandırma kuyruğuna yerleştirir.
- B paketi yüklendiğinde, X dosyasının sürümünü Bekleyen Dosya Yeniden Adlandırma kuyruğuna yerleştirir.
- Bilgisayar yeniden başlatıldığında, B paketi en son yüklendiğinden, X dosyasının sürümü yüklenir (Bekleyen Dosya Yeniden Adlandırma kuyruğundaki son dosya, kullanılan dosyadır). Sonuç olarak, beklediğiniz gibi sürüm 3 yerine sürüm 2 yüklenir.
Daha önce zincirleme güncelleştirmeler yeniden başlatılmadan yüklenirse
Bu senaryo nadir olmakla birlikte, bilgisayarınızda yüklü olduğunu düşündüğünüz tüm düzeltmelerin bulunduğunu doğrulamak iyi bir yöntemdir. Bunu doğrulamak için Qfecheck.exe aracını kullanın.
Qfecheck.exe hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
282784 Qfecheck.exe, Windows 2000 ve Windows XP düzeltmelerinin yüklenmesini doğrular
QChain.exe, bilgisayar yeniden başlatıldıktan sonra dosyanın yalnızca en son sürümünün yüklendiğinden emin olmak için kayıt defterindeki Bekleyen Dosya Yeniden Adlandırma İşlemleri anahtarını temizler.
Tek bir yeniden başlatmayla birden çok güncelleştirme yüklemek için
Yükleyiciye yüklemeden sonra yeniden başlatmamasını bildirmek için güncelleştirme yükleyicisini -z anahtarıyla çalıştırın. Yükleme sırasında komut istemlerinin veya iletilerin görünmesini istemiyorsanız (Sessiz mod için) -m anahtarını ekleyin.
Güncelleştirme yükleyicisi aşağıdaki programlardan biridir:
- Kendiliğinden ayıklanan paket program dosyası (örneğin, Qnnnnnn_w2k_spx_x86_en.exe).
- Hotfix.exe (paketteki tüm dosyaları ayıkladıysanız).
Tüm düzeltmeleri yükledikten sonra QChain.exe çalıştırın.
Bilgisayarı yeniden başlatın.
Bunu yapmak için bir toplu iş dosyası da oluşturabilirsiniz. Aşağıdaki örnek toplu iş dosyasında bu yöntem gösterilmektedir:
@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
QChain.exe edinme
QChain.exe işlevselliği, 18 Mayıs 2001'den sonra yayımlanan tüm Windows XP ve Windows 2000 güncelleştirmelerine dahil edilmiştir, ancak Aralık 2002'den önce yayımlanan güncelleştirmelerde bazı durumlarda bilgisayarınıza yanlış ikili dosyanın yerleştirilmesine neden olabilen bir sorun vardır. Mart 2003'te Microsoft, bu sorunu gidermek için güncelleştirilmiş bir QChain.exe sürümü yayımlamıştır.
Bu sorun hakkında daha fazla bilgi edinmek veya güncelleştirilmiş Qchain.exe aracını edinmek için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
815062 Birden çok düzeltmeyi zincirleme yaptığınızda doğru dosya yüklenmez
QChain.exe komutu söz dizimi
qchain [günlükdosyasıadı]
İsteğe bağlı [logfilename] parametresi, Bekleyen Dosya Yeniden Adlandırma İşlemleri anahtarının öncesi ve sonrası anlık görüntüsünü içeren bir dosya oluşturur.
Örnek QChain.exe çıkışı
Kayıt Defterindeki Eski Bilgileri ---- ------
Kaynak:C:\WINNT\inf\acpi.inf
Sürüm: 5.0.2183.1
Hedef:d:\ntsust\testregchech\1394.inf
Sürüm: 5.0.2183.1
Kaynak:C:\WINNT\inf\adm_mult.inf
Sürüm: 5.0.2184.1
Hedef:d:\ntsust\testregchech\1394.inf
Sürüm: 5.0.2183.1
Kaynak:C:\WINNT\inf\banshee.inf
Sürüm: 5.0.2080.1
Hedef:d:\ntsust\testregchech\1394.inf
Sürüm: 5.0.2183.1
Kayıt Defterinde Yeni Bilgileri ---- ------
Kaynak:C:\WINNT\inf\adm_mult.inf
Sürüm: 5.0.2184.1
Hedef:d:\ntsust\testregchech\1394.inf
Sürüm: 5.0.2183.1
QChain.exe sınırlamaları
QChain, çoğu Windows NT 4.0 ve Windows 2000 güncellemeleriyle çalışsa da, QChain.exe aşağıdaki kayıt defteri anahtarında listelenen ikili dosyaları içeren güncellemelerle çalışmayabilir:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\KnownDLLs Bu kayıt defteri anahtarında listelenen ikili dosyalar (ikililer) başlangıçta belleğe yüklenir. Güncelleştirme yükleyicisi GetFileVersionInfo işlevini bu listedeki bir ikilide çağırdığında, güncelleştirme yükleyicisi hedef konumda gerçekten var olan ikili yerine zaten yüklenmiş olan ikili dosyayı ifade eder.
BilinenDLL'ler kayıt defteri anahtarında listelenen ikili dosyalar başlangıçta belleğe yüklendiğinden, bilgisayar yeniden başlatılmadan önce güncelleştirme yükleyicisinin hedef ikili dosyayı sabit ikili dosya ile değiştirmesi gerekir. Bu nedenle, güncelleştirme yükleyicisi yeniden başlatma sırasında ikili dosyayı değiştirmek için bir Bekleyen Dosya Yeniden Adlandırma İşlemi oluşturmaz. Bunun yerine, güncelleştirme geçerli ikili değişkeni geçici bir konuma taşır, sabit ikili değişkeni geçerli ikili değişkenin bulunduğu konuma yerleştirir ve bilgisayar yeniden başlatıldığında geçerli ikili dosyayı silmek için bir Bekleyen Dosya Yeniden Adlandırma İşlemi oluşturur.
QChain, yalnızca ikili değiştirme işlemlerini gerçekleştiren Bekleyen Dosya Yeniden Adlandırma İşlemlerini etkiler. Silme işlemleri yapan Bekleyen Dosya Yeniden Adlandırma İşlemleri ile hiçbir işlem yapmaz.
Tüm Windows NT 4.0 güncelleştirmeleri ve SP2'den önceki tüm Windows 2000 güncelleştirmeleri, dosyanın sürümünü tanımlamak için GetFileVersionInfo kullanır. İki veya daha fazla Windows NT 4.0 güncelleştirmesi veya SP2 öncesi Windows 2000 güncelleştirmeleri yüklerseniz ve güncelleştirmeler çakışan BilinenDLL'ler içerirse, bu güncelleştirmelerin yüklenmesini zincirlemek için QChain'in kullanılması, en son sürüm düzeltmenin yüklendiğinden emin olmaz.
Aşağıdaki senaryo, QChain'in neden sisteme doğru ikili dosyayı koyamadığını gösterir:
A ve B güncelleştirme paketlerini yüklersiniz ve yüklemeler arasında yeniden başlatmazsınız.
Her iki paket de KnownDLL'ler listesinde bulunan Kernel32.dll dosyasını içerir. A paketinde Kernel32.dll sürüm 3, B paketinde Kernel32.dll sürüm 2 ve bilgisayarda Kernel32.dll sürüm 1 yüklüdür.
A paketi yüklendiğinde, GetFileVersionInfo bilgisayarda Kernel32.dll sürüm 1'in yüklü olduğunu bildirir. Paket A sürüm 3'ü içerdiğinden, güncelleştirme yükleyicisi dosyanın değiştirilmesi gerektiğini belirler.
- Güncelleştirme yükleyicisi bilgisayardaki Kernel32.dll sürüm 1'i geçici bir konuma taşır ve bilgisayarın bir sonraki yeniden başlatılmasında Kernel32.dll dosyasını geçici konumdan silmek için bir Bekleyen Dosya Yeniden Adlandırma İşlemi oluşturur.
- Paket A'nın Kernel32.dll sürüm 3'ü bilgisayara kopyalanır.
B paketi yüklendiğinde, GetFileVersionInfo bellekte yüklü olan Kernel32.dll sürüm bilgilerini okuduğundan, GetFileVersionInfo bilgisayarda Kernel32.dll sürüm 1'in yüklü olduğunu bildirmeye devam eder. Paket B'nin sürümü 2'dir ve dolayısıyla düzeltme, dosya değiştirme gereksinimini tanımlar.
Güncelleştirme yükleyicisi şu anda bilgisayarda bulunan Kernel32.dll (paket A'nın Kernel32.dll sürüm 3) geçici bir konuma taşır ve bilgisayarın bir sonraki yeniden başlatılmasında (sürüm 3) Kernel32.dll geçici konumdan silmek için bir Bekleyen Dosya Yeniden Adlandırma İşlemi oluşturur.
Paket B'nin Kernel32.dll sürüm 2'si bilgisayara kopyalanır.
QChain çalışır, ancak dosya değişimi için Bekleyen Dosya Yeniden Adlandırma İşlemleri yoktur ve bu nedenle QChain hiçbir şey yapmaz.
B paketi en son yüklendiğinden, B Kernel32.dll sürüm 2 paketi bilgisayarda doğru konumdadır. Bu nedenle, bilgisayar yeniden başlatıldığında belleğe yüklenir. Bekleyen Dosya Yeniden Adlandırma İşlemleri hem özgün Kernel32.dll sürüm 1'i hem de paket A'nın Kernel32.dll sürüm 3'ünü siler. Sonuç olarak, bilgisayarda artık sürüm 3 yerine sürüm 2 Kernel32.dll.
SP2 sonrası Windows 2000'de GetFileVersionInfo öğesinin belleğe yüklenen KnownDLL'lerde artık kullanılmadığı bir düzeltme var. Bunun yerine, güncelleştirme yükleyicisi hedef konumda gerçekten var olan dosyayı eşler ve ardından eşlenen dosyada GetFileVersionInfo öğesini çağırır. Bu nedenle, SP2 sonrası Windows 2000 güncelleştirmelerini zincirlemek için QChain.exe kullanabilirsiniz. Bunu yaptığınızda, güncelleştirmelerin yüklenme sırası ne olursa olsun dosyanın en son sürümü yüklenir.
Önceki senaryoyu tekrarlar ve SP2 sonrası Windows 2000 güncelleştirmelerini kullanırsanız, B paketindeki düzeltme A paketinin Kernel32.dll eşleşir ve sürüm 3'ü tanır. Sürüm 3, paket B'nin kendi Kernel32.dll sürüm 2'sinden daha yenidir. Bu nedenle, B paketi sistemdeki Kernel32.dll değiştirmez ve A paketinin Kernel32.dll sürüm 3'ü, bilgisayar yeniden başlatıldıktan sonra bilgisayarın doğru şekilde kullandığı sürümdür.