可轉散發架構元件
注意
如果您的驅動程式只以 Windows 10 或更新版本為目標,您就不需要轉散發 WDF 或在您的驅動程式套件中提供 Cointaller。 採取以下步驟:
- 在 Visual Studio 的 [項目設定] 屬性頁的 [驅動程式設定 -> 目標 OS 版本] 下,選取 [Windows 10 或更高版本]。 這相當於將下列內容新增至 .vcxproj 檔案:
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
- 在 [ INF 製造商] 區段中,將 10.0 指定為目標 OS 版本,如下所示:
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0
本主題描述隨附於 Windows 驅動程式套件 (WDK) 的Microsoft提供的可轉散發架構更新,以及如何判斷要新增至驅動程式套件的架構更新。
可轉散發架構更新可讓您執行以較新版架構版本建置的驅動程式,而不是操作系統中包含的驅動程式。 例如,KMDF 1.11 包含在 Windows 8 中。 但是您可以在 Windows Vista 或 Windows 7 上執行 KMDF 1.11 驅動程式。 不過,您必須先確定 KMDF 1.11 架構連結庫會取代先前操作系統中包含的架構連結庫(在此案例中為 KMDF 1.7 和 KMDF 1.9)。 您可以使用驅動程式套件來轉散發Microsoft提供的共同安裝程式或 .msu 檔案,以執行此動作。
何時需要在驅動程式套件中包含共同安裝程式或 .msu?
首先,決定驅動程式將支援的 Windows 版本。 根據此,判斷 要使用的架構版本。
如果所選的 WDF 版本比目標 OS 隨附的版本還新,請在驅動程式套件中包含共同安裝程式或 .msu 檔案。
例如,您希望驅動程式在 Windows 7 上執行。 您可以選擇使用 WDF 1.11 或 WDF 1.9 來建置驅動程式。 如果您選擇 Windows 7 提供的 1.9,就不需要更新系統。 另一方面,如果您選擇 1.11,則必須包含 WDF 1.11 更新套件與驅動程式。
我應該包含共同安裝程式或 .msu 檔案嗎?
如果您的驅動程式安裝是藉由將新的硬體裝置插入系統而觸發,而且您只安裝驅動程式,請在驅動程式套件中包含共同安裝程式。 然後參考 INF 檔案中的共同安裝程式,如在 INF 檔案中指定 KMDF 共同安裝程式中所述。
如果您需要除了驅動程式之外安裝應用程式,您應該改為轉散發相關的 MSU 套件(例如 kmdf-1.11-Win.6.0.msu),以及呼叫它的安裝應用程式。 在此情況下,不需要 INF 專案。
您永遠不需要共同安裝程式和 .msu 檔案。
哪裡可以找到這些檔案,以及包含哪些檔案?
這些檔案不再包含在 WDK 中。 相反地,它們可從下載中心Microsoft個別下載。 下載頁面是 Windows Driver Kit 8 可轉散發元件。
安裝之後,您可以在下 %program files%\Windows Kits\8.0\redist\wdf
找到 MSU 和共同安裝程式。
此目錄包含下列適用於 x86 和 x64 的檔案:
- WdfCoinstaller01007.dll,WdfCoinstaller01009.dll,WdfCoinstaller01011.dll(KMDF 1.7/1.9/1.11 的共同安裝程式)。
- WUDFUpdate_01007.dll、WUDFUpdate_01009.dll、WUDFUpdate_01011.dll(UMDF 的共同安裝程式)。
- winusbcoinstaller.dll,winusbcoinstaller2.dll (WinUSB 1.5/1.9 的共同安裝程式)。
共同安裝程式命名和版本控制
共同安裝程式名為 WdfCoInstallerMMmmm.dll。
- MM 是主要版本號碼。
- mmm 是次要版本號碼。
例如,共同安裝程式 1.0 版的檔名WdfCoInstaller01000.dll,而 1.11 版的檔名WdfCoInstaller01011.dll。
您隨附於驅動程式套件中的共同安裝程式版本必須符合您用來開發驅動程式的架構連結庫版本。
請注意,架構連結庫的檔名只包含主要版本號碼。 如需連結庫檔名的詳細資訊,請參閱 架構連結庫版本控制。