Ast*_*ain 15 windows-server-2019 winget
我正在尝试在 Windows Server 2019(标准版,版本 1809,内部版本 17763)上安装 WinGet,但我无法让它工作......
当尝试此博客文章中的“直接安装”链接时,我收到以下链接ms-appinstaller:?source=https://aka.ms/getwinget,但我的浏览器无法理解该链接,因为我没有应用程序安装程序。
因此,我Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle从同一篇博客文章中提到的 GitHub 发布页面下载了该版本(其中应包含应用程序安装程序和 WinGet)。因为我的系统没有获取 .appxbundle 文件,所以我尝试使用 Powershell 安装它:
Add-AppxPackage ".\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle"
Run Code Online (Sandbox Code Playgroud)
但它抱怨它错过了Microsoft.VCLibs.140.00.UWPDesktop:
Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates,
dependency or conflict validation.
Windows cannot install package Microsoft.DesktopAppInstaller_1.11.11451.0_x64__8wekyb3d8bbwe
because this package depends on a framework that could not be found. Provide the framework
"Microsoft.VCLibs.140.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft
Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and
minimum version 14.0.29231.0, along with this package to install. The frameworks with name
"Microsoft.VCLibs.140.00.UWPDesktop" currently installed
Run Code Online (Sandbox Code Playgroud)
显然,这是一个“Desktop Bridge 的 C++ 运行时框架包”,也可以作为 appx 下载;首先安装它,然后安装 DesktopAppInstaller/WinGet 捆绑包不会出现错误:
Add-AppxPackage ".\Microsoft.VCLibs.x64.14.00.Desktop.appx"
Add-AppxPackage ".\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle"
Run Code Online (Sandbox Code Playgroud)
但是,此时我似乎拥有应用程序安装程序(因为它现在可以识别 .appx/.appxbundle 文件),但没有 WinGet 客户端,因为当我从命令提示符运行它时,它告诉我:
'winget' is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
如何让 WinGet 在 Windows Server 2019 计算机上运行?
Joe*_*Joe 13
实际上,有一个解决方法可以安装它。参考winget 问题#1861的评论之一,我们可以看到我们所要做的就是下载VCLibs、Microsoft.UI.XAML.2.7.3,使用 安装它,下载Microsoft.DesktopInstaller并安装它以便运行服务器上的winget。Add-AppxPackage
下面是#1861中引用的评论的稍微(不多)修改的版本。它被修改为允许它下载最新版本的 winget 无论如何。
# Install VCLibs
Add-AppxPackage 'https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx'
# Install Microsoft.UI.Xaml.2.7.3 from NuGet
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Microsoft.UI.Xaml/2.7.3 -OutFile .\microsoft.ui.xaml.2.7.3.zip
Expand-Archive .\microsoft.ui.xaml.2.7.3.zip
Add-AppxPackage .\microsoft.ui.xaml.2.7.3\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.7.appx
# Install the latest release of Microsoft.DesktopInstaller from GitHub
Invoke-WebRequest -Uri https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -OutFile .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
Add-AppxPackage .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
Run Code Online (Sandbox Code Playgroud)
如果您想使用它,只需确保在空目录中运行它即可。
小智 6
上面的解决方法几乎做到了。我必须修复权限:
TAKEOWN /F "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.19.10173.0_x64__8wekyb3d8bbwe" /R /A /D Y
ICACLS "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.19.10173.0_x64__8wekyb3d8bbwe" /grant Administrators:F /T
Run Code Online (Sandbox Code Playgroud)
并添加到 shell 路径。在现有 Powershell 实例中:
$ResolveWingetPath = Resolve-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe"
if ($ResolveWingetPath){
$WingetPath = $ResolveWingetPath[-1].Path
}
$ENV:PATH += ";$WingetPath"
Run Code Online (Sandbox Code Playgroud)
不支持 Windows Server 2019 和 Windows Server 2022。可以安装 Windows 包管理器,但依赖项不包含在这些 SKU 中。
https://github.com/microsoft/winget-cli/issues/754#issuecomment-902798802
| 归档时间: |
|
| 查看次数: |
42242 次 |
| 最近记录: |