使用 WinGet 安装 WDK

可以使用 Windows 程序包管理器 (WinGet) 工具在计算机上安装或更新 Windows 驱动程序工具包及其依赖项(如 Visual Studio 和 Windows 软件开发工具包),所有这些操作都通过命令行完成。

如果需要帮助确保正确安装和配置 WinGet ,请参阅 WinGet 安装文档。

使用 WinGet 分步安装最新的 WDK

最新版本的 WDK 为 10.0.22621。 它需要 Visual Studio 2022 和 Windows SDK 10.0.22621。 有关详细信息,请参阅 工具包版本控制

步骤 1:安装 Visual Studio 2022

WDK 需要 Visual Studio 2022,其中安装了 使用 C++ 的桌面开发 工作负载,以及 VS 2022 C++ 生成工具 及其相应的 VS 2022 C++ Spectre 缓解库 ( 要为其生成驱动程序的每个体系结构的最新) 组件。

可以使用 WinGet 安装 Visual Studio 2022,其中包含驱动程序开发所需的所有工作负载和组件。 为此,需要 Visual Studio 安装配置文件。 wdk.vsconfig创建包含以下内容的文件,并记下其位置:

{
  "version": "1.0",
  "components": [
    "Microsoft.Component.MSBuild",
    "Microsoft.VisualStudio.Component.CoreEditor",
    "Microsoft.VisualStudio.Component.NuGet",
    "Microsoft.VisualStudio.Component.Roslyn.Compiler",
    "Microsoft.VisualStudio.Component.TextTemplating",
    "Microsoft.VisualStudio.Component.VC.ASAN",
    "Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre",
    "Microsoft.VisualStudio.Component.VC.ATL.ARM64",
    "Microsoft.VisualStudio.Component.VC.ATL.Spectre",
    "Microsoft.VisualStudio.Component.VC.ATL",
    "Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre",
    "Microsoft.VisualStudio.Component.VC.ATLMFC",
    "Microsoft.VisualStudio.Component.VC.CoreIde",
    "Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre",
    "Microsoft.VisualStudio.Component.VC.MFC.ARM64",
    "Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
    "Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre",
    "Microsoft.VisualStudio.Component.VC.Runtimes.ARM64EC.Spectre",
    "Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre",
    "Microsoft.VisualStudio.Component.VC.Tools.ARM64",
    "Microsoft.VisualStudio.Component.VC.Tools.ARM64EC",
    "Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
    "Microsoft.VisualStudio.Component.Windows10SDK",
    "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
    "Microsoft.VisualStudio.Workload.CoreEditor",
    "Microsoft.VisualStudio.Workload.NativeDesktop"
  ]
}

根据要安装的版本,需要提供 winget 一组不同的安装程序参数以及刚创建的用于自定义安装的 .vsconfig 文件的路径。

注意

必须在以下命令中提供文件的绝对路径 wdk.vsconfig 。 否则,WinGet 可能无法安装 Visual Studio,同时仍报告成功。

Visual Studio Community 2022

winget install --source winget --exact --id Microsoft.VisualStudio.2022.Community --override "--passive --config <vsconfig-folder>\wdk.vsconfig"

Visual Studio Professional 2022

winget install --source winget --exact --id Microsoft.VisualStudio.2022.Professional --override "--passive --config <vsconfig-folder>\wdk.vsconfig""

Visual Studio Enterprise 2022

winget install --source winget --exact --id Microsoft.VisualStudio.2022.Enterprise --override "--passive --config <vsconfig-folder>\wdk.vsconfig"

有关更多详细信息,可以检查有关如何使用 WinGet 安装或修改 Visual Studio 的 Visual Studio 文档。

步骤 2:安装 Windows SDK 和 WDK

可以通过运行以下命令从 WinGet 安装 Windows SDK 和 WDK:

Windows SDK

winget install --source winget --exact --id Microsoft.WindowsSDK.10.0.22621 --log $env:USERPROFILE/Desktop/sdk-install.log

Windows WDK

winget install --source winget --exact --id Microsoft.WindowsWDK.10.0.22621 --log $env:USERPROFILE/Desktop/wdk-install.log

步骤 3:安装 WDK Visual Studio 扩展

从命令行安装 WDK 后,需要单独安装 Windows 驱动程序工具包 Visual Studio 扩展,以便能够生成和测试驱动程序。 默认情况下, 扩展位于 下 %ProgramFiles(x86)%\Windows Kits\10\Vsix\VS2022\10.0.22621.0\WDK.vsix

使用命令提示符:

for /f "usebackq tokens=*" %i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -latest -products * -property enginePath`) do (
  "%i\VSIXInstaller.exe" "%ProgramFiles(x86)%\Windows Kits\10\Vsix\VS2022\10.0.22621.0\WDK.vsix"
)

使用 PowerShell:

& $(& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -latest -products * -property enginePath | Join-Path -ChildPath 'VSIXInstaller.exe') "${env:ProgramFiles(x86)}\Windows Kits\10\Vsix\VS2022\10.0.22621.0\WDK.vsix"

使用 WinGet 安装其他 WDK 版本

可以从 WinGet 为不同 Windows 版本安装多个工具包。

注意

对于面向 Windows 11 版本 22000 (版本 21H2) 及更早版本,需要安装较旧版本的 Visual Studio。 请参阅 其他 WDK 下载 > 步骤 1:安装 Visual Studio ,查找要安装的 WDK 版本所需的 Visual Studio 版本。

可以使用 命令搜索其他可用的工具包版本 winget search

Windows SDK

winget search --source winget --id Microsoft.WindowsSDK

Windows WDK

winget search --source winget --id Microsoft.WindowsWDK

每个命令将返回一个表,其中包含 WinGet 中所有可用的 SDK/WDK 版本。 例如,查找所有可用的 WDK 版本时,将显示如下所示的表:

Name                                        Id                              Version        Source
--------------------------------------------------------------------------------------------------
Windows Driver Kit - Windows 10.1.22000.1   Microsoft.WindowsWDK.10.0.22000 10.1.22000.1   winget
Windows Driver Kit                          Microsoft.WindowsWDK.10.0.19041 10.1.19041.685 winget
Windows Driver Kit - Windows 10.0.22621.382 Microsoft.WindowsWDK.10.0.22621 10.1.22621.382 winget

然后,可以使用 为特定 <kit-version>winget install安装所需的工具包组合:

Windows SDK

winget install --source winget --exact --id Microsoft.WindowsSDK.10.0.<kit-version>

Windows WDK

winget install --source winget --exact --id Microsoft.WindowsWDK.10.0.<kit-version>

注意

如果你要查找的 Windows 驱动程序工具包版本在 WinGet 中不可用,则需要从 其他 WDK 下载中单独下载并安装它。

除非已安装较新的 WDK 中的 WDK Visual Studio 扩展,否则需要手动安装。 对于工具包版本 22621 及更新版本,或%ProgramFiles(x86)%\Windows Kits\10\Vsix\<vs-version>\WDK.vsix对于工具包版本 22000 及更早版本,它默认位于 下%ProgramFiles(x86)%\Windows Kits\10\Vsix\<vs-version>\10.0.<kit-version>.0\WDK.vsix

首先 <vs-version> 找到将 (VS2022 版本 22621 及更新 VS2019 版本 18362 到 22000) 的文件夹。 如果该文件夹包含多个版本控制的文件夹,请在 中找到具有最新版本号的文件夹。 记下此位置,就像要从命令行安装扩展一样 <wdk-vsix-folder>

使用命令提示符:

for /f "usebackq tokens=*" %i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -latest -products * -property enginePath`) do (
  "%i\VSIXInstaller.exe" "<wdk-vsix-folder>\WDK.vsix"
)

使用 PowerShell:

& $(& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -latest -products * -property enginePath | Join-Path -ChildPath 'VSIXInstaller.exe') "<wdk-vsix-folder>\WDK.vsix"

使用 WinGet 配置文件安装完整的驱动程序开发环境

通过使用 WinGet 配置文件,可以设置用于驱动程序开发的新计算机,只需最少的手动干预。

为方便起见,提供了用于安装 Windows 11版本 22H2 WDK 及其依赖项的配置文件。 此配置将设置以下组件:

  • Visual Studio 2022 Community。
  • Visual Studio 需要用于驱动程序开发的工作流和组件。
  • Windows 11版本 22H2 SDK。
  • Windows 11,版本 22H2 WDK。
  • WDK Visual Studio 扩展。

尽管使用配置说明文件更适合预配新计算机,但即使已安装某些组件,WinGet 也会尝试仅安装缺少的组件,也可以使用它。

提示

可以使用 PowerShell 直接下载并安装 WDK 配置文件。 安装最新版本的 WinGet 后,可以运行以下命令:

# Open a new PowerShell terminal if needed
powershell

# Download configuration file to install WDK with VS 2022 Community
Invoke-WebRequest -Uri 'https://aka.ms/wdk_winget_config_22621' -OutFile configuration.dsc.yaml

# Install VS, SDK, WDK and WDK VS extension using the configuration file
winget configure -f configuration.dsc.yaml

步骤 1:设置 WinGet

确保在要预配的计算机上安装了 WinGet 1.6 或更高版本。 为此,可以在 winget --version 终端上运行 并检查输出版本号是否为 v1.6.2631 或更大。 如果没有,或者如果终端引发错误,指出命令不存在,则需要 先安装最新版本的 WinGet ,然后才能继续操作。

步骤 2:下载 WDK 配置文件

可以从 此处下载配置说明文件。 将此文件另存为 configuration.dsc.yml 并记下其位置。

提示

提供的配置文件将安装 Visual Studio 2022 的社区版。 如果需要其他版本,可以编辑Microsoft.VisualStudio.2022.Community具有不同 ID 的版本的 ID 和Microsoft.VisualStudio.Product.Community产品 ID,以便为要安装 (for Professional: 和 Microsoft.VisualStudio.Product.Professionalfor Enterprise: Microsoft.VisualStudio.2022.ProfessionalMicrosoft.VisualStudio.2022.EnterpriseMicrosoft.VisualStudio.Product.Enterprise) 。

步骤 3A:运行 WinGet 配置以安装 WDK 配置文件

在保存 WDK 配置文件的目录下的命令行上,运行以下命令以使用该文件配置计算机:

winget configure -f configuration.dsc.yaml

步骤 3B:使用开发人员主页安装 WDK 配置文件

或者,如果已安装 开发人员主页 ,则可以使用它 来配置计算机。 从边栏中选择“计算机配置”,然后在main屏幕上选择“设置开发环境” > “配置文件”,打开已下载的 WDK 配置文件。 确认要使用该文件来配置计算机后,安装将继续,完成安装后,应该有一个可供驱动程序开发的环境。

另请参阅