microsoft / winget-pkgs

The Microsoft community Windows Package Manager manifest repository
MIT License
8.61k stars 4.47k forks source link

[Package Issue]: Microsoft.WindowsTerminal Installer fails with exit code 0x80073d06 #127953

Open lackovic opened 10 months ago

lackovic commented 10 months ago

Please confirm these before moving forward

Category of the issue

Installation issue.

Brief description of your issue

Upgrading WindowsTerminal 1.18.2822.0 to 1.18.3181.0 with winget upgrade -h --all fails with the error:

Installer failed with exit code: 0x80073d06 : The package could not be installed because a higher version of this package is already installed.
A higher version of this application is already installed.

Steps to reproduce

Run on PowerShell as Administrator:

winget upgrade -h --all

Actual behavior

The upgrade fails with the following error:

Found Windows Terminal [Microsoft.WindowsTerminal] Version 1.18.3181.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Installing dependencies:
(1/1) Found Microsoft.UI.Xaml [Microsoft.UI.Xaml.2.8] Version 8.2306.22001.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
  ████████████████████████████▌   95%
Installer failed with exit code: 0x80073d06 : The package could not be installed because a higher version of this package is already installed.
A higher version of this application is already installed.

Expected behavior

The upgrade succeeds without errors.

Environment

Windows Package Manager v1.6.3133
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.2715
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.3133.0

Screenshots and Logs

WinGet-2023-11-24-10-05-23.195.log

Trenly commented 10 months ago

Use --skip-dependencies to skip the Ui.Xaml package that is failing

lackovic commented 10 months ago

Use --skip-dependencies to skip the Ui.Xaml package that is failing

Thanks, that worked with:

> winget upgrade -h Microsoft.WindowsTerminal --skip-dependencies
Found Windows Terminal [Microsoft.WindowsTerminal] Version 1.18.3181.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Dependencies skipped.
Successfully verified installer hash
Starting package install...
  ████████████████████████████▌   95%
Successfully installed. Restart the application to complete the upgrade.

but did not work with:

> winget upgrade -h --all --skip-dependencies
Name             Id                        Version     Available   Source
-------------------------------------------------------------------------
Windows Terminal Microsoft.WindowsTerminal 1.18.2822.0 1.18.3181.0 winget

Installing dependencies:
This package requires the following dependencies:
  - Packages
      Microsoft.UI.Xaml.2.8 [>= 8.2306.22001.0]
(1/2) Found Windows Terminal [Microsoft.WindowsTerminal] Version 1.18.3181.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Installing dependencies:
(1/1) Found Microsoft.UI.Xaml [Microsoft.UI.Xaml.2.8] Version 8.2306.22001.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
  ████████████████████████████▌   95%
Installer failed with exit code: 0x80070002 : The system cannot find the file specified.

Three questions:

  1. What does imply to install an app without its dependencies? If it's a dependency isn't it required for the app to properly function?
  2. In these cases, would it be possible to get a more user-friendly error message, something on the lines of "A dependency installation failed, to skip that installation use the argument --skip-dependencies"
  3. Will this problem with the Microsoft.WindowsTerminal package be resolved at some point or do we need to use indefinetely the --skip-dependencies workaround?
Trenly commented 10 months ago

1) Skipping dependencies isn’t always a bad thing. In this case, theres something weird going on with the version detection (based on the error message) so you already have the dependency installed. Its also possible that a package could require a generic package like a JRE or JDK, and a user might have a specific one they use instead of the one the pckage lists as a dependency.

2) I think they should; Not sure if its a bug or if it needs a feature request; Either way, can probably just re-title this issue and make it focused on that

3) It should be resolved eventually, once the community identifies what the issue is with the Xaml 2.8 package

hubertsvk commented 10 months ago

> winget upgrade -h --all --skip-dependencies resolved this issue but after then ....

> winget upgrade --all
No installed package found matching input criteria.
1 package(s) have version numbers that cannot be determined. Use --include-unknown to see all results.
> winget upgrade --include-unknown
No installed package found matching input criteria.
otto-liljalaakso-nt commented 10 months ago

3. Will this problem with the Microsoft.WindowsTerminal package be resolved at some point or do we need to use indefinetely the --skip-dependencies workaround?

3. It should be resolved eventually, once the community identifies what the issue is with the Xaml 2.8 package

Let's open a new issue about that, then: #128252

BrandonWanHuanSheng commented 10 months ago

It look like image https://storeedgefd.dsx.mp.microsoft.com/v9.0/packageManifests/9NSTH9KHZDLQ where is the correlation data? But the id was found on Microsoft Store in URL. https://apps.microsoft.com/detail/microsoft-ui-xaml-2-8/9NSTH9KHZDLQ?hl=en-US&gl=US