upgrade工具命令winget将升级指定的应用程序。 (可选)可以使用 list 命令来标识想要 upgrade的应用程序。
该 upgrade 命令要求将确切字符串指定为 upgrade. 如果有任何歧义,系统会提示你进一步筛选 upgrade 命令,以确定具体的应用程序。
别名
以下别名可用于此命令:
update
使用情况
winget upgrade [[-q] <query> ...] [<options>]
参数
可使用以下参数。
| 参数 | 说明 |
|---|---|
-q, --query |
用于搜索应用的查询。 |
注意
查询参数是位置参数。 不支持通配符样式语法。 这通常是你期望帮助查找所升级的程序包的字符串。
选项
通过这些选项,你可以自定义 upgrade 体验以满足你的需求。
| 选项 | 说明 |
|---|---|
-m, --manifest |
必须后跟清单 (YAML) 文件的路径。 您可以使用清单从upgrade运行体验。 |
--id |
将 upgrade 限制为应用程序的 ID。 |
--name |
将搜索限制为应用程序的名称。 |
--moniker |
将搜索限制为针对应用程序列出的名字对象。 |
-v, --version |
使您能够为 upgrade 指定确切版本。 如果未指定,则最新版本将是 upgrade 版本最高的应用程序。 |
-s, --source |
将搜索限制为所提供的源名称。 必须后跟源名称。 |
-e, --exact |
在查询中使用确切的字符串,包括检查是否区分大小写。 它不会使用子字符串的默认行为。 |
-i, --interactive |
以交互模式运行安装程序。 默认体验会显示安装程序进度。 |
-h, --silent |
以静默模式运行安装程序。 此选项禁止显示所有 UI。 默认体验会显示安装程序进度。 |
--purge |
删除包目录中的所有文件和目录(可移植) |
-o, --log |
将日志记录定向到日志文件。 必须提供你具有写入权限的文件的路径。 |
--custom |
除默认值外,要传递给安装程序的参数。 |
--override |
要直接传递给安装程序的字符串。 |
-l, --location |
定位到 upgrade(如果支持)。 |
--scope |
选择已安装的包范围筛选器(用户或计算机)。 |
-a, --architecture |
选择要安装的体系结构。 |
--installer-type |
选择安装程序类型。upgrade 请参阅 WinGet 客户端支持的安装程序类型。 |
--locale |
指定要使用的区域设置(BCP47 格式)。 |
--ignore-security-hash |
替代安装程序哈希检查。 建议不要使用。 |
--allow-reboot |
允许重新启动(如果适用)。 |
--skip-dependencies |
跳过处理包依赖项和 Windows 功能。 |
--ignore-local-archive-malware-scan |
忽略作为从本地清单安装存档类型包的一部分执行的恶意软件扫描。 |
--accept-package-agreements |
用于接受许可协议,并避免出现提示。 |
--accept-source-agreements |
用于接受源许可协议,并避免出现提示。 |
--header |
可选 Windows-Package-Manager REST 源 HTTP 标头。 |
--authentication-mode |
指定身份验证窗口首选项(无提示、无提示首选或交互)。 |
--authentication-account |
指定用于身份验证的帐户。 |
-r、 --recurse、、 --all |
将所有已安装的包升级到最新版本(如果可用)。 |
-u、 --unknown、、 --include-unknown |
升级包(即使无法确定其当前版本)。 |
--pinned, --include-pinned |
即使包具有非阻止引脚,也会升级包。 |
--uninstall-previous |
在 upgrade 期间卸载该软件包的先前版本。 行为取决于单个包。 某些安装程序的设计是为了并行安装新版本。 某些安装程序包括指定“uninstallPrevious”的清单,以便卸载早期版本,而无需使用此命令标志。 在这种情况下,使用 winget upgrade --uninstall-previous 命令会指示 WinGet 卸载以前的版本而不考虑包清单中的内容。 如果包清单不包含“uninstallPrevious”,并且 --uninstall-previous 未使用标志,则安装程序的默认行为将适用。 |
--force |
直接运行命令并继续处理非安全相关问题。 |
-?, --help |
显示有关所选命令的帮助。 |
--wait |
提示用户在退出前按任意键。 |
--logs, --open-logs |
打开默认日志位置。 |
--verbose, --verbose-logs |
用于替代日志记录设置并创建详细日志。 |
--nowarn, --ignore-warnings |
禁止警告输出。 |
--disable-interactivity |
禁用交互式提示。 |
--proxy |
设置要用于此执行的代理。 |
--no-proxy |
禁用此执行使用代理。 |
查询示例
以下示例列出了具有 upgrade 可用项的应用程序。
winget upgrade
以下示例将升级特定版本的应用程序。
winget upgrade powertoys --version 0.15.2
以下示例将根据应用程序 ID 升级相应的应用程序。
winget upgrade --id Microsoft.PowerToys
以下示例演示如何升级所有应用程序。
winget upgrade --all
以下示例将 upgrade 到多个应用程序。
winget upgrade Microsoft.Edit Microsoft.NuGet
使用 upgrade
若要确定哪些应用需要 update,只需使用不带任何参数的 upgrade,即可显示所有可用的升级。
upgrade --all
upgrade --all 将 upgrade 所有有可用 update 的已安装应用程序。 运行winget upgrade --all时,Windows 程序包管理器查找具有可用更新的所有应用程序,并尝试安装更新。 在不使用任何参数的情况下先使用 upgrade ,预览将升级哪些应用。
注意
某些应用程序不提供版本。 它们始终是最新的。 由于 Windows 程序包管理器 无法识别该应用是否有更新版本,因此除非指定 -u、--unknown、--include-unknown 选项,否则将无法进行 upgrade
注意
某些应用程序可能已使用 WinGet 固定;如果指定了 --all 选项,则这些应用程序不会被升级,除非指定了 --include-pinned 选项。 在这种情况下,仅升级那些采用非阻塞式锁定的应用程序。
upgrade --uninstall-previous
upgrade --uninstall-previous 将在安装较新版本的包之前卸载以前的版本。 使用 --uninstall-previous 时,行为取决于单个包。 某些安装程序设计为将新版本与旧版本并行安装,而其他安装程序则包含一个清单,指定 uninstallPrevious 为其默认的 upgrade 行为(因此无需使用该命令标志即可卸载较早版本)。
如果包清单未将 uninstallPrevious 指定为 upgrade 行为,并且未将 --uninstall-previous 标志与 upgrade 命令一起使用,则安装程序将采用默认行为。
在