更新驅動程式檔案
每當發生下列其中一項時,就會更新驅動程式:
硬體更新精靈是從裝置管理員執行。
注意 從 Windows Vista 開始,此精靈現在名為 更新驅動程式軟體精靈。
執行Windows Update。
執行裝置的安裝軟體。
從 Windows Vista 開始,您可以從提升許可權的命令提示字元執行 PnPUtil 工具,以安裝或更新裝置的 驅動程式套件 。
當您撰寫更新現有驅動程式的安裝軟體和 INF 檔案時,請使用下列指導方針。
安裝軟體可以呼叫 UpdateDriverForPlugAndPlayDevices,並提供 INF 檔案和硬體識別碼,以更新符合硬體識別碼之裝置的驅動程式。
從 Windows Vista 開始,安裝軟體也可以呼叫下列其中一項來更新驅動程式:
- DiInstallDriver,它會預先安裝驅動程式,然後在驅動程式支援的系統上安裝驅動程式。
- DiInstallDevice,它會在存在於系統中的指定裝置上,從驅動程式存放區安裝指定的驅動程式。
如需詳細資訊,請參閱 撰寫裝置安裝應用程式。
升級驅動程式時,除非絕對必要,否則類別安裝程式和共同安裝程式不應該提供完成安裝頁面,以回應 DIF_NEWDEVICEWIZARD_FINISHINSTALL 。 可能的話,請從先前安裝的設定取得完成安裝資訊。
在可能的情況下,類別安裝程式和共同安裝程式應該避免根據它們提供初始安裝或更新已安裝裝置的驅動程式的行為。
從 Windows XP 開始,會在傳遞DIF_REGISTER_COINSTALLERS之前刪除登錄值 CoInstallers32和EnumPropPages32。 舊版作業系統的 INF 檔案必須明確刪除這些值,或對其執行非套用的修改作業。
從 Windows XP 開始,會先刪除 UpperFilters 和 LowerFilters 的登錄值,再傳遞 DIF_INSTALLDEVICE。 舊版作業系統的 INF 檔案必須明確刪除這些值,或對其執行非套用的修改作業。
更新驅動程式時 ,請勿 使用 INF DelFiles 指示 詞或 INF RenFiles 指示 詞。 Windows 無法保證其他裝置未使用特定檔案。 (類別安裝程式和共同安裝程式可以刪除或重新命名檔案, 如果 它們可以可靠地判斷沒有裝置使用 files.)
如果不再需要專案,請使用 INF DelReg 指示 詞,從先前的裝置安裝中移除舊的裝置特定登錄專案。 (請勿移除全域登錄專案。)
請勿在INF DDInstall.Services 區段中使用INF DelService 指示詞,從目的電腦移除先前安裝的裝置/驅動程式服務。 Windows 無法保證其他裝置未使用特定服務。 (類別安裝程式和共同安裝程式可以刪除服務, 如果他們 能夠可靠地判斷沒有裝置使用 services.)
更新類別安裝程式、類別共同安裝程式或服務 DLL 時,您必須為新版本提供新的檔案名。
如需 INF 檔案的詳細資訊,請參閱 建立 INF 檔案 和 INF 檔案區段和指示詞。