这几天我趁着活动买了一台高配的 VPS,之后我在上面安装了 Windows Server 2022 Standard。有人问了,最新的是 Windows Server 2025,你为什么还要装 2022,而且还是 Standard 版呢?原因也不复杂,只因为 2025 太卡,而 Datacenter 的高级功能我用不到。装上了系统后,我发现它没有 Microsoft Store,也没有 WinGet。前者我知道难以安装,装上了可能也没什么用,后者则是我很喜欢的包管理器。
如果你也需要在 Windows Server 2022 上使用 WinGet,本文的方法或许可以帮到你。但请注意:如下方法比较折腾,如果你想偷懒,可以使用 Chocolatey 包管理器。
登录到超级管理员账号
我们准备要将 WinGet 及其依赖组件安装到系统中,而非用户配置文件,需要首先登录到超级管理员账号。出于安全考虑,我会重命名 Administrator,如果你也一样,就请登录重命名后的账号吧。
下载 WinGet 及其依赖项
访问 https://github.com/microsoft/winget-cli/releases/latest,下载 DesktopAppInstaller_Dependencies.zip 和 Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle,将前者解压到一个空白文件夹。
安装 WinGet 依赖项
打开从 DesktopAppInstaller_Dependencies.zip 解压出来的文件夹,打开 x64 目录。在地址栏中输入 powershell,并按回车键。在这里,我们输入命令来将依赖组件安装到系统中:Add-AppxProvisionedPackage -Online -PackagePath "依赖组件路径" -SkipLicense
,示例:
Add-AppxProvisionedPackage -Online -PackagePath "Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64.appx" -SkipLicense
Add-AppxProvisionedPackage -Online -PackagePath "Microsoft.UI.Xaml.2.8_8.2310.30001.0_x64.appx" -SkipLicense
安装 WinGet
安装以上依赖组件后,我们就可以安装 WinGet 了。导航到 Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle 所在目录,在地址栏中输入 powershell 并按回车键。输入命令 Add-AppxProvisionedPackage -Online -PackagePath "Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -SkipLicense
,即可将 WinGet 安装到系统中。
我们需要将 WinGet 添加到用户的配置文件中,否则无法使用,超级管理员也是如此。在 Powershell 中,执行 Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
。
右击 Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle,点击“安装”。这时,我们一定会看到一条错误消息,关闭错误提示窗口,然后双击 Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle,这个时候,我们就能看到重新安装按钮。大功告成!
使用
在 Powershell 或者 cmd 下,执行 winget,就能看到 WinGet 的使用帮助。