winget-cli: Upgrade --all getting ignored / failing

Brief description of your issue

Winget sees that there are upgrades but…

  1. ignores all but one upgrade when I run upgrade --all.
  2. the one package it does attempt to upgrade errors out with Installer hash does not match. Could be related to the recent Nvidia breach?
PS C:\Users\<username>\Desktop> winget upgrade --all --source winget
Name                Id                         Version     Available
----------------------------------------------------------------------
Brave               BraveSoftware.BraveBrowser 98.1.35.103 99.1.36.107
VeraCrypt           IDRIX.VeraCrypt            1.25.4      1.25.9
PowerToys (Preview) Microsoft.PowerToys        0.35.0      0.55.2
NVIDIA GeForce NOW  Nvidia.GeForceNow          2.0.37.138  2.0.37.148
4 upgrades available.
4 packages have version numbers that cannot be determined. Use "--include-unknown" to see all results.

(1/1) Found NVIDIA GeForce NOW [Nvidia.GeForceNow] Version 2.0.37.148
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://download.nvidia.com/gfnpc/GeForceNOW-release.exe
  ██████████████████████████████   140 MB /  140 MB
Installer hash does not match; to override this check use --force

4 packages have version numbers that cannot be determined. Use "--include-unknown" to see all results.

Note: PowerToys isn’t supposed to upgrade because they only support above 1809, and I’m on 1809, so that behavior is correct.

Steps to reproduce

Run winget upgrade --all --source winget.

Expected behavior

All packages are updated except for the unsupported ones by the system.

Actual behavior

Some packages are ignored, others fail.

Environment

Windows Package Manager (Preview) v1.3.431-preview
Windows: Windows.Desktop v10.0.17763.2628
Package: Microsoft.DesktopAppInstaller v1.18.431.0

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Comments: 16 (9 by maintainers)

Most upvoted comments

To answer your other questions:

  • For some reason WinGetbot cannot detect the hash missmatch (as it says on the first post) on Nvidia.GeForceNow so we have to manually update it (i went trough the Nvidia folder Yesterday)
  • IDRIX.VeraCrypt changed their installer from EXE to MSI and there is no 1.25.9 exe available. (A reinstall/install will resolve the issue)
  • Microsoft.PowerToys changed their installer from a weird bundled MSI to a EXE. (A reinstall/install will resolve the issue)

If you find any other unresolved package issues you can report them here https://github.com/microsoft/winget-pkgs/issues/new/choose

if you do winget upgrade Microsoft.PowerToys you will get A newer version was found, but the install technology is different from the current version installed. Please uninstall the package and install the newer version.

I see. I also get that message for VeraCrypt. Wouldn’t it also make sense to show it when running upgrade --all for the packages that have that problem?

As can be seen, one of the packages that previously refused to update (Geforce Now) went through this time. I ran the command multiple times prior to opening the issue, so something must’ve changed.

I believe this may be an issue with GeForce Now reporting a successful install but not actually installing if the application is currently in use / running

The other package that was giving me trouble (VeraCrypt) is still not updating.

Your issue with VeraCrypt is that the installation currently on your machine was installed with the exe file, and the version in winget uses the MSI file. The easiest way to fix this is to uninstall your current version and re-install. I can replicate this using version 1.1 of the client. Using version 1.2 of the client I get this message -

PS> winget upgrade veracrypt --verbose-logs
A newer version was found, but the install technology is different from the current version installed. Please uninstall the package and install the newer version.

Looks like it gets installed side by side image