在合作夥伴中心使用擴充功能 INF 檔案
您可以在 Windows 硬體開發人員中心 上建立擴充 INF 檔案的出貨標籤,讓您像其他提交一樣共用和發佈它們。 本文說明封裝、提交及發佈這些套件的程式。 如需如何建立及安裝擴充功能 INF 的詳細資訊,請參閱 使用擴充功能 INF 檔案。
將擴充功能 INF 發佈至 Windows Update 的需求
將擴充功能 INF 發佈至 Windows Update 時,您必須選取出貨標籤上的自動驅動程式升級複選框。 擴充功能 INF 無法發佈為選擇性的原因,是因為它們未列在 裝置管理員 中,讓使用者起始「更新驅動程式」動作。 若要查看這些複選框,您必須先註冊驅動程式正式發行前小眾測試版。
注意
若要讓 Windows Update 提供擴充功能 INF,所有系統都必須至少執行 RS3 2018 年 1 月 3 日 — KB4056892 (10.0.16299.192)。
提交和發佈延伸模組 INF
本節說明如何提交和發佈 INF 套件。 如需常見錯誤和常見問題的相關信息,請參閱醒目提示的專案和常見問題。
重要
Microsoft建議一律為每個擴充功能 INF 建立個別提交,以及只包含基底驅動程式提交的個別提交。 在單一提交中發佈您的基底驅動程式和擴充功能 INF 會導致下列問題:
- 所有出貨標籤都會被合作夥伴中心分類並評估為「延伸模塊驅動程式」。 若要尋找延伸模組的專案,請在 [開發人員中心 搜尋方塊中輸入
@IsExtensionDriver:"True"
。 - 發佈至 Windows Update 之後,使用者可能會強制下載驅動程式套件多次:安裝基底驅動程序之後,再針對 PnP 偵測到的每個適用擴充功能一次。
建立提交套件
基底驅動程式套件
如常使用您的基底驅動程序和擴充 INF 啟動 Hardware Lab Kit (HLK) 測試回合。 HLK 結果會用於所有套件建立步驟。
從 [驅動程式] 資料夾移除擴充功能 INF 範本專案,並將基底驅動程式檔案新增回 HLK 套件。
建立並簽署此 HLKx 套件,以建立您的基底驅動程式套件。
注意
基底驅動程式套件必須一律與現有的擴充功能回溯相容。
擴充功能 INF 套件
使用基底驅動程式套件 HLK 測試回合中的相同 HLK 結果,選取 [套件>取代驅動程式]
使用任何參考的二進位檔,將擴充功能 INF 新增至驅動程式的資料夾。 如果您有多個擴展名 INF,則只會新增一個檔案。
建立並簽署這個新的 HLK 套件。 此套件是您的擴充功能 INF 套件。
針對每個擴充功能 INF 重複此程式,每次移除驅動程式資料夾內容。
將您的套件提交至合作夥伴中心
針對所建立的每個套件建立新的提交,並將其上傳至 硬體開發人員中心。 之後,請為您想要共享或發佈的出貨標籤建立一個出貨標籤。 如需詳細資訊,請參閱 建立新的硬體提交 及 使用出貨標籤管理驅動程式散發。
ExtensionID
ExtensionID 是您產生的 GUID,用於驅動程式譜系識別和版本設定。 它描述硬體裝置元件或元件系列,並 會自動註冊 至提交它的 SellerID。 此 SellerID 的擁有者負責追蹤 ExtensionID 使用量和對應,類似於 CHID 管理。
例如,當您為新的系統元件建立 ExtensionID 時:
- ExtensionID 擁有權會指派給您的 SellerID。
- 使用元件或元件系列的每個組織系統項目都會共用相同的ExtensionID。
- ExtensionID 在元件的存留期間保持不變。
注意
- 如果您使用未與您的 SellerID 相關聯的 ExtensionID,合作夥伴中心將會拒絕您的提交,並通知您 ExtensionID 已屬於另一個組織:
- 針對指定的裝置,每個唯一的 ExtensionID 值只會安裝一個擴充功能 INF。 因此,如果裝置有多個擴充功能 INF,則每個裝置都需要新的 ExtensionID。 這也表示,如果兩個擴充功能 INF 以不同 Extension 識別符為目標的相同裝置,則會套用這兩個擴充功能 INF。 如需詳細資訊,請參閱 使用擴充功能 INF 檔案。
如果您的組織管理另一個組織的專案和提交,請注意下列事項:
- ExtensionID 擁有權會指派給完成提交的 SellerID。
- 使用另一個組織的 SellerID 可讓您使用其 ExtensionID。
- 若要使用組織的 SellerID,您必須為部分或部分系列建立自己的 ExtensionID。
為擴充功能 INF 的初始版本產生新的 ExtensionID(也就是您第一次自定義並提交擴充功能 INF),包括您第一次收到新裝置的新共用寄送標籤。 Visual Studio 在工具 > 建立 GUID 中包含 GUID 建立公用程式,但如果它符合下列登錄格式,則任何在線 GUID 產生工具都應該能夠運作。
如果您要更新已發佈的擴充功能 INF,請將 ExtensionID 保持相同,並遞增 DriverVer 指示詞所指定的版本和/或日期。 驅動程式日期和驅動程式版本是用來區分多個擴展名 INF 與相同 ExtensionID。
發佈擴充功能 INF
若要發佈延伸模組 INF 提交,請遵循將驅動程式發佈至 Windows Update 中的步驟。 請確定已檢查這兩個自動驅動程序升級選項,而且您的擴充功能 INF 具有特定的目標。
如果您沒有看到這些驅動程序升級選項,您可能需要註冊 驅動程式正式發行前小眾測試版。
所有擴充功能 INF 都會經過驅動程式正式發行前小眾測試版程式,以透過 Windows Update 散發。 成功正式發行前小眾測試版之後,零售系統將可使用這些檔案。 加入 Windows 測試人員計劃可讓您在此階段更快速地存取驅動程式。
擴充功能 INF 目標與排名差異
因為延伸模組是特定裝置的自定義專案,所以必須一律設為目標。 使用擴充功能 INF 目標時,請遵循下列指導方針:
- 如果可能的話,擴充 INF 檔案必須有四部分的硬體識別碼(HWID)。
- 除了具有四部分 HWID 之外,還可以將 CHID 新增至延伸模組 INF 的出貨卷標。
- 對於沒有四部分 HWID 的零件和元件系列,必須有 CHID 目標。
此目標資訊對於透過 Windows Update (WU) 散發期間準確評估擴充功能 INF 至關重要。 WU 評估驅動程式有兩個階段:
- 當 WU 建置套用至指定系統的驅動程式清單時,即為適用性階段。
- Windows PnP 和 WU 從清單中判斷要安裝的驅動程式的排名階段。
一般而言,有一些關於擴充 INF 排名和目標的重要原則:
擴充功能 INF 的 ExtensionID 不會用於適用性, 只是用於譜系和版本設定識別。
WU 會針對每個適用的擴充功能識別碼,提供排名最高的擴充功能驅動程式(和 PnP 安裝)。
擴充功能驅動程式會依 Date 和 version 進行排名,其包含在 DriverVer 指示詞中。 這同時由 WU 和 PnP 使用。 如需詳細資訊,請參閱 INF 版本區段 和 INF DriverVer 指示詞。
對於擴充驅動程式,PnP 和 WU 不會考慮功能或標識符分數(也就是兩部分與四部分)。
在 WU 上排名延伸模組驅動程式時,不會使用 CHID 資訊(也就是說,您無法「封鎖」具有 CHID 目標的其他擴充驅動程式)。
如需 Windows 作業系統內驅動程式選取和目標的詳細資訊,請參閱 使用擴充功能 INF 檔案
常見問題集
驅動程式開發
每次更新基底驅動程式時,是否需要變更 ExtensionID?
否,對基底驅動程序進行更新時,您應該保留相同的延伸模組標識符。 ExtensionID 用於版本比較和驅動程式譜系識別。 它不應該在司機的譜系內改變。
製造業
我們是否可以使用 IHV 提供的擴充功能 INF 搭配其 ExtensionID 進行製造?
否。 如果您打算擁有延伸模組的服務層面,則必須在製造期間使用自己的擴充功能 INF 和 ExtensionID。
驅動程式更新
每當基底驅動程式套件更新併發佈時,我們需要將更新的擴充功能 INF 發佈至 Windows Update 嗎?
否,而且您不得。 基底驅動程式套件必須一律與現有的擴充功能回溯相容。
更新的基底驅動程式發佈並套用至用戶系統時,會發生什麼事?
套用基底驅動程式更新時,會在必要時評估並套用目前安裝的擴充功能 INF。 如果未安裝任何擴充功能 INF,Windows Update 會下載最新的適用版本。
當我們將操作系統更新為最新版本時,是否需要發佈更新的擴充功能 INF 或 ExtensionID?
否,現有的ExtensionID和擴充功能INF會繼續運作。
如果兩個系統自定義相同,兩個系統可以共用相同的擴充功能 INF 嗎?
是。 如果多個系統使用相同的設定,或您想要跨一組更廣泛的裝置自定義設定,一個擴充功能 INF 就已足夠。 將適用的四部分硬體標識碼新增至擴充功能 INF。 如需詳細資訊,請參閱 使用擴充功能 INF 檔案。