当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

作者:精品下载站 日期:2024-12-14 23:13:47 浏览:12 分类:玩电脑

在 Windows 10 和 11 上使用 WinGet 包管理器


Windows 10 和 11 上出现了新的本机包管理器 WinGetWindows 包管理器)。您可以使用它从命令提示符安装应用程序(类似于 yum、dnf、apt 等 Linux 包管理器)。

WinGet.exe

是一个控制台工具,可以在运行 Windows 的计算机上更轻松地安装应用程序(如 Chocolatey 包管理器)。要安装程序,您无需搜索官方网站、下载安装文件并手动安装应用程序。使用 Windows 包管理器,您只需一个命令即可安装或更新存储库中的任何程序。

如何在 Windows 10 上安装 WinGet 包管理器?

您可以在版本 1709 或更高版本的 Windows 10 上安装 WinGet。 Winget 已嵌入到当前 Windows 11 21H2 和 Windows 10 21H1 版本的映像中。

要检查您的计算机上是否安装了 winget,请打开 PowerShell 控制台并运行以下命令:

Get-AppPackage *Microsoft.DesktopAppInstaller*|select Name,PackageFullName

在我们的示例中,安装了 winget(UWP 应用程序的名称是

Microsoft.DesktopAppInstaller

)。

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

您只能在 Windows 桌面版本(10 和 11)上使用 winget。 Windows Server 2022 不正式支持 Winget,但可以以实验模式安装。

您可以从 Microsoft Store 安装 WinGet(那里称为应用程序安装程序)https://www.microsoft.com/en-us/p/app-installer/9nblggh4nns1#activetab=pivot:overviewtab

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

要安装 Winget,您的计算机上必须运行 MS Store(如果 Microsoft Store 被删除或损坏,您可以重新安装或修复)。

