Как установить winget на Windows Server 2016?

В Windows появился собственный package manager, и я захотел им воспользоваться на одном из тестовых серверов (Windows Server 2016)

Но вот беда. Сам Winget нужно устанавливать... откуда то.

я прочитал дискуссию на reddit

Она сводится к тому, что нужно загружить файл с расширенимем .msixbundle, потом дабл - кликнуть на него и... у вас должен запуститься Application Installer!

Нет такой программы? Не беда. Возьмите её в Windows Store.. Ах, у вас сервер, и там нет Windows Store?

Тогда выполните команду в 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.

Никто с таким не сталкивался и не решал как нибудь проблему?

Спасибо.


Ответы (1 шт):

Автор решения: S.H.

я почитал еще немного, к сожалению, короткий ответ довольно простой:

"Подержки winget для Windows server 2016 нет. Даже подержка Windows server 2019 является проблемой". Так что пока про winget на сервере можно забыть.

Также, я былне прав насчет того, что на серверах нет windows store: есть его аналог, "business windows store", но туда не подходят "персональные" микрософтовские экаунты, а нужны корпортавные. ТО есть, только официальная покупка продуктов с одновременной регистрацией.

Что касается формата .msixbundle - то это удивительно специфичное ( то есть, по простому говоря, глупое ) изобретение: это zip-архив, внутри которого лежат *.msix - файлы для нескольких архитектур. Правда, и *.msix - файл поставить при помощи powershell у меня не получилось, теперь он уже ругается на отсутствие манифеста, но разбираться с тем, откуда он должен браться я уже не стал.

Небольшое дополнение.

я немного поэкспериментировал, и в общем могу сказать: даже на "подходящей винде" winget - это очень специфическая штука... например, что будет происходить при попытке установки git for windows при помощи winget? Думаете, он, как в линуксе, "молча поставится"? не-е-ет! Просто скачается дистрибутив и... барабанная дробь... запустится обычный десктопный инсталлятор, в котором точно так же надо будет выбирать опции и нажимать кнопочку Next!

→ Ссылка