Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade --all getting ignored / failing #1985

Open
github-account1111 opened this issue Mar 1, 2022 · 16 comments
Open

Upgrade --all getting ignored / failing #1985

github-account1111 opened this issue Mar 1, 2022 · 16 comments
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation.

Comments

@github-account1111
Copy link

github-account1111 commented Mar 1, 2022

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
@ghost ghost added the Needs-Triage Issue need to be triaged label Mar 1, 2022
@Trenly
Copy link
Contributor

Trenly commented Mar 1, 2022

Can you run winget upgrade --all --verbose-logs and then attach the log files in your reply? I have a theory as to what the issue is, but the logs will help tremendously, as I'm not able to replicate this on my system.

@denelon denelon added Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Author-Feedback Issue needs attention from issue or PR author and removed Needs-Triage Issue need to be triaged labels Mar 1, 2022
@github-account1111
Copy link
Author

The log is 76k lines so I uploaded it here:
https://gist.github.com/github-account1111/e5f6acc014d2791ebefae1c549a277af

@ghost ghost added Needs-Attention Issue needs attention from Microsoft and removed Needs-Author-Feedback Issue needs attention from issue or PR author labels Mar 2, 2022
@github-account1111
Copy link
Author

github-account1111 commented Mar 10, 2022

Decided to try running the command again today:

PS C:\Users\username> winget upgrade --all --source winget
Name                Id                        Version    Available
-------------------------------------------------------------------
Mozilla Thunderbird Mozilla.Thunderbird       91.6.1     91.7.0
VeraCrypt           IDRIX.VeraCrypt           1.25.4     1.25.9
iTunes              Apple.iTunes              12.12.2.2  12.12.3.5
PowerToys (Preview) Microsoft.PowerToys       0.35.0     0.56.2
NVIDIA GeForce NOW  Nvidia.GeForceNow         2.0.37.138 2.0.38.105
Tachidesk Server    Suwayomi.Tachidesk-Server 0.6.1      0.6.2
6 upgrades available.
4 packages have version numbers that cannot be determined. Use "--include-unknown" to see all results.

(1/4) Found Mozilla Thunderbird [Mozilla.Thunderbird] Version 91.7.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.
Downloading https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/91.7.0/win64/en-US/Thunderbird%20Setup%2091.7.0.exe
  ██████████████████████████████  53.6 MB / 53.6 MB
Successfully verified installer hash
Starting package install...
Successfully installed

(2/4) Found iTunes [Apple.iTunes] Version 12.12.3.5
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://secure-appldnld.apple.com/itunes12/002-35070-20220304-5521E72A-137B-4F09-9844-45BEBA5C3B40/iTunes64Setup.exe
  ██████████████████████████████   200 MB /  200 MB
Successfully verified installer hash
Starting package install...
Successfully installed

(3/4) Found NVIDIA GeForce NOW [Nvidia.GeForceNow] Version 2.0.38.105
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
Successfully verified installer hash
Starting package install...
Successfully installed

(4/4) Found Tachidesk Server [Suwayomi.Tachidesk-Server] Version 0.6.2
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://github.com/Suwayomi/Tachidesk-Server/releases/download/v0.6.2/Tachidesk-Server-v0.6.2-r1074-windows-x64.msi
  ██████████████████████████████   217 MB /  217 MB
Successfully verified installer hash
Starting package install...
Successfully installed

4 packages have version numbers that cannot be determined. Use "--include-unknown" to see all results.
PS C:\Users\username> winget upgrade --all --source winget
Name                Id                        Version Available
---------------------------------------------------------------
VeraCrypt           IDRIX.VeraCrypt           1.25.4  1.25.9
PowerToys (Preview) Microsoft.PowerToys       0.35.0  0.56.2
Tachidesk Server    Suwayomi.Tachidesk-Server 0.6.1   0.6.2
3 upgrades available.
4 packages have version numbers that cannot be determined. Use "--include-unknown" to see all results.

(1/1) Found Tachidesk Server [Suwayomi.Tachidesk-Server] Version 0.6.2
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://github.com/Suwayomi/Tachidesk-Server/releases/download/v0.6.2/Tachidesk-Server-v0.6.2-r1074-windows-x64.msi
  ██████████████████████████████   217 MB /  217 MB
Successfully verified installer hash
Starting package install...
Successfully installed

4 packages have version numbers that cannot be determined. Use "--include-unknown" to see all results.
PS C:\Users\username> winget upgrade --source winget
Name                Id                        Version Available
---------------------------------------------------------------
VeraCrypt           IDRIX.VeraCrypt           1.25.4  1.25.9
PowerToys (Preview) Microsoft.PowerToys       0.35.0  0.56.2
Tachidesk Server    Suwayomi.Tachidesk-Server 0.6.1   0.6.2
3 upgrades available.
4 packages have version numbers that cannot be determined. Use "--include-unknown" to see all results.

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.
The other package that was giving me trouble (VeraCrypt) is still not updating.