此外,您还可以使用 PowerShell 手动安装 winget(如果您删除了 Windows 中的内置 UWP 应用程序)。为此,您需要使用 PowerShell 从 GitHub (https://github.com/microsoft/winget-cli/releases) 下载 winget msixbundle 文件并安装它:

Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/download/v1.1.12653/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -OutFile "C:\PS\WinGet.msixbundle"
Add-AppxPackage "C:\PS\WinGet.msixbundle"

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

您还可以手动下载并安装 WinGet 包。

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

使用以下命令检查已安装的 winget 版本:

winget --version

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

以下是基本的 winget 命令:

  • winget install <package>

    —安装一个包

  • winget uninstall <package>

    — 删除包

  • winget upgrade

    - 更新软件包

  • winget list

    - 列出 Windows 上已安装的应用程序

  • winget show <package>

    — 显示包信息

  • winget source <options>

    — 管理存储库

  • winget search <search_string>

    — 在存储库中搜索包

  • winget export

    - 将已安装程序的列表导出到文件

  • winget import

    - 根据文件中的列表安装程序(包)

  • winget hash <package>

    — 获取软件包安装程序哈希值

  • winget validate <package>

    — 验证清单文件

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

winget 设置存储在 settings.json 文件中(

C:\Users\%username%\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState

)。您可以使用以下命令更改 Winget 设置:

winget settings

使用WinGet在Windows中部署软件包

在线存储库用于通过 WinGet 包管理器安装程序。可以使用以下命令显示它们的列表:

winget source list

默认情况下,WinGet 中有两个可用的官方存储库:

  • msstore (https://storeedgefd.dsx.mp.microsoft.com/v9.0) - Microsoft Store 存储库

  • winget (https://winget.azureedge.net/cache) - 由 Microsoft 维护的基本 winget 软件存储库

您可以在 WinGet 中连接第三方存储库。您可以使用以下命令添加其他源:

winget source

在通过 WinGet 安装应用程序之前,您需要找出包名称。要搜索包,请使用搜索命令。例如,要在存储库中搜索 zip 存档管理器,请运行以下命令:

winget search zip

如果您只想在 Microsoft Store 存储库中搜索该程序,请运行:

winget search zip -s msstore

该命令返回与您的查询匹配的包列表(及其名称和版本)。请注意来源列。它列出了包所在的存储库。

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

您可以获得有关特定包的信息:

winget show 7zip.7zip

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

一个包的多个版本可以托管在存储库中。为了显示可用软件包版本的列表,请运行:

winget show 7zip.7zip --versions

例如,您想要安装7zip。复制其名称或 ID 并运行以下安装命令:

winget install 7zip.7zip

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

默认情况下会安装该程序的最新可用版本。您可以安装特定版本的软件包:

winget install 7zip.7zip -v 21.05

如您所见,包管理器已使用单个命令自动下载并安装该应用程序。该程序已出现在 Windows“开始”菜单的已安装软件列表中。

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

然后让我们为 PowerShell 脚本安装 Windows 终端和 VSCode。

首先搜索包名:

winget search terminal
winget search "visual studio"

然后依次安装:

winget install Microsoft.WindowsTerminal -e ; winget install Microsoft.VisualStudioCode -e

如果您想在后台运行软件包安装,请使用-silent选项:

winget install "VLC media player" --silent

当您安装某些软件时,您可以自动接受使用条款。例如,安装 Sysinternals 工具包时:

winget install sysinternals --accept-package-agreements

默认情况下,程序安装在系统驱动器的 Program Files 文件夹中。您可以更改程序的安装文件夹:

winget install microsoft.visualstudiocode --location "D:\Programs"

请注意,在没有管理员权限的情况下运行winget时,安装某些程序时可能会出现UAC提升提示。如果您在提升的 cmd/PowerShell 控制台中运行 winget,则所有程序都会在没有 UAC 提示的情况下安装(请小心,仅安装您信任的应用程序)。

Winstall:WinGet 包管理器的 Web GUI

不喜欢 winget CLI 界面的用户可以使用 Winstall Web 服务 (https://winstall.app/)。 Winstall 是 WinGet 存储库的图形界面(有超过 2900 个程序可供安装)。

您可以使用 Winstall 为您需要的程序生成安装脚本。在存储库中找到程序并单击

+

将它们添加到安装脚本中。

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

然后单击生成脚本按钮,该服务将创建一个 CLI 命令来安装所选的应用程序包。

从批处理或 PowerShell 选项卡复制代码并将其粘贴到 cmd.exe 或 PowerShell 控制台中。

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

因此,您只需一个命令即可安装所需的程序。

WinGet:在 Windows 上更新和删除软件包

WinGet 不仅允许您安装程序,还允许更新或删除它们。要显示计算机上已安装程序的列表,请运行:

winget list

该命令将显示计算机上安装的程序的完整列表(包括未通过 winget 安装的程序)。如果程序有可用更新,新版本将显示在可用列中。

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

要更新通过 winget 安装的应用程序,请运行以下命令:

winget upgrade --id 7zip.7zip

您可以一次更新所有已安装的程序:

winget upgrade --all

要删除程序,请使用以下命令:

winget uninstall --name 7zip.7zip

您还可以通过 ID 卸载不是通过 WinGet 安装的应用程序:

winget uninstall --id "{0F693AA3-4387-4ACB-A6FD-3A396290587}"

通过 WinGet 将已安装的软件列表导出和导入到另一台计算机

使用 WinGet,您可以将计算机上安装的程序列表导出到 JSON 文件,然后使用此文件在另一台计算机上快速安装(导入)同一组应用程序。

要将已安装应用程序的列表导出到 JSON 文件,请运行:

winget export -o c:\ps\installedapps.json --include-versions

如果该程序没有清单,则该命令将显示错误安装的软件包在任何源中均不可用

该文件包含通过 Windows 包管理器安装的程序列表。

[玩转系统] 在 Windows 10 和 11 上使用 WinGet 包管理器

要从另一台计算机上的 JSON 文件安装一组程序,请运行以下命令:

winget import -o .\installed_apps.json

Windows 包管理器可以在安装过程中忽略版本和不可用的程序,方法是添加

--ignore-unavailable

--ignore-versions

选项。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