例如:使用winget在windows系统中快速安装git:
winget install --id Git.Git -e --source winget
用户可以在 Windows 10 和 Windows 11 计算机上使用 winget 命令行工具来发现、安装、升级、删除和配置应用程序。 此工具是 Windows 程序包管理器服务的客户端接口。
安装 winget 客户端
有两个版本的 winget 客户端:
生产 [推荐]
对于大多数用户,你应该从 Microsoft Store 获取最新的生产版本。
客户端分布在应用安装程序包中,该包预安装在 Windows 上。 转到 Microsoft Store 后,只需更新应用安装程序即可安装 winget 命令行工具。
备注
winget 命令行工具仅在 Windows 10 1709(版本 16299)或更高版本上受支持。
预览 [仅开发人员]
想要尝试最新功能的开发人员可以安装 winget 命令行工具的最新预览版。 若要使用处于开发过程中的工具,可以执行以下任一操作:
-
安装位于 winget 存储库的“Release”页面上的 Windows 桌面应用安装程序包。 安装此包将为你提供 WinGet 客户端,但它不会从 Microsoft Store 中启用自动更新。
管理员注意事项
安装程序的行为可能会有所不同,具体取决于你是否是以管理员权限运行 winget。
-
在没有管理员权限的情况下运行 winget 时,某些应用程序可能会 要求提升权限才能进行安装。 当安装程序运行时,Windows 会提示你提升权限。 如果你选择不提升权限,则应用程序无法进行安装。
-
在管理员命令提示符下运行 winget 时,如果应用程序要求你提升权限,你不会看到 提升权限提示。 以管理员身份运行命令提示符时请务必小心,仅安装你信任的应用程序。
使用 winget
安装 应用安装程序 后,可以通过在命令提示符下键入“winget”来运行 winget。
最常见的使用场景之一是搜索并安装你最喜欢的工具。
-
若要搜索某个工具,请键入
winget search <appname>
。 -
确认你需要的工具可用后,可以通过键入
winget install <appname>
来安装该工具。 winget 工具会启动安装程序,将应用程序安装在你的电脑上。 -
除了安装和搜索外,winget 还提供了许多其他命令,用来 显示应用程序详细信息,更改源以及 验证程序包。 若要获取完整的命令列表,请键入
winget --help
。
一些用户报告了客户端不在其路径上的问题。
命令
winget 工具的当前预览版支持以下命令。
命令 | 说明 |
---|---|
install | 安装指定的应用程序。 |
show | 显示指定应用程序的详细信息。 |
source | 添加、删除和更新 winget 工具访问的 Windows 程序包管理器存储库。 |
search | 搜索某个应用程序。 |
list | 显示已安装的包。 |
升级 | 升级给定的包。 |
uninstall | 卸载给定的包。 |
hash | 为安装程序生成 SHA256 哈希。 |
validate | 验证要提交到 Windows 程序包管理器存储库的清单文件。 |
设置 | 打开设置。 |
功能 | 显示试验功能的状态。 |
export | 导出已安装包的列表。 |
import | 将所有包安装到一个文件中。 |
选项
winget 工具支持以下选项。
选项 | 描述 |
---|---|
-v、--version | 返回 winget 的当前版本。 |
--info | 提供有关 winget 的所有详细信息,包括许可证链接、隐私声明和配置的组策略。 |
-?、--help | 显示 winget 的其他帮助。 |
支持的安装程序格式
winget 工具支持以下类型的安装程序:
- EXE(具有 Silent 和 SilentWithProgress 标志)
- INNO
- NULLSOFT
- MSI
- APPX
- MSIX
- BURN
编写 winget 脚本
可以编写批处理脚本和 PowerShell 脚本来安装多个应用程序。
CMD复制
@echo off
Echo Install Powertoys and Terminal
REM Powertoys
winget install Microsoft.Powertoys
if %ERRORLEVEL% EQU 0 Echo Powertoys installed successfully.
REM Terminal
winget install Microsoft.WindowsTerminal
if %ERRORLEVEL% EQU 0 Echo Terminal installed successfully. %ERRORLEVEL%
备注
使用脚本时,winget 会按指定顺序启动应用程序。 当安装程序返回成功或失败时,winget 会启动下一个安装程序。 如果某个安装程序启动了另一进程,它可能会提前返回到 winget。 这会导致 winget 在上一个安装程序完成之前安装下一个安装程序。
调试和故障排除
winget 提供日志记录来帮助诊断问题。 有关日志记录的故障排除和详细信息,请参阅调试和故障排除。
缺少工具
如果社区存储库不包含你的工具或应用程序,请将包提交到我们的存储库。 添加你最喜爱的工具后,你和其他人都可以使用它。
自定义 winget 设置
可以通过修改 settings.json 文件配置 winget 命令行体验 。 有关详细信息,请参阅 https://aka.ms/winget-settings。 请注意,这些设置仍处于试验状态,并且尚未针对工具的预览版本最后确定。
开源详细信息
winget 工具是 GitHub 上的存储库 https://github.com/microsoft/winget-cli/ 中提供的一个开源软件。 用于构建客户端的源代码位于 src 文件夹中。
winget 的源代码包含在 Visual Studio 2019 C++ 解决方案中。 若要正确构建解决方案,请安装最新的包含 C++ 工作负荷的 Visual Studio。
我们鼓励你为 GitHub 上的 winget 源代码贡献力量。 你必须先同意并签署 Microsoft CLA。
疑难解答
winget-cli 存储库中有常见问题和常见错误的列表,还有相关解决方法建议:
建议的内容
-
install 命令
安装指定的应用程序。
-
source 命令
管理 Windows 程序包管理器访问的存储库。
-
search 命令
查询可用于安装的应用程序的源
-
upgrade 命令
升级指定的应用程序。
-
uninstall 命令
卸载指定的应用程序。
-
Windows 程序包管理器
Windows 程序包管理器是一个综合的程序包管理器解决方案,由一个命令行工具和一组用于在 Windows 10 上安装应用程序的服务组成。
-
list 命令
显示列出应用的列表以及是否有可用更新。
-
settings 命令
为 Windows 程序包管理器提供自定义项。
显示较少选项