可再发行框架组件

注意

如果驱动程序仅面向 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 可再发行组件

安装后,可以在下 %program files%\Windows Kits\8.0\redist\wdf找到 MSU 和共同安装程序。

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

  • WdfCoinstaller01007.dll、WdfCoinstaller01009.dllWdfCoinstaller01011.dll(KMDF 1.7/1.9/1.11 的共同安装程序)。
  • WUDFUpdate_01007.dll、WUDFUpdate_01009.dllWUDFUpdate_01011.dll(UMDF 的共同安装程序)。
  • winusbcoinstaller.dll,winusbcoinstaller2.dll (WinUSB 1.5/1.9 的共同安装程序)。

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

共同安装程序名为 WdfCoInstallerMMmmm.dll

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

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

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

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