Windows 程序包管理器

Windows 程序包管理器是一个综合的程序包管理器解决方案,由一个命令行工具和一组用于在 Windows 10 和 Windows 11 上安装应用程序的服务组成。程序包管理器是一个用于自动安装、升级、配置和使用软件的系统或工具集。 大多数程序包管理器都是设计用于发现和安装开发人员工具。理想情况下,开发人员使用程序包管理器来指定先决条件,这些先决条件适用于为给定项目开发解决方案所需的工具。 然后,程序包管理器就会按照声明性说明来安装和配置这些工具。 程序包管理器可减少准备环境所需的时间,并有助于确保在计算机上安装相同版本的程序包。

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

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

安装 winget

默认情况下,Windows 程序包管理器 winget 命令行工具作为应用安装程序与 Windows 11 捆绑在一起。

  • 如果你运行的是早期版本的 Windows 并且未安装应用安装程序,则可从 Microsoft Store 获取应用安装程序,应用安装程序包含 winget 工具的生产版本。

  • 安装 winget 预览版 [仅限开发人员], winget 存储库的“Release”页面上的 Windows 桌面应用安装程序包。 安装此包将为你提供 WinGet 预览版客户端,但它不会从 Microsoft Store 中启用自动更新。

⚠️:winget 命令行工具仅在 Windows 10 1709(版本 16299)或更高版本上受支持。

使用 winget命令

设置

1
winget settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//对 WinGet 源的配置。
"source": {
"autoUpdateIntervalInMinutes": 5
//正整数表示以分钟为单位的更新间隔。仅在使用源时才会检查更新。零将禁用对源的更新检查。任何其他值均无效。
//禁用:0
//默认值:5
},

//WinGet 显示的视觉元素
"visual": {
"progressBar": "rainbow"
//accent(default) retro rainbow
},

//当前用户或整台机器安装包之间的选择。匹配参数是--scope, 并使用相同的值(user或machine)。
"installBehavior": {
"preferences": {
"scope": "user"
}
},

//logging设置控制日志文件中的详细程度。--verbose-logs将覆盖此设置并始终创建详细日志。
"logging": {
"level": "info"
//verbose info(default) warning error critical
},

"experimentalFeatures": {
"dependencies": true, //依赖项,旨在管理依赖项的实验性功能,到目前为止,它仅显示包依赖项信息。您可以启用该功能。
"directMSI": true, //直接使用 MSI API 安装 MSI 包,而不是通过 msiexec。
"experimentalCmd": true,
"experimentalArg": false
}

常用命令

显示已安装的软件包

1
2
winget list           
winget list --name <name>

查询可用于安装的应用程序的源

1
winget search <name>

安装

1
2
winget install <name>
winget install <name> -l <path> #要安装到的位置(如果支持)。

升级

1
2
winget upgrade <name>
winget upgrade --all #升级所有应用

卸载

1
2
winget uninstall --name <name>
winget uninstall --name <name> --version <Version>

winget工具的当前预览版支持以下命令

命令描述
install安装指定的应用程序。
show显示指定应用程序的详细信息。
source添加、删除和更新winget工具访问的 Windows 包管理器存储库。
search搜索应用程序。
list显示已安装的软件包。
upgrade升级指定的包。
uninstall卸载指定的包。
hash为安装程序生成 SHA256 哈希。
validate验证清单文件以提交到 Windows 包管理器存储库。
settings打开设置。
features显示实验功能的状态。
export导出已安装包的列表。
import将所有软件包安装在一个文件中。

选项

winget工具支持以下选项。

选项描述
-v, --version返回当前版本的 winget。
–info为您提供有关 winget 的所有详细信息,包括指向许可、隐私声明和配置的组策略的链接。
-?, --help显示 winget 的额外帮助。

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