WinGet (Windows 包管理器)是一种全面的 包管理器解决方案 ,其中包括:
-
WinGet:Windows 包管理器的命令行工具和客户端接口。 可以使用命令
winget search查看可用的包,找到更多 winget 命令:使用 WinGet 工具安装和管理应用程序。 - 将包提交到 Windows 程序包管理器:用于在 Windows 设备上托管和安装应用程序的打包服务。
- WinGet 配置文件:为Windows 程序包管理器创建一组说明,以合并手动设置设备并将新项目载入到可靠且可重复的单个命令的步骤。 WinGet 配置文件将 PowerShell Desired State Configuration (DSC)与 YAML 格式的说明和 WinGet 包结合使用来处理计算机设置。
对于以下人员来说,Windows 程序包管理器是一种有用的工具:
- 想要使用命令行管理其软件应用程序的开发人员。
- 想要分发软件的独立软件供应商 (ISV)。
- 希望自动设置和维护安全工作环境的企业组织 。
了解程序包管理器
包管理器是用于安装、升级、卸载和选择性配置软件的系统或工具集。 大多数程序包管理器都是设计用于发现和安装开发人员工具。
理想情况下,开发人员使用程序包管理器来指定先决条件,这些先决条件适用于为给定项目开发解决方案所需的工具。 然后,程序包管理器就会按照声明性说明来安装和配置这些工具。 程序包管理器可减少准备环境所需的时间,并有助于确保在计算机上安装相同版本的程序包。
第三方包管理器可以利用 WinGet 社区存储库 来增加其软件目录的大小。
面向开发人员的 WinGet
开发人员通过 winget 命令行工具使用 WinGet 来发现、安装、升级、删除和配置一组精选的应用程序。 安装后,开发人员可以通过 Windows 终端、PowerShell 或命令提示符访问 winget。
有关详细信息,请参阅使用 winget 工具安装和管理应用程序。
有关 winget 的视频演示,请参阅 Windows 程序包管理器简介。
在 Windows 命令行博客中找到最新的 WinGet 公告和版本更新。
用于 ISV 软件分发的 WinGet
独立软件供应商(ISV)可以使用 WinGet 作为包含其工具和应用程序的软件包的分发渠道。 若要将软件包提交到 WinGet 社区存储库,我们在 GitHub 上提供开源 WinGet 社区存储库 ,其中 ISV 可以上传 程序包清单 ,使其软件包被视为包含在默认 winget 源中。 清单及其所引用的包会被自动验证,也可以进行人工审核。
有关详细信息,请参阅 将包提交到 WinGet 社区存储库。
WinGet for Enterprise Security
可以通过命令行使用 WinGet 跨多台计算机安装和管理应用程序。 负责设置企业工作环境的人员(例如 IT 管理员或安全分析师)的目标是在每个人的工作计算机上保持一致的安全设置级别,他们也可通过 Microsoft Intune 使用“组策略”设置来管理安全性。
为了保持持续的安全更新,WinGet 通过 Microsoft Store 发布,并使用 “msstore”源 从 Microsoft 应用商店安装应用程序,同时应用“证书绑定”,以确保连接安全并与正确的终结点建立。
您的企业组织应用的组策略可能通过在 WinGet 与 Microsoft Store 源之间的防火墙进行 SSL 检查,导致 WinGet 客户端中出现连接错误。
因此,Winget(通过桌面应用安装程序)支持名为“BypassCertificatePinningForMicrosoftStore”的策略设置。 此策略控制在启动与 Microsoft 存储源的连接时,WinGet 是否会验证Microsoft存储证书哈希是否与已知Microsoft存储证书匹配。 此策略的选项包括:
- 未配置(默认值):如果未配置此策略,将遵循 Windows 程序包管理器管理员设置。 建议将此策略保留为“未配置”(默认值),除非有特定的需求要更改它。
- 启用:如果启用此策略,Windows 程序包管理器将绕过 Microsoft Store 证书验证。
- 禁用:如果禁用此策略,Windows 程序包管理器将在与 Microsoft Store 源通信之前,验证所用的 Microsoft Store 证书是否有效且属于 Microsoft Store。
“证书固定”可确保与 Microsoft Store 的程序包管理器连接是安全的,这有助于避免与中间人 (MITM) 攻击等攻击相关的风险,中间人攻击涉及到第三方将其自身插入到客户端(用户)和服务器(应用程序)之间来秘密地截获通信流,从而窃取登录凭据等敏感数据。禁用“证书固定”就是启用旁路,这可能会使组织暴露在这方面的风险中,因此应避免这样做。
若要详细了解如何为企业组织设置组策略,请参阅 Microsoft Intune 文档。
WinGet 的其他组策略设置
WinGet 通过组策略提供其他配置选项,允许 IT 管理员跨多个设备管理和控制功能。 对于符合性和一致性至关重要的企业环境,这些设置特别有用。
从 Windows 11 开始,每个版本都包含 WinGet 的其他组策略模板。 这些模板分为多个子类别,使 IT 管理员能够配置工具行为的关键方面,例如:
- 源代码管理:指定允许或阻止哪些源。
- 本地开发:控制用户是允许启用实验功能还是本地清单安装。
- 执行策略:为命令行接口和代理选项设置策略。
若要下载组策略模板,请执行以下步骤。
- 访问 WinGet GitHub 版本。
- 找到要使用的发布版本。
- 下载发布资源中包含的
DesktopAppInstallerPolicies.zip文件。
ZIP 文件包含部署策略所需的 .admx 文件和 .adml 文件。 下载 DesktopAppInstallerPolicies.zip 文件后:
- 提取本地计算机上的 ZIP 文件的内容。
- 将
.admx文件复制到C:\Windows\PolicyDefinitions目标设备上的文件夹。 - 将相应的特定于语言
.adml的文件复制到相应的子目录,例如C:\Windows\PolicyDefinitions\en-US。 - 打开组策略管理控制台(GPMC)以配置策略。
注释
在 Windows 域控制器上工作时,可以将组策略模板存储在中央存储中。 有关详细说明,请参阅 如何在 Windows 中创建和管理组策略管理模板的中央存储。
每个版本的 WinGet 都可能会引入新的组策略设置。 为了确保环境保持最新:
- 定期检查 WinGet GitHub 存储库 页上的更新。
- 查看发布说明,以了解策略模板的修改或新增。