install 命令 (winget)

wingetinstall 命令用于安装指定的应用程序。 使用 search 命令识别要 install 的应用程序。 show使用命令查看有关 WinGet 为系统选择的应用程序和安装程序的详细信息。

install 命令要求将确切字符串指定为 install. 如果有任何歧义,系统会提示你进一步筛选 install 命令,以确定具体的应用程序。

使用情况

winget install [[-q] <query> ...] [<options>]

列出 winget 导入命令帮助选项的屏幕截图。

别名

以下别名可用于此命令:

  • add

参数

可使用以下参数。

参数 说明
-q, --query 用于搜索应用的查询。

注意

查询参数是位置参数。 默认情况下,winget 会对包名称、ID 和别名进行 不区分大小写的子字符串匹配。 不支持通配符语法。 使用 -e时, --exact 需要完全匹配(区分大小写)。 使用 --id--name--moniker 限制搜索的字段。

选项

通过这些选项,你可以自定义 install 体验以满足你的需求。

选项 说明
-m, --manifest 必须后跟清单 (YAML) 文件的路径。 可以使用清单从本地 YAML 文件运行 install 体验。
--id 将 install 限制为应用程序的 ID。
--name 将搜索限制为应用程序的名称。
--moniker 将搜索限制为针对应用程序列出的名字对象。
-v, --version 使您能够为 install 指定确切版本。 如果未指定,则最新版本将是 install 版本最高的应用程序。
-s, --source 将搜索限制为提供的源名称。 必须后跟源名称。
--scope 用于指定安装程序是应该以用户还是计算机范围为目标。 查看与包安装范围相关的已知问题
-a, --architecture 选择要 install 的体系结构。
--installer-type 选择要 install 的安装程序类型。 请参阅 WinGet 客户端支持的安装程序类型
-e, --exact 在查询中使用确切的字符串,包括检查是否区分大小写。 它不会使用子字符串的默认行为。
-i, --interactive 以交互模式运行安装程序。 默认体验会显示安装程序进度。
-h, --silent 以静默模式运行安装程序。 此选项禁止显示所有 UI。 默认体验会显示安装程序进度。
--locale 指定要使用的区域设置(BCP47 格式)。
-o, --log 将日志记录定向到日志文件。 必须提供你具有写入权限的文件的路径。
--custom 除默认值外,要传递给安装程序的参数。
--override 要直接传递给安装程序的字符串。
-l, --location 要 install 到的位置(如果支持)。
--ignore-security-hash 替代安装程序哈希检查。 建议不要使用。
--allow-reboot 允许重新启动(如果适用)。
--skip-dependencies 跳过处理包依赖项和 Windows 功能。
--ignore-local-archive-malware-scan 忽略作为从本地清单安装存档类型包的一部分执行的恶意软件扫描。
--dependency-source 使用指定的源查找包依赖项。
--accept-package-agreements 接受程序包安装程序提供的任何许可协议或 EULA,从而抑制交互式提示。 这仅适用于程序包自己的许可条款 , 它不会影响安装程序提供的可选组件或捆绑软件。 对于完全非交互式的install,请结合--silent-h使用。
--no-upgrade 如果已安装的版本已存在,则跳过升级。
--header 可选 Windows-Package-Manager REST 源 HTTP 标头。
--authentication-mode 指定身份验证窗口首选项(无提示、无提示首选或交互)。
--authentication-account 指定用于身份验证的帐户。
--accept-source-agreements 接受 WinGet 源(存储库)的许可协议,禁止显示交互式提示。 这与任何包许可证分开 , 它涵盖源本身的使用条款,例如 winget 社区存储库。
-r, --rename 重命名可执行文件(可移植)的值。
--uninstall-previous 在升级过程中卸载包的早期版本。
--force 直接运行命令并继续处理非安全相关问题。
-?, --help 获取有关此命令的更多帮助。
--wait 提示用户在退出前按任意键。
--logs, --open-logs 打开默认日志位置。
--verbose, --verbose-logs 用于替代日志记录设置并创建详细日志。
--nowarn, --ignore-warnings 禁止警告输出。
--disable-interactivity 禁用交互式提示。
--proxy 设置要用于此执行的代理。
--no-proxy 禁用此执行使用代理。

查询示例

以下示例安装特定版本的应用程序。

winget install powertoys --version 0.91.1

以下示例根据应用程序 ID 安装相应应用程序。

winget install --id Microsoft.PowerToys

以下示例按版本和 ID 安装应用程序。

winget install --id Microsoft.PowerToys --version 0.91.1

安装多个包

您可以使用空格分隔列出包的 ID 来在一个命令中 install 多个包。

winget install Microsoft.VisualStudioCode Microsoft.PowerShell Git.Git

WinGet 按顺序安装每个包。 这对于快速设置新计算机或与同事共享一组工具非常有用。

小窍门

对于较大的软件包集合,请考虑使用 winget 导出winget 导入 来保存并还原完整的软件包列表,或使用 winget 配置 在单个文件中将 install 软件包与其他计算机配置一起进行配置。

消除结果歧义

如果提供给 WinGet 的查询不会导致单个应用程序, 则 WinGet 将显示搜索结果。 这将为你提供优化搜索所需的其他数据,以便正确进行 install。

将所选内容限制为一个文件的最佳方式是结合使用应用程序的 ID 与 Exact 查询选项。 例如:

winget install --id Git.Git -e

如果配置了多个源,则可能会有重复的条目。 需要指定源才能进一步消除歧义。

winget install --id Git.Git -e --source winget

msstore 源使用唯一标识符作为程序包的“Id”。 这些选项不需要 确切 的查询选项。 例如:

winget install XP9KHM4BK9FZ7Q -s msstore

本地 install

使用 manifest 选项,可以通过将 YAML 文件直接传递到客户端来 install 应用程序。 如果清单是多文件清单,则必须使用包含文件的目录。 “manifest”选项有以下用法。

使用情况:winget install --manifest \<path>

选项 说明
-m, --manifest 要 install 的应用程序的清单的路径。

从本地清单文件安装程序包可能存在风险。 作为额外的预防措施,此功能需要由管理员启用。 若要启用此功能,请运行 winget settings --enable LocalManifestFiles。 若要禁用此功能,请运行 winget settings --disable LocalManifestFiles

日志文件

除非重定向,否则 WinGet 的日志文件将位于以下文件夹中: \%LOCALAPPDATA%\\Packages\\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\\LocalState\\DiagOutputDir\\*.log

许可协议

某些应用程序在安装时要求用户在安装前同意许可协议或其他协议。 发生这种情况时,Windows 程序包管理器会提示用户同意协议。 如果用户不同意,则应用程序不会 install。

用户协议提示的 winget屏幕截图。

在命令行中,可以通过在命令行上传递以下选项 --accept-package-agreements 来自动接受协议。 这在编写 Windows 程序包管理器脚本时可能会非常有用。