可再发行框架组件

注释

如果驱动程序仅面向 Windows 10 或更高版本,则无需重新分发 WDF 或在驱动程序包中提供 Coinstaller。 使用以下步骤:

  1. 在 Visual Studio 的“项目设置” 属性页的 驱动程序设置->目标 OS 版本下,选择 Windows 10 或更高版本。 这相当于将以下内容添加到.vcxproj文件:
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
  1. 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 生成驱动程序。 如果选择 1.9(随 Windows 7 一起提供),则无需更新系统。 另一方面,如果选择 1.11,则需要在驱动程序中包含 WDF 1.11 更新包。

是否应包括共同安装程序或 .msu 文件?

如果驱动程序安装是通过将新硬件设备插入系统来触发的,并且你只安装驱动程序,请在驱动程序包中包含共同安装程序。 然后引用 INF 文件中的共同安装程序,如在 INF 文件中指定 KMDF 共同安装程序中所述。

在安装驱动程序之外,如果需要安装应用程序,应分发相关的 MSU 包(例如 kmdf-1.11-Win.6.0.msu),及带有调用该包的安装程序。 在这种情况下,不需要 INF 条目。

你永远不需要共同安装程序和 .msu 文件。

在哪里可以找到这些文件以及包含的内容?

这些文件不再包含在 WDK 中。 相反,可以从Microsoft下载中心单独下载它们。 下载页是 Windows 驱动程序工具包 8 可再发行组件

安装完成后,MSU 和配套安装程序可以在 %program files%\Windows Kits\8.0\redist\wdf中找到。

对于 x86 和 x64,此目录包含以下文件:

  • WdfCoinstaller01007.dllWdfCoinstaller01009.dllWdfCoinstaller01011.dll (KMDF 1.7/1.9/1.11 的共同安装程序)。
  • WUDFUpdate_01007.dllWUDFUpdate_01009.dllWUDFUpdate_01011.dll (UMDF 的共同安装程序)。
  • winusbcoinstaller.dllwinusbcoinstaller2.dll (WinUSB 1.5/1.9 的共同安装程序)。

共同安装程序命名和版本控制

共同安装程序名为 WdfCoInstallerMMmmm.dll

  • MM 是主要版本号。
  • mmm 是次要版本号。

例如,共同安装程序版本 1.0 的文件名 WdfCoInstaller01000.dll,版本 1.11 的文件名 WdfCoInstaller01011.dll

包含在驱动程序包中的共同安装程序版本必须与用于开发驱动程序的框架库的版本匹配。

请注意,框架库的文件名仅包含主版本号。 有关库文件名的详细信息,请参阅 框架库版本控制