有讀者反映使用批處理Windows自動升級文件有問題。有些補丁包安裝時出現了錯誤提示,無法繼續。
經過研究,發現這是由於Windows主要有兩類不同的補丁程序,需要使用不同的參數,一旦參數錯誤,會導致無法安裝,所以對不同補丁需要使用不同的參數。我們來具體分析一下。
從圖片看補丁類型
如圖1,把Windows 2003 Server的補丁文件放在同一個目錄,
可以清楚地看到補丁文件名字前面的圖標有兩種類型,一種是簡單的可執行文件圖標,另外一種是標志壓縮文件的可執行文件圖標。
從屬性分析格式
WindowsServer2003-KB823559-x86-ENU.exe文件的圖標是一個簡單的可執行文件圖標。從圖2中可以看到該補丁的幫助信息,發現它使用微軟的update程序來安裝補丁。從圖3可以查看該補丁的版本信息,它是由SFXCAB.EXE制作而成,所有其他具有普通可執行文件圖標的補丁程序都有類似性質。
DirectX9-KB819696-x86-ENU.exe文件的圖標是一個標志壓縮文件的可執行文件圖標,可以查看該補丁的幫助信息。它所認識的參數不包括/U和/Z,如果使用/U 參數來運行就會產生錯誤。同樣,查看該補丁的版本信息,可以看出DirectX9-KB819696-x86-ENU這個補丁是由WEXTRACT.EXE而來的,所有其他的具有標志壓縮文件的可執行文件圖標的補丁程序也都有類似特征。