microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
22.95k stars 1.43k forks source link

Installation issue: dependency issue #2626

Open fmuntean opened 1 year ago

fmuntean commented 1 year ago

Trying to manually install the msixbundle

Add-AppPackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict validation. Windows cannot install package Microsoft.DesktopAppInstaller_1.18.2691.0_x64__8wekyb3d8bbwe because this package depends on a framework that could not be found. Provide the framework "Microsoft.UI.Xaml.2.7" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum version 7.2109.13004.0, along with this package to install. The frameworks with name "Microsoft.UI.Xaml.2.7" currently installed are: {}

if it is a CLI tool why requires the UI XAML ?

Masamune3210 commented 1 year ago

Because its bundled with the App Installer package, which includes a UI to handle installing APPX and MSIX packages. winget doesn't need the UI framework, but since its in the package, it has the dependency as well

denelon commented 1 year ago

It looks like we need to add Microsoft.UI.Xaml.2.7 to https://github.com/microsoft/winget-cli#manually-update

JuryA commented 1 year ago

Why is this error still fixed? Installation of Microsoft.UI.Xaml.2.7 is NOT an easy task! How to deal with that from PowerShell? I tried everything but this is not OK - this issue is here for a couple of months!

denelon commented 1 year ago

We've built a PowerShell DSC module which includes pulling in the necessary dependencies. We're working on additional testing, and then we will provide instructions on how to use it. As it is open source, one should be able to pull the necessary bits out so it's possible to install WinGet on systems using just PowerShell as opposed to needing to also understand PowerShell DSC.

denelon commented 1 year ago

The Repair-WinGetPackageManager cmdlet in the Microsoft.WinGet.Client PowerShell Module does much of the work to handle dependencies, but Microsoft.UI.Xaml is still not handled in the most optimal way. We're looking at some options here to see if we can improve the situation without needing to download and decompress the dependency.

We've also been looking to update the dependency to Microsoft.UI.Xaml 2.8 from 2.7 in WinGet: