Winget 工具安装和管理应用程序
转载:Window 官方说明
用户可以在 Windows 10 和 Windows 11 计算机上使用 winget 命令行工具来发现、安装、升级、删除和配置应用程序。 此工具是 Windows 程序包管理器服务的客户端接口。
安装 Winget 客户端
默认情况下,Windows 程序包管理器 winget 命令行工具作为应用安装程序与 Windows 11 和现代版本的 Windows 10 捆绑在一起。
如果你运行的是早期版本的 Windows 并且未安装应用安装程序,则可从 Microsoft Store 获取应用安装程序。 如果已安装,请确保已将其更新为最新版本。
应用安装程序包含 winget 工具的生产版本。
有两个版本的 winget 客户端
生产 [推荐]
官方原文:https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#production-recommended
预览 [仅开发人员]
官方原文:https://docs.microsoft.com/zh-cn/windows/package-manager/winget/#preview-developers-only
管理员注意事项
安装程序的行为可能会有所不同,具体取决于你是否是以管理员权限运行 winget。
在没有管理员权限的情况下运行 winget 时,某些应用程序可能会 要求提升权限才能进行安装。 当安装程序运行时,Windows 会提示你提升权限。 如果你选择不提升权限,则应用程序无法进行安装。
在管理员命令提示符下运行 winget 时,如果应用程序要求你提升权限,你不会看到 提升权限提示。 以管理员身份运行命令提示符时请务必小心,仅安装你信任的应用程序。
使用 winget
安装应用安装程序后,可以通过在命令提示符下键入“winget”来运行 winget。
最常见的使用场景之一是搜索并安装你最喜欢的工具。
1.若要搜索某个工具,请键入
winget search <appname>。
2.确认你需要的工具可用后,可以通过以下命令安装工具
winget install <appname>
winget 工具会启动安装程序,将应用程序安装在你的电脑上。
3.除了安装和搜索外,winget 还提供了许多其他命令,用来显示应用程序详细信息,更改源以及验证程序包。 若要获取完整的命令列表,请键入
winget --help
一些用户报告了客户端不在其路径上的问题。
命令
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 工具支持以下类型的安装程序:
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。