培训
模块
了解 Windows 程序包管理器工具 - Training
使用 Windows 程序包管理器简化计算机上的软件安装和维护。 介绍前端组件和命令、Windows 程序包管理器存储库,以及如何在该存储库中贡献内容。
使用 WinGet 配置文件,可以将手动计算机设置和项目载入合并到一个可靠且可重复的命令中。 为此,WinGet 利用以下各项:
winget configure
命令,以启动配置过程。使用 WinGet 配置文件的好处包括:
winget configure
命令,让 Windows 程序包管理器和 PowerShell DSC 自动安装和设置在 Windows 计算机上配置所需开发环境所需的所有要求。警告
在应用 WinGet 配置文件和任何关联的 PowerShell DSC 资源之前,应进行检查,以确保它们是可信的。
若要使用 WinGet 配置文件设置计算机,可执行以下操作:
安装开发人员主页,转到“计算机配置”,选择“配置文件”,然后选择要使用的 WinGet 配置文件。 (若要创建配置文件,请参阅如何创作 WinGet 配置文件)。
在命令行中使用 winget configure。 若要使用 winget configure
命令,必须运行 WinGet 版本 v1.6.2631 或更高版本。
查找有关 WinGet 配置的一些最常见问题的解答。
WinGet 配置文件以 YAML 编写,用于定义设备上安装的内容以构成开发环境,以及计算机和已安装应用程序的配置状态。
WinGet 配置文件不是要遵循的命令性步骤序列,而是声明性的,用于定义所需的计算机配置状态结果。 通过使用 Windows 程序包管理器和 PowerShell DSC 资源,声明性 WinGet 配置文件可以安装、配置设置并将其应用于你的环境,从而生成编码就绪状态。
WinGet 将分析配置文件以确保其有效,然后下载实现所需状态所需的所有关联的 PowerShell 模块(包含 DSC 资源)。 下载这些资源,检查 WinGet 配置文件的可信度并同意已验证文件的安全性后,WinGet 将开始测试所有必需的断言并应用所需的状态。
WinGet 配置文件资源的排序顺序是无关紧要的。 某些安装和配置过程甚至可能并行运行。 断言直接对应于每个资源中定义的 dependsOn
字段。 如果资源包含对断言的依赖关系,则将首先检查断言。 如果断言失败,依赖资源也将失败。 但是,配置文件将继续运行,完成尽可能多的任务,即使某些断言或资源依赖项失败,也会让你的计算机尽可能多地完成设置过程。 配置完成后,由你负责检查任何故障。
例如,运行 WinGet 配置文件后,可能会看到如下所示的结果:
Assert:: OsVersion
The configuration unit could not be found.
Apply :: DeveloperMode
This configuration unity was not run because an assert failed or was false.
Apply :: WinGetPackage [vsPackage]
This configuration unity was not run because an assert failed or was false.
在此示例中,对所需版本的操作系统的断言检查失败,因此包含操作系统版本对该断言的依赖关系的 DeveloperMode 和 WinGetPackage 资源也失败。 但是,配置文件中列出的任何其他安装和配置任务将继续进行。
WinGet 配置文件的声明性(非顺序)性质的一个好处是,添加到文件的新资源的位置无关紧要。 这对于长配置文件尤其有用,因为只需将其他资源添加到文件底部即可。 只要正确定义了断言和依赖项,就无需考虑顺序,也无需考虑设置步骤是先执行还是后执行等等。
若要运行 WinGet 配置文件,请使用 winget configure
命令。
若要创建 WinGet 配置文件,请按照如何创作 WinGet 配置文件文档中的指导进行操作。
建议在运行 WinGet 配置文件之前始终验证其完整性,方法是查看其内容并在隔离环境中测试配置。 请参阅如何检查 WinGet 配置文件的可信度。
有关示例 WinGet 配置文件,可查看 Windows 开发人员主页存储库:https://aka.ms/dsc.yaml。
PowerShell 库托管数百个包含 Desired State Configuration (DSC) 资源的 PowerShell 模块。 可以通过应用“类别”下的“DSC 资源”筛选器来筛选搜索结果。
是的。 组策略对象 EnableWindowsPackageManagerConfiguration 和 EnableWindowsPackageManagerConfigurationExplanation 可用于在组织中禁用 WinGet 配置功能。
请参阅使用开发人员主页设置 Windows 开发环境一文,详细了解如何使用 Windows 11 开发人员主页中的计算机配置工具。 你可能还有兴趣了解如何使用性能更加优化的开发人员驱动器存储卷。请参阅在 Windows 11 上设置开发人员驱动器。
WinGet 配置失败的最常见原因是 PowerShell DSC 资源需要管理访问权限才能应用所需状态。 并非所有 DSC 资源都会显示明确的失败原因。
我们很很快添加更多常见的故障排除问题。 同时,检查在 GitHub 上的 WinGet CLI 存储库中提交的相关问题。
培训
模块
了解 Windows 程序包管理器工具 - Training
使用 Windows 程序包管理器简化计算机上的软件安装和维护。 介绍前端组件和命令、Windows 程序包管理器存储库,以及如何在该存储库中贡献内容。