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
23.09k stars 1.44k forks source link

Winget tells me that Windows Terminal needs an update, but the Windows Store says no update is available #1425

Open trparky opened 3 years ago

trparky commented 3 years ago

Brief description of your issue

Winget tells me that Windows Terminal needs an update, but the Windows Store says no update is available.

Steps to reproduce

  1. Install Windows Terminal from the Windows Store (not the preview version).
  2. Execute "winget upgrade"
  3. Winget tells you that there's an update for package ID Microsoft.WindowsTerminal and that version 1.10.2383.0 is available but that's only the preview version, not the stable version.

Expected behavior

How about no indication of an update for this package?

Actual behavior

It's telling me that there's an update when there is no update available.

Environment

PS C:\Users\trpar> winget --info Windows Package Manager v1.0.11692 Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19043.1165 Package: Microsoft.DesktopAppInstaller v1.12.11692.0

Logs: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

Links

Privacy Statement https://aka.ms/winget-privacy License Agreement https://aka.ms/winget-license Third Party Notices https://aka.ms/winget-3rdPartyNotice Homepage https://aka.ms/winget

ImJoakim commented 3 years ago

Edit: Whoops, I misunderstood the original question. See the comments below for the answer :)

Windows Terminal and Windows Terminal Preview both have the 1.10.2383.0 version available.

Windows Terminal version 1.10.2383.0 manifest

Windows Terminal Preview version 1.10.2383.0 manifest Windows Terminal Preview also has version 1.11.2421.0 available.

I just tried upgrading Windows Terminal myself:

image

trparky commented 3 years ago

Not according to the Windows Store where I installed it from.

denelon commented 3 years ago

@trparky, It's possible for the Windows Terminal team to release a new version at GitHub prior to releasing it to the Microsoft Store, or at least having the newer binary available via all CDN endpoints. It appears that the release to GitHub may have become available before the version in the Windows Store on your system.. The Windows Package Manager was able to determine a new release was available via the community repository, which is why the upgrade was indicated.

The default behavior for winget upgrade is to inform without taking action. Running winget upgrade --all will take the action to attempt and upgrade all packages with an upgrade available. winget upgrade Microsoft.WindowsTerminal would upgrade Windows Terminal.

trparky commented 3 years ago

OK, this is weird. I tried doing that a day ago, namely the "winget upgrade Microsoft.WindowsTerminal" which caused the Terminal app to close but then upon re-opening Terminal and executing "winget upgrade" it told me that it was still the old version. I assumed that since it was installed via the Windows Store it had to be updated via the Windows Store hence me trying to force a manual update via winget would not work. However, this time, it did work.

denelon commented 3 years ago

We've got a change coming in the next release. The Terminal gets restarted when an interactive upgrade is performed. We're going to defer registration for MSIX packages so this will hopefully stop happening. You would still need to restart terminal or the shell when this happens to get the upgraded version.

Would you mind submitting feedback so we can see logs for what might have happened? Please share the URL to the feedback report back here when complete. If you don't have the feedback App or you would prefer to just share the logs, their location is available via winget --info.

trparky commented 3 years ago

https://aka.ms/AAdpcqw

Karl-WE commented 3 years ago

The current version is Version: 1.10.2383.0 I would reset then uninstall the app via settings > app and reinstall it. Good news there seems to be no such issue with Windows 11 @denelon

Karl-WE commented 1 year ago

@denelon I haven't had any issues in this regards anymore. It appears to be fixed. Can you repro ?

denelon commented 1 year ago

I'm fairly confident the issue is resolved for Windows 11, but I'm not sure if it's resolved for Windows 10. WinGet doesn't check for the minimum OS when evaluating the latest available version.

Karl-WE commented 1 year ago

So repro steps are Windows 10 22H2 Install older Release or Microsoft Terminal Install winget 1.4 Launch Terminal Call winget to upgrade Terminal resp. Upgrade --all

Is that correct?

denelon commented 1 year ago

Yes, that's the correct sequence of events.

There were two MSIX packages (one requiring Win10 and the other requiring Win11). At one point in time, the Win11 package was the "latest" version so when users on Win 10 attempted to upgrade, they got an error because Win11 was required.

If the order were flipped, I believe the Win10 package would have installed on Win11, but likely would have been missing some functionality available in the Win11 version.

I haven't checked recently about the status of their releases, and I know WinGet still does not check the minimum OS version to detect the latest available compatible version of a package.