Windows 程序包管理器

Windows 程序包管理器是一个全面的程序包管理器解决方案,由一个命令行工具 (WinGet) 和一组用于在 Windows 设备上安装应用程序的服务组成。

对于以下人员来说,Windows 程序包管理器是一种有用的工具:

了解程序包管理器

程序包管理器是一个用于自动安装、升级、配置和使用软件的系统或工具集。 大多数程序包管理器都是设计用于发现和安装开发人员工具。

理想情况下,开发人员使用程序包管理器来指定先决条件,这些先决条件适用于为给定项目开发解决方案所需的工具。 然后,程序包管理器就会按照声明性说明来安装和配置这些工具。 程序包管理器可减少准备环境所需的时间,并有助于确保在计算机上安装相同版本的程序包。

第三方程序包管理器可以利用 Microsoft 社区程序包清单存储库增加其软件目录的大小。

面向开发人员的 Windows 程序包管理器

开发人员可以使用 winget 命令行工具发现、安装、升级、删除和配置特选应用程序集。 安装后,开发人员可以通过 Windows 终端、PowerShell 或命令提示符访问 winget。

有关详细信息,请参阅使用 winget 工具安装和管理应用程序

有关 winget 的视频演示,请参阅 Windows 程序包管理器简介

有关最新公告和版本更新,请参阅 Windows 命令行博客,包括:

适用于 ISV 软件分发的 Windows 程序包管理器

独立软件供应商 (ISV) 可以将 Windows 程序包管理器用作包含工具和应用程序的软件包的分发渠道。 我们在 GitHub 上提供了开源 Microsoft 社区程序包清单存储库,方便用户将软件包(包含 .msix、.msi 或 .exe 安装程序)提交到 Windows 程序包管理器。ISV 可以在 GitHub 中上传程序包清单,我们在考虑后会决定是否将其软件包包括在 Windows 程序包管理器中。 清单会自动进行验证,你也可以手动查看清单。

有关详细信息,请参阅将程序包提交到 Windows 程序包管理器

适用于企业安全性的 Windows 程序包管理器

可在命令行中使用 WinGet 客户端跨多台计算机安装和管理应用程序。 负责设置企业工作环境的人员(例如 IT 管理员或安全分析师)的目标是在每个人的工作计算机上保持一致的安全设置级别,他们也可通过 Microsoft Intune 使用“组策略”设置来管理安全性。

为了保持持续的安全更新,WinGet 客户端通过 Microsoft Store 发布,同时使用“msstore”源从 Microsoft Store 安装应用程序,并应用“证书固定”来确保连接是安全的且使用正确的终结点建立。

企业组织应用的组策略可能通过 WinGet 客户端与 Microsoft Store 源之间的防火墙使用 SSL 检查,这样连接错误显示在 WinGet 客户端中。

因此,Windows 程序包管理器桌面安装程序支持名为“BypassCertificatePinningForMicrosoftStore”的策略设置。 此策略控制在发起与 Microsoft Store 源的连接时,Windows 程序包管理器是否会验证 Microsoft Store 证书哈希是否与已知的 Microsoft Store 证书匹配。 此策略的选项包括:

  • 未配置(默认值):如果未配置此策略,将遵循 Windows 程序包管理器管理员设置。 建议将此策略保留为“未配置”(默认值),除非有特定的需求要更改它。
  • 启用:如果启用此策略,Windows 程序包管理器将绕过 Microsoft Store 证书验证。
  • 禁用:如果禁用此策略,Windows 程序包管理器将在与 Microsoft Store 源通信之前,验证所用的 Microsoft Store 证书是否有效且属于 Microsoft Store。

“证书固定”可确保与 Microsoft Store 的程序包管理器连接是安全的,这有助于避免与中间人 (MITM) 攻击等攻击相关的风险,中间人攻击涉及到第三方将其自身插入到客户端(用户)和服务器(应用程序)之间来秘密地截获通信流,从而窃取登录凭据等敏感数据。禁用“证书固定”就是启用旁路,这可能会使组织暴露在这方面的风险中,因此应避免这样做。

若要详细了解如何为企业组织设置组策略,请参阅 Microsoft Intune 文档