
自 linux 系统开始以来,无论是桌面还是服务器,他们都使用内置的包管理器来安装包,但是,在 windows 上,这是不可能的。但是随着 microsoft 的包管理器 winget 的开发,包的安装现在更加方便和容易。然而,在撰写本文时,winget 的功能仅存在于 windows 10 和 11 系统中,而 windows 服务器仍然被剥夺了它。但是,有一种方法可以通过满足其要求和依赖关系在 windows 服务器上手动安装 winget,在这里我们学习如何在 windows server 2022 上执行此操作。
什么是winget?
winget(开源)是microsoft为其windows 10和11操作系统开发的官方包管理器。它是一个命令行工具,可以通过 powershell 或终端用于管理软件应用程序。
以下是 winget 的一些核心功能和用途:
- winget 提供了一种使用命令行安装、更新、卸载和配置 windows 应用程序的简单方法。
- 它使用命令行界面,因此无需访问microsoft商店或第三方应用程序网站来安装软件。
- winget 使用包含软件元数据的软件包存储库,确保安装和配置正确版本的应用程序。
- 由于 winget 是一个命令行工具,因此可以编写脚本并将其集成到更大的自动化工作流中,这对系统管理员和 devops 非常有益。
- winget 是一个开源工具,不仅可以处理 exe,还可以处理 msi 和 msix 包。其代码可在 git hub 上找到。
- 使用它,windows 用户将获得类似于 linux 发行版中的包管理器或 macos 上的 homebrew 的体验。
- 它简化了在 windows 上管理软件的过程,尤其是批量或跨多个软件。
先决条件
- 要遵循本教程,我们需要 windows server 2022 或 2019。我们还没有在其他旧版本上尝试过,但你可以。
- 依赖项 – microsoft.ui.xaml.2.7.x 和 microsoft.vclibs.x64
- 对服务器的管理员访问权限。
- 上网
如果我们尝试使用 powershell 或命令提示符使用它,则在 windows 服务器上安装 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 和 vclibs
由于 winget 不是 windows server 2022 的一部分,并且默认情况下不附带它,因此我们需要手动安装 winget 所需的依赖项。让我们下载 microsoft ui xaml,然后下载 microsoft vclibs。
microsoft.ui.xaml
microsoft.ui.xaml 引用 windows ui 库 (winui) 的 nuget 包。它提供了一套 ui 控件和开发人员用于创建新式 windows 应用程序的其他用户界面元素。要获取 microsoft ui xaml 2.7 版本,请访问此 nuget 网页并单击下载链接。要获得想法,请参阅给定的屏幕截图。

在 windows 2022 服务器上下载 microsoft ui xaml 后,选择下载的文件并按 f2 键或右键单击以选择“重命名”以编辑其扩展名。

将 nupkg 扩展名更改为 zip。完成后,我们需要右键单击文件以将其解压缩。

现在,按 shift 键并右键单击已提取文件的空白区域上的任意位置,以选择“在此处打开 powershell windows”选项。

使用 powershell 中的 add-appxpackages 命令在 windows 服务器上安装 ui xml。命令如下:
切换到解压的文件夹:
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.vclibs 代表 microsoft visual c 库。这些库对于在 windows 上运行使用 visual c 框架开发的应用程序是必需的。要下载它,请访问 并根据您的系统架构下载它,例如,我们使用的是 intel 64 位,因此我们下载了 x64 版本。

现在,再次打开保存 microsoft vclibs appx 文件的 powershell,并将其添加到您的系统中。

下载 microsoft.desktopappinstaller 和
一旦我们在 windows server 2022 上满足了 winget 的要求,接下来就是在我们的系统上下载启用应用程序安装的 msixbundle – winget。为此,请访问并下载两个文件,一个是microsoft桌面应用程序安装程序,另一个是可用的许可证文件。

在 windows 2022 服务器上安装 winget
在系统上拥有这两个文件后,再次在保存文件的目录中打开 powershell。
运行给定的命令以安装已下载的 msixbundle
语法:
add-appxpackage 包名称
注意: 根据我们下载的文件名,我们在命令中使用了它。如果您的情况不同,请相应地使用它。
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
未经允许不得转载:尊龙游戏旗舰厅官网 » 如何在 windows 2022 server 中安装 winget 包管理器