如何在Windows 2022 Server中安装Winget包管理器
自从 Linux 系统诞生以来,无论是桌面还是服务器,它们都使用内置的包管理器来安装包,但是,在 Windows 上这是不可能的。 但随着微软的包管理器Winget的开发,包的安装现在变得更加方便和简单。 然而,在撰写本文时,Winget 的功能仅存在于 Windows 10 和 11 系统中,Windows 服务器仍然无法使用它。 但是,有一种方法可以通过满足其要求和依赖关系来在 Windows 服务器上手动安装 Winget,在这里我们学习如何在 Windows Server 2022 上执行此操作。
recommend:如何在Windows 11中使用Winstall批量安装应用程序
Winget是什么?
Winget(开源)是 Microsoft 为其 Windows 10 和 11 操作系统开发的官方包管理器。 它是一个命令行工具,可通过 PowerShell 或终端使用来管理软件应用程序。
以下是 Winget 的一些核心功能和用途:
- Winget 提供了一种使用命令行安装、更新、卸载和配置 Windows 应用程序的简单方法。
- 它使用命令行界面,因此无需访问 Microsoft Store 或第三方应用程序网站来安装软件。
- Winget 使用包含软件元数据的软件包存储库,确保安装和配置正确版本的应用程序。
- 由于 Winget 是一个命令行工具,因此可以编写脚本并将其集成到更大的自动化工作流程中,这对于系统管理员和 DevOps 非常有利。
- Winget 是一个开源工具,不仅可以处理 EXE,还可以处理 MSI 和 MSIX 包。 其代码可在 Git Hub 上找到。
- 使用它,Windows 用户将获得类似于 Linux distors 中的包管理器或 macOS 上的 Homebrew 的体验。
- 它简化了在 Windows 上管理软件的过程,尤其是批量或跨多个软件的管理。
先决条件
- 要学习本教程,我们需要 Windows Server 2022 或 2019。我们尚未在其他旧版本上尝试过,但您可以。
- 依赖关系 – Microsoft.ui.xaml.2.7.x and Microsoft.VCLibs.x64
- 管理员访问服务器。
- 互联网
以下是在 Windows 服务器上未安装 Winget 的情况下尝试使用 PowerShell 或命令提示符使用 Winget 时出现的错误。
winget : The term 'winget' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ winget
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (winget:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException或者如果其许可证未添加到系统中。
Program 'winget.exe' failed to run: No applicable app licenses foundAt line:1 char:1安装 Microsoft UI XAML 和 VCLib
由于Winget不是Windows Server 2022的一部分,并且默认情况下不附带Winget,因此我们需要手动安装Winget所需的依赖项。 让我们下载 Microsoft UI XAML,然后下载 Microsoft VCLibs。
Microsoft.UI.Xaml
Microsoft.UI.Xaml 是指 Windows UI 库 (WinUI) 的 NuGet 包。 它提供了一套 UI 控件和其他用户界面元素,开发人员可以使用它们来创建现代 Windows 应用程序。 要获取 Microsoft UI XAML 2.7 版本,请访问此 Nuget Web page 并单击 download 关联。 要获得想法,请参阅给定的屏幕截图。

在 Windows 2022 服务器上下载 Microsoft UI XAML 后,选择下载的文件并按 F2键 或右键单击选择“name change”来编辑它的扩展名。

改变 nupkg延伸至 zip压缩。 完成后,我们需要 右键点击 在文件上 提炼 它。

现在,按 转移钥匙 and 右键点击 上的任何地方 空白的 您提取文件的区域选择“Open PowerShell Windows here在此处打开 PowerShell Windows“ 选项。

use 添加Appxpackages 在 PowerShell 中使用命令来安装 用户界面 XML 在 Windows 服务器上。 这是命令:
切换到解压后的文件夹:
cd .\microsoft.ui.xaml.2.7.3\安装UI XML的APPX包
Add-AppxPackage -Path .\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.7.3.appx
Microsoft.VCLibs Appx
Microsoft Visual C++ 代表 Microsoft Visual C++ 库。 这些库对于在 Windows 上运行使用 Visual C++ 框架开发的应用程序是必需的。 要下载它,请访问 微软网页 并根据您的系统架构下载它,例如,我们使用的是Intel 64位,所以我们下载了x64版本。

现在,再次打开保存了 Microsoft VCLibs Appx 文件的 PowerShell,并将其添加到您的系统中。

下载 Microsoft.DesktopAppInstaller 和
一旦我们满足了 Windows Server 2022 上 Winget 的要求,下一步就是下载支持应用程序安装的 Msixbundle – Winget 在我们的系统上。 为此,请访问 Winget 的 GitHub 页面 并下载两个文件,其中一个是 微软桌面应用程序安装程序 另一个是 许可文件 可用它。

在 Windows 2022 服务器上安装 Winget
一旦系统上有这两个文件,请再次打开 powershell在保存文件的目录内。
运行给定的命令来安装已下载的 MSIXBundle
句法:
Add-AppxPackage package-name
notes: 根据我们下载的文件名,我们已在命令中使用它。 如果您的情况有所不同,请相应地使用它。
Add-AppxPackage .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle安装桌面安装程序后,还将下载的许可证文件分配给它:
句法:
Add-AppxProvisionedPackage -Online -Package name-of-the-package -LicensePath name-of-the-License–file
我们的例子中使用的命令:
Add-AppxProvisionedPackage -Online -Package .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -LicensePath .\24146eb205d040e69ef2d92d7034d97f_License1.xml
验证 Windows 服务器上的 Winget
成功完成上述所有步骤后,关闭所有当前的 PowerShell 窗口并使用管理员权限再次打开 PowerShell。
输入 –Winget您将看到所有可用的选项:

开始使用 Winget:
在 Windows 2022 服务器上安装 Winget 后,我们可以借助命令提示符或 Powershell 开始安装、更新和管理软件包。 例如,要安装 Git,您可以运行:
winget install Git.Git
要搜索包,请使用:
winget search package-name
使用 Winget 更新和卸载:
Winget 还可以轻松更新和卸载软件包。 对于更新:
winget upgrade package-name
以及卸载:
winget uninstall package-name
结论
尽管 Winget 不能在 Windows 服务器上开箱即用,但也许将来 Microsoft 会添加它。 尽管如此,Winget 对于任何 Windows 服务器环境来说都是一个非常强大的补充,可以像专业人士一样下载和安装应用程序。 它不仅节省了用户的时间,还让他们更有效地管理应用程序。