使用 winget 工具安装和管理应用程序

例如:使用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 命令行工具的最新预览版。 若要使用处于开发过程中的工具,可以执行以下任一操作:

  • 参与 Windows 预览体验成员开发频道。

  • 安装位于 winget 存储库的“Release”页面上的 Windows 桌面应用安装程序包。 安装此包将为你提供 WinGet 客户端,但它不会从 Microsoft Store 中启用自动更新。

  • 参与 Windows 程序包管理器预览体验计划。

管理员注意事项

安装程序的行为可能会有所不同,具体取决于你是否是以管理员权限运行 winget

  • 在没有管理员权限的情况下运行 winget 时,某些应用程序可能会 要求提升权限才能进行安装。 当安装程序运行时,Windows 会提示你提升权限。 如果你选择不提升权限,则应用程序无法进行安装。

  • 在管理员命令提示符下运行 winget 时,如果应用程序要求你提升权限,你不会看到 提升权限提示。 以管理员身份运行命令提示符时请务必小心,仅安装你信任的应用程序。

使用 winget

安装 应用安装程序 后,可以通过在命令提示符下键入“winget”来运行 winget

最常见的使用场景之一是搜索并安装你最喜欢的工具。

  1. 若要搜索某个工具,请键入 winget search

  2. 确认你需要的工具可用后,可以通过键入 winget install  来安装该工具。 winget 工具会启动安装程序,将应用程序安装在你的电脑上。 

    使用 winget 工具安装和管理应用程序_第1张图片

  3. 除了安装和搜索外,winget 还提供了许多其他命令,用来 显示应用程序详细信息,更改源以及 验证程序包。 若要获取完整的命令列表,请键入 winget --help。 

    使用 winget 工具安装和管理应用程序_第2张图片

一些用户报告了客户端不在其路径上的问题。

命令

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 存储库中有常见问题和常见错误的列表,还有相关解决方法建议:

  • 常见问题 - 无法识别、无法运行、应用安装程序版本或 PATH 变量需要更新
  • 常见错误 - 错误 0x801901a0、0x80d03002、0x80070490

建议的内容

  • install 命令

    安装指定的应用程序。

  • source 命令

    管理 Windows 程序包管理器访问的存储库。

  • search 命令

    查询可用于安装的应用程序的源

  • upgrade 命令

    升级指定的应用程序。

  • uninstall 命令

    卸载指定的应用程序。

  • Windows 程序包管理器

    Windows 程序包管理器是一个综合的程序包管理器解决方案,由一个命令行工具和一组用于在 Windows 10 上安装应用程序的服务组成。

  • list 命令

    显示列出应用的列表以及是否有可用更新。

  • settings 命令

    为 Windows 程序包管理器提供自定义项。

显示较少选项

你可能感兴趣的:(杂项,windows,powershell,git,github)