使用 WinGet 安装 WDK
可以使用 Windows 软件包管理器 (WinGet) 工具在计算机上安装或更新 Windows 驱动程序工具包,以及 Visual Studio 和 Windows 软件开发工具包等依赖项,所有操作均可通过命令行完成。
如果需要帮助以确保正确安装和配置 WinGet,请参阅 WinGet 安装文档。
使用 WinGet 逐步安装最新 WDK
最新版本的 WDK 是 10.0.26100.1591。 它需要 Visual Studio 2022 和 Windows SDK 10.0.26100.1。有关详细信息,请参阅套件版本控制。
步骤 1:安装 Visual Studio 2022
WDK 需要安装带有 Desktop development with C++ 工作负载的 Visual Studio 2022,以及 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"
有关详情,请查阅 Visual Studio 文档如何使用 WinGet 安装或修改 Visual Studio。
步骤 2:安装 Windows SDK 和 WDK
可以通过运行以下命令从 WinGet 安装 Windows SDK 和 WDK:
Windows SDK:
winget install --source winget --exact --id Microsoft.WindowsSDK.10.0.26100 --log $env:USERPROFILE/Desktop/sdk-install.log
Windows WDK:
winget install --source winget --exact --id Microsoft.WindowsWDK.10.0.26100 --log $env:USERPROFILE/Desktop/wdk-install.log
如果使用的是 VS 17.11.0 或更高版本,请取消选中“安装扩展”复选框。
步骤 3:安装 WDK Visual Studio 扩展
注意
仅当使用低于 17.11.0 版本的 VS 时,此部分才适用
从命令行安装 WDK 后,还需要单独安装 Windows 驱动程序工具包 Visual Studio 扩展,然后才能生成和测试驱动程序。 默认情况下,扩展位于 %ProgramFiles(x86)%\Windows Kits\10\Vsix\VS2022\10.0.26100.0\%PROCESSOR_ARCHITECTURE%\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.26100.0\%PROCESSOR_ARCHITECTURE%\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.26100.0\${env:PROCESSOR_ARCHITECTURE}\WDK.vsix"
使用 WinGet 安装其他 WDK 版本
可以通过 WinGet 为不同的 Windows 版本安装多个工具包。
注意
对于 22000(面向 Windows 11 版本 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.0.22621.2428 Microsoft.WindowsWDK.10.0.22621 10.1.22621.2428 winget
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.26100.1 Microsoft.WindowsWDK.10.0.26100 10.1.26100.1 winget
然后就可以使用 winget install
为特定 <kit-version>
安装所需的套件组合:
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>
注意
如果 WinGet 中没有要查找的 Windows 驱动程序工具包版本,则需要从其他 WDK 下载中单独下载并安装。
除非已经安装了较新 WDK 的 WDK Visual Studio 扩展,否则需要手动安装。 对于 22621 及更新版本的工具包,它默认位于 %ProgramFiles(x86)%\Windows Kits\10\Vsix\<vs-version>\10.0.<kit-version>.0\WDK.vsix
下;对于 22000 及更新版本的工具包,它默认位于 %ProgramFiles(x86)%\Windows Kits\10\Vsix\<vs-version>\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 版本 24H2 WDK 及其依赖项的配置文件。 此配置将设置以下组件:
- Visual Studio 2022 Community。
- Visual Studio 开发驱动程序所需的工作流程和组件。
- Windows 11,版本 24H2 SDK。
- Windows 11,版本 24H2 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://raw.githubusercontent.com/microsoft/Windows-driver-samples/main/configuration.dsc.yaml' -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
和 Microsoft.VisualStudio.Product.Community
产品 ID,并为要安装的版本设置不同的 ID(专业版:Microsoft.VisualStudio.2022.Professional
和 Microsoft.VisualStudio.Product.Professional
;企业版:Microsoft.VisualStudio.2022.Enterprise
和 Microsoft.VisualStudio.Product.Enterprise
)。
步骤 3A: 运行 WinGet configure 以安装 WDK Configuration 文件
在保存 WDK 配置文件的目录下的命令行上运行以下命令,以便使用该文件来配置计算机:
winget configure -f configuration.dsc.yaml
步骤 3B:使用开发人员主页安装 WDK 配置文件
或者,如果安装了开发人员主页,则可以用它来配置计算机。 从侧栏中选择“计算机配置”,然后在主屏幕上选择“设置开发环境” > “配置文件”,打开已下载的 WDK 配置文件。 确认要使用该文件来配置计算机后,安装将继续进行,等到安装完成,就可以拥有一个用于驱动程序开发的环境了。
另请参阅
- 使用 WinGet 工具安装和管理应用程序
- WinGet 配置:如何使用 winget 和配置文件来设置计算机
- 使用命令行参数安装、更新和管理 Visual Studio
- Windows 11 硬件要求