網路升級程式的 Winnt32 階段
注意 Microsoft Windows XP (SP1 和更新版本) 、Microsoft Windows Server 2003 和更新版本的作業系統不支援廠商提供的網路升級。
使用者或系統管理員會採取下列其中一個動作來啟動升級程式:
在 Windows 2000 或更新版本 CD-ROM 啟動後顯示的使用者介面中選取元件升級
在 CD-ROM 上選取並執行\i386\winnt32.exe
如果使用者或系統管理員已在升級的系統上設定NETUPGRD_INIT_FILE_DIR環境變數,NetSetup 會在該變數所指定的目錄中搜尋 netupg.inf 檔案。 netupg.inf 檔案只包含一個區段: OemNetUpgradeDirs。 本節中的每個專案都會指定目錄的完整路徑,其中包含廠商提供的升級檔案,包括網路元件的 netmap.inf 檔案。 如果未設定NETUPGRD_INIT_FILE_DIR環境變數,NetSetup (netupgrd.dll) 會在自己的目錄中尋找 netmap.inf 檔案。
NetSetup 會讀取 netmap.inf 檔案,以識別沒有內建升級支援的網路元件。 如果 NetSetup 是以自動模式執行,則會顯示精靈;不過,使用者或系統管理員無法使用精靈。 如果 NetSetup 未以自動模式執行,精靈會顯示沒有內建升級支援的網路元件清單。
使用精靈,使用者或系統管理員可以:
按一下 [取消 ] 以中止作業系統的安裝。
按 [下一步] 安裝作業系統,而不升級列出的網路元件。
針對列出的網路元件,指定廠商提供的升級檔案的磁片磁碟機和目錄位置。
NetSetup 會在指定的位置讀取 netmap.inf 檔案,並將廠商提供的升級檔案複製到系統上硬碟上的臨時目錄。 這個臨時目錄會成為廠商提供之網路移轉 DLL 的工作目錄。 NetSetup 也會從精靈中的元件清單中移除任何具有 netmap.inf 檔案的元件。
NetSetup 會在 $Win_nt$.~bt 目錄中產生 winnt.sif 檔案 (也稱為 AnswerFile) ,這通常位於 C: 磁片磁碟機上。
NetSetup 會產生 AnswerFile,如下所示:
NetSetup 會讀取預先升級系統的登錄,以列舉每個網路元件。 針對具有內建升級支援的每個網路元件,NetSetup 會將從登錄讀取的資訊寫入 AnswerFile。
對於沒有內建升級支援的每個網路元件,NetSetup 會讀取元件的 netmap.inf 檔案。 netmap.inf 檔案會將網路元件的預升級裝置、硬體或相容識別碼對應至升級作業系統中的對應識別碼。 如果 NetSetup 符合其從登錄讀取的網路元件的預先升級識別碼,並在 netmap.inf 檔案的 OemNetAdapters、 OemNetProtocols、 OemNetServices或 OemAsyncAdapters 區段中,將廠商提供的資訊寫入至 AnswerFile。
使用元件的作業系統裝置、硬體或相容識別碼,NetSetup 會讀取 netmap.inf 檔案的 OemUpgradeSupport 區段,以判斷要載入的網路移轉 DLL。 NetSetup 接著會載入網路移轉 DLL,並呼叫 DLL 的 PreUpgradeInitialize 函式 。 PreUpgradeInitialize函式會提供 DLL 用來初始化本身的資訊。
NetSetup 會針對網路移轉 DLL 所支援的每個網路元件呼叫 DLL 的 DoPreUpgradeProcessing 函式一次。 DoPreUpgradeProcessing 會從登錄讀取網路元件的預先升級參數值,並呼叫 NetUpgradeAddSection 和NetUpgradeAddLineToSection 函式,以將這些參數和其他元件特定資訊寫入 AnswerFile。 DoPreUpgradeProcessing 也可以藉由在 AnswerFile 中建立適當的專案,來移轉與預先升級元件相關聯的二進位資料。
在 AnswerFile 完全產生之後,NetSetup 會將廠商提供的升級檔案複製到適當的目錄,然後開機進入升級程式的文字模式階段。