install 命令 (winget)
winget 工具的 install 命令可安装指定的应用程序。 使用 search 命令找到要安装的应用程序。
install 命令要求你指定要安装内容的具体字符串。 如果存在任何不明确性,系统会提示你进一步将 install 命令筛选到具体应用程序。
使用情况
winget install [[-q] <query> ...] [<options>]
别名
以下别名可用于此命令:
- add
参数
可使用以下参数。
参数 | 说明 |
---|---|
-q、--query | 用于搜索应用的查询。 |
注意
查询参数是位置参数。 不支持通配符样式语法。 这通常是你期望唯一标识要安装的程序包的字符串。
选项
这些选项允许你根据自己的需求自定义安装体验。
选项 | 说明 |
---|---|
-m、--manifest | 必须后跟清单 (YAML) 文件的路径。 可以使用清单从本地 YAML 文件运行安装体验。 |
--id | 将安装限制为应用程序的 ID。 |
--name | 将搜索限制为应用程序的名称。 |
--moniker | 将搜索限制为针对应用程序列出的名字对象。 |
-v、--version | 允许你指定要安装的确切版本。 如果此项未指定,则使用 latest 会安装最高版本的应用程序。 |
-s、--source | 将搜索限制为所提供的源名称。 必须后跟源名称。 |
--scope | 用于指定安装程序是应该以用户还是计算机范围为目标。 查看与包安装范围相关的已知问题。 |
-a, --architecture | 选择要安装的体系结构。 |
--installer-type | 选择要安装的安装程序类型。 请参阅 WinGet 客户端支持的安装程序类型。 |
-e、--exact | 在查询中使用确切的字符串,包括检查是否区分大小写。 它不会使用子字符串的默认行为。 |
-i、--interactive | 以交互模式运行安装程序。 默认体验会显示安装程序进度。 |
-h、--silent | 以静默模式运行安装程序。 此选项禁止显示所有 UI。 默认体验会显示安装程序进度。 |
--locale | 指定要使用的区域设置(BCP47 格式)。 |
-o、--log | 将日志记录定向到日志文件。 必须提供你具有写入权限的文件的路径。 |
--custom | 除默认值外,要传递给安装程序的参数。 |
--override | 要直接传递给安装程序的字符串。 |
-l、--location | 要安装到的位置(如果支持)。 |
--ignore-security-hash | 替代安装程序哈希检查。 建议不要使用。 |
--allow-reboot | 允许重新启动(如果适用)。 |
--skip-dependencies | 跳过处理包依赖项和 Windows 功能。 |
--ignore-local-archive-malware-scan | 忽略作为从本地清单安装存档类型包的一部分执行的恶意软件扫描。 |
--dependency-source | 使用指定的源查找包依赖项。 |
--accept-package-agreements | 用于接受许可协议,并避免出现提示。 |
--no-upgrade | 如果已安装的版本已存在,则跳过升级。 |
--header | 可选 Windows-Package-Manager REST 源 HTTP 标头。 |
--authentication-mode | 指定身份验证窗口首选项(无提示、无提示首选或交互)。 |
--authentication-account | 指定用于身份验证的帐户。 |
--accept-source-agreements | 用于接受源许可协议,并避免出现提示。 |
-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.15.2
以下示例根据应用程序 ID 安装相应应用程序。
winget install --id Microsoft.PowerToys
以下示例按版本和 ID 安装应用程序。
winget install --id Microsoft.PowerToys --version 0.15.2
多选
如果提供给 winget 的查询未生成单个应用程序,则 winget 会显示搜索结果。 这将为你提供优化搜索所需的其他数据,以便正确进行安装。
将所选内容限制为一个文件的最佳方式是结合使用应用程序的 ID 与 Exact 查询选项 。 例如:
winget install --id Git.Git -e
如果配置了多个源,则可能会有重复的条目。 需要指定源才能进一步消除歧义。
winget install --id Git.Git -e --source winget
msstore 源使用唯一标识符作为程序包的“Id”。 它们不需要精确查询选项。 例如:
winget install XP9KHM4BK9FZ7Q -s msstore
本地安装
使用“manifest”选项,可以通过将 YAML 文件直接传递到客户端来安装应用程序。 如果清单是多文件清单,则必须使用包含文件的目录。 “manifest”选项有以下用法。
用法:winget install --manifest \<path>
选项 | 说明 |
---|---|
-m、--manifest | 要安装的应用程序的清单的路径。 |
注意
从本地清单文件安装程序包可能存在风险。 作为额外的预防措施,此功能需要由管理员启用。 若要启用此功能,请运行 winget settings --enable LocalManifestFiles
。 若要禁用此功能,请运行 winget settings --disable LocalManifestFiles
。
日志文件
除非重定向,否则 winget 的日志文件将位于以下文件夹中:%temp%\AICLI\*.log
许可协议
某些应用程序在安装时要求用户在安装前同意许可协议或其他协议。 发生这种情况时,Windows 程序包管理器会提示用户同意协议。 如果用户不同意,则应用程序不会安装。
在命令行中,可以通过在命令行上传递 以下选项 --accept-package-agreements 来自动接受协议。 这在编写 Windows 程序包管理器脚本时可能会非常有用。