Windows 有自己的包管理器,我想在其中一台测试服务器(Windows Server 2016)上使用它
但问题就在这里。Winget 本身需要从某个地方安装。
我读了reddit 上的讨论
归根结底,您需要下载扩展名为 .msixbundle 的文件,然后双击它......应用程序安装程序应该启动!
没有这样的程序吗?没问题。从 Windows 应用商店获取它。哦,您有一台服务器,但那里没有 Windows 应用商店?
然后在PowerShell中运行命令
Add-AppxPackage -Path Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
但是如果这个命令出错了怎么办
Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF0, Package could not be opened.
error 0x8007007B: Opening the package from location Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle failed.
NOTE: For additional information, look for [ActivityId] 5b68f429-2386-0000-d0ee-765b8623da01 in the Event Log or use
the command line Get-AppxLog -ActivityID 5b68f429-2386-0000-d0ee-765b8623da01
At line:1 char:1
+ Add-AppxPackage -Path Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (C:\Distrib\Micr...bbwe.msixbundle:String) [Add-AppxPackage], FileNotFoundExc
eption
+ FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand
我在任何地方都没有找到这个
有高级诊断请求,但事件日志中的条目没有澄清任何内容:
PS C:\Distrib> Get-AppxLog -ActivityID 99f74e13-2a5e-0001-dc57-f7995e2ada01
Time ID Message
---- -- -------
12/9/2023 10:51:54 AM 301 The calling process is powershell.exe
12/9/2023 10:51:54 AM 603 Started deployment Add operation on a package with main parameter:
Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle and Options: 0. See
http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app
deployment issues.
12/9/2023 10:51:54 AM 164 The app bundle signature was validated for core content of the app bundle
published by CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond,
S=Washington, C=US. App packages won't be validated until they are read.
12/9/2023 10:51:54 AM 465 error 0x8007007B: Opening the package from location
Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle failed.
12/9/2023 10:51:54 AM 403 error 0x8007007B: Failure to get staging session for:
file:///C:/Distrib/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle.
12/9/2023 10:51:54 AM 404 AppX Deployment operation failed for package with error 0x80073CF0. The
specific error text for this failure is: error 0x8007007B: Opening the package
from location Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle failed.
有没有人遇到过这个问题并以某种方式解决了这个问题?
谢谢。
我做了更多阅读,不幸的是简短的答案很简单:
“Windows Server 2016 没有 winget 支持。甚至对 Windows Server 2019 的支持也是一个问题。” 所以现在你可以忘记服务器上的winget。
另外,我错误地认为服务器上没有 Windows 商店:有类似的“商业 Windows 商店”,但“个人”Microsoft 帐户不适合那里,但需要企业帐户。即仅限正式购买同时注册的产品。
至于格式
.msixbundle
,这是一个令人惊讶的具体(也就是说,简单地说,愚蠢的)发明:它是一个 zip 存档,包含适用于多种体系结构的 *.msix 文件。确实,我无法使用 powershell 安装 *.msix 文件,现在它已经抱怨缺少清单,但我不再费心去弄清楚它应该来自哪里。一个小小的补充。
我做了一些实验,总的来说,我可以说:即使在“合适的 Windows”上 winget 也是一个非常具体的事情......例如,当你尝试使用 winget 安装适用于 Windows 的 git 时会发生什么?你认为它会像Linux中那样“静默安装”吗?不!只需下载发行版并...击鼓...通常的桌面安装程序将启动,您必须以相同的方式选择选项,然后单击“下一步”按钮!