Of note is a new troublesome package (Tachidesk) which supposedly updates "successfully", but still shows up as outdated afterward.
What's up with that?

I do not like how inconsistent things are.

@denelon
Copy link
Contributor

denelon commented Mar 10, 2022

This appears to be an issue with the installer. I'm wondering if installing Tachidesk Server 0.6.2 on a clean system reports the right version in Windows Apps & Features. If it does then the next question would be if having 0.6.1 and running 0.6.2 as an upgrade updates the entry, or if it installs a "new" version side by side. Running winget list Tachidesk would show if there are one or two entries.

Maybe there are switches we need to pass to get the string updated, or we need to change the upgrade behavior to "uninstallPrevious" in the manifest.

@denelon denelon removed the Needs-Attention Issue needs attention from Microsoft label Mar 10, 2022
@Trenly
Copy link
Contributor

Trenly commented Mar 10, 2022

Looks like it gets installed side by side
image

@denelon
Copy link
Contributor

denelon commented Mar 10, 2022

Awesome community for the win!

@Trenly
Copy link
Contributor

Trenly commented Mar 10, 2022

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.

@OfficialEsco
Copy link

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

@Trenly
Copy link
Contributor

Trenly commented Mar 10, 2022

there is no 1.25.9 exe available

Slight correction - There is an exe available here . I just can't seem to find the secret combination of switches for a silent install

@OfficialEsco
Copy link

OfficialEsco commented Mar 10, 2022

Ops, just looked up my previous comment on VeraCrypt

VeraCrypt: I can see that there is a exe install for this software, we don't have the exe version because its not Unattended.

Chocolatey uses AHK for the installation so there is probably a very low chance you'll find the magic switch

Edit: we could make a issue here? https://github.com/veracrypt/VeraCrypt/issues

@Trenly
Copy link
Contributor

Trenly commented Mar 10, 2022

Edit: we could make a issue here? https://github.com/veracrypt/VeraCrypt/issues

veracrypt/VeraCrypt#447

@denelon
Copy link
Contributor

denelon commented Mar 10, 2022

We need to be cautious about adding that switch to the manifest. It's better for them to either publish to the Microsoft Store or become a verified developer so we can include Agreements in the manifest to meet the "explicit" agreement requirements.

@Trenly
Copy link
Contributor

Trenly commented Mar 10, 2022

We need to be cautious about adding that switch to the manifest. It's better for them to either publish to the Microsoft Store or become a verified developer so we can include Agreements in the manifest to meet the "explicit" agreement requirements.

So far as I can tell, it is just the EULA which that switch suppresses, which often happens with any installer which incorporates the EULA agreement into the install process. Its just that many publishers allow the eula to be suppressed with the default silent switch rather than requiring an additional switch

@github-account1111
Copy link
Author

Microsoft.PowerToys changed their installer from a weird bundled MSI to a EXE. (A reinstall/install will resolve the issue)

So PowerToys is not updating because of installer type change, not because it sees I'm on 1809 (an unsupported Windows build)?
Wonder what would happen if it actually went through if that is the case.

Also is there a reason an exe can't "gracefully" be updated into an msi and visa versa?
If there is one, might make sense to at least let the user know that that is the reason nothing is happening.

@OfficialEsco
Copy link

So PowerToys is not updating because of installer type change, not because it sees I'm on 1809 (an unsupported Windows build)?
Wonder what would happen if it actually went through if that is the case.

The InstallerType changed in version 0.53.1, however winget upgrade did also not work before that because of the scuffed MSI bundle (if you have 0.53.1+ winget upgrade will work as expected)
However i do not know if PowerToys dropped support for 1809 after version 0.35.0, you should probably try to run the installer manually

Also is there a reason an exe can't "gracefully" be updated into an msi and visa versa?

Most of the time the MSI and EXE can be installed side-by-side or work differently

If there is one, might make sense to at least let the user know that that is the reason nothing is happening.

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.

In the future you will be asked if you want to force upgrade (will probably uninstall and install the new version)

@github-account1111
Copy link
Author

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?

@denelon denelon added this to the v1.3-Client milestone Mar 14, 2022
@denelon denelon modified the milestones: v1.3-Client, v1.4-Client May 31, 2022
@denelon denelon modified the milestones: v1.4-Client, v1.5-Client Dec 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation.
Projects
None yet
Development

No branches or pull requests

4 participants