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

First usage feedback: multiple non-silent fails, one crash, and two types of repeats #1009

Closed
Master-Guy opened this issue May 28, 2021 · 35 comments
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation.

Comments

@Master-Guy
Copy link

Master-Guy commented May 28, 2021

Brief description of your issue

Sorry if this shouldn't be reported this way, but I'm not yet up-to-speed on the Microsoft ways-of-work on Github.
After installing winget-cli this morning, and running winget upgrade --all, I got the following feedback:

  • Multiple non-silent fails
  • One crash of winget
  • Looping installation after fail
  • Upgrades of up-to-date applications

Steps to reproduce

Have an old 32-bit version of Teamviewer installed on your 64 machine, together with any old version of the other apps listed below under Actual behaviour.
Then run winget upgrade --all as administrator in a Windows Terminal session running Powershell as default.

Expected behavior

Winget to update these packages, and kill a running download when pressing CTRL+C.

Actual behavior

While downloading the Unity update of 2GB, I pressed CTRL+C because I needed my bandwidth for a Teams meeting, but it seems the download kept running even though I got my Powershell prompt back.

Multiple packages (also a number of packages not listed here) have visible installers. It wouldn't be too much of an issue if these would be running in the background, but they are being pushed as top window, and get the focus of Windows, which makes it possible to accidentally cancel an installation, otherwise interrupt an installation, or close an error message.

  • Battle.Net: Keeps re-installing the update (and launching after installation).
  • Discord: Installer fails to install, because Discord.exe was still running. 2nd attempts installs a version that still needs to update when running for the first time.
  • LockHunter: Keeps re-installing the update (and popping up their website after installation).
  • Parsec: Installer hash does not match; this cannot be overridden when running as admin.
  • PyCharm Community Edition: Installation fails, because it attempts to install into a non-empty directory. Then it re-tries, gives the same error, and continues to the next package. As long as the error is open, winget does not continue.
  • Speccy: Keeps re-installing the update.
  • Spotify: Fails because it can only be installed under user level, and not as administrator.
  • TrackMania Nations Forever: Keeps re-installing the update (500MB slow download with visible installer).
  • TeamViewer: Returns error 0x80072f7c and exits winget. After manually updating, it successfully skips this package.
  • CORSAIR iCUE 4 Software: Installer freezes after spawning multiple C++ Application Development Frameworks (QtWebEngineProcess.exe). winget reported error 1603 and continued after I killed the installer.
  • euroscope: Installer failed with exit code: 1603 (no user-interaction happened)
  • PowerShell: Installation killed my PowerShell session, and with that it killed winget
  • Unity: Keeps re-installing the update (2GB download!)
  • Unity Hub: Keeps re-installing the update
  • Ubisoft Connect: Keeps re-installing the update
  • Visual Studio Community 2019: Keeps re-installing the update
  • Barrier: Installer fails because the process takes too long to be killed
  • Epic Games Launcher: Installer failed with exit code: 1603 (no user-interaction happened)
  • Visual Studio Code: Keeps re-installing the update, application launches after installation

Mozilla Firefox, VLC media player, Zoom and Adobe Acrobat Reader DC aren't automatically updating at all with winget upgrade --all and return No applicable update found. when trying to upgrade them one-by-one.

image
image
image

Environment

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

Windows: Windows.Desktop v10.0.19041.1023
Package: Microsoft.DesktopAppInstaller v1.11.11451.0
PS C:\Users\maste> winget upgrade
Name                         Id                                    Version              Available         Source
----------------------------------------------------------------------------------------------------------------
Battle.Net                   Blizzard.BattleNet                    Unknown              1.22.0.12040      winget
Discord                      Discord.Discord                       1.0.9000             1.0.9002          winget
LockHunter                   CrystalRich.LockHunter                Unknown              3.3.4.139         winget
Mozilla Firefox              Mozilla.Firefox                       84.0.2               88.0.1            winget
Parsec                       ParsecCloudInc.Parsec                 150-36               150.47            winget
PyCharm Community Edition    JetBrains.PyCharm.Community           203.6682.179         2021.1.1          winget
PyCharm Community Edition    JetBrains.PyCharm.Community           211.7142.13          2021.1.1          winget
Speccy                       Piriform.Speccy                       1.32                 1.32.774          winget
Spotify                      Spotify.Spotify                       1.1.60.668.gff09d345 latest            winget
TrackMania Nations Forever   Nadeo.TrackManiaNationsForever        Unknown              2.11.26           winget
Unity                        UnityTechnologies.Unity               2018.4.26f1          2021.1.7f1        winget
Unity Hub                    UnityTechnologies.UnityHub            2.2.2                2.4.3             winget
Ubisoft Connect              Ubisoft.Connect                       38.2                 121.0.0.10451     winget
VLC media player             VideoLAN.VLC                          3.0.11               3.0.14            winget
Zoom                         Zoom.Zoom                             5.3.1 (52879.0927)   5.6.961           winget
Visual Studio Community 2019 Microsoft.VisualStudio.2019.Community 16.8.31005.135       16.10.31321.278   winget
Barrier                      DebaucheeOpenSourceGroup.Barrier      2.3.3-release        2.3.3             winget
CORSAIR iCUE 4 Software      Corsair.iCUE                          4.9.338              4.11.274          winget
euroscope                    gergelycsernak.euroscope              3.2                  3.2.1.0           winget
Adobe Acrobat Reader DC      Adobe.AdobeAcrobatReaderDC            21.001.20155         2021.001.20155    winget
Epic Games Launcher          EpicGames.EpicGamesLauncher           1.1.257.0            1.2.17.0          winget
Visual Studio Code           Microsoft.VisualStudioCode            1.56.2               1.56.2.054a929533 winget

Logs:
DiagOutputDir.zip

@ghost ghost added the Needs-Triage Issue need to be triaged label May 28, 2021
@Master-Guy Master-Guy changed the title First usage feedback: multiple non-silent fails, and one crash, and two types of repeats First usage feedback: multiple non-silent fails, one crash, and two types of repeats May 28, 2021
@denelon denelon added Issue-Bug It either shouldn't be doing this or needs an investigation. and removed Needs-Triage Issue need to be triaged labels May 28, 2021
@denelon denelon added this to the v.Next - Windows Package Manager milestone May 28, 2021
@denelon
Copy link
Contributor

denelon commented May 28, 2021

Edit: I'm hijacking this initial response to put the list of related features so it's easier to see progress. I'll continue to make edits in this top response as we continue discussing topics on this thread. In general, we have been looking to close these "large collection of issues" Issues, but as this one was early and so helpful, I'm going to keep it open and honor the original intent.

@Master-Guy this is awesome feedback! Thank you for taking the time to be so thorough here.

There are several different things you are reporting. I think we have Issues for many of them. Be sure to add your 👍 to those issues to help us prioritize.

There may be a couple of new asks. I don't think anyone has created a new feature to request the ability to specify either a preference or a requirement for a setting in winget settings to "prefer" or "require" silent install vs. silent with progress (our default).

Edit: It's this one:

The "list" command/feature is used to do most of the heavy lifting to match manifests in the source to Apps in Add / Remove Programs. In some cases, an adjustment to a manifest will address failure to update. In other cases, we have features to add additional keys to the manifest to help with better matching.

The "main" actionable item we can look at in the client in this issue is "kill a running download when pressing CTRL+C."

@Master-Guy
Copy link
Author

Thank you! I'm really looking forward to using this on an enterprise level, but it requires some finetuning :)

@denelon
Copy link
Contributor

denelon commented Oct 1, 2021

@Master-Guy

We've made improvements for [Ctrl]+[C] in several areas. Can you confirm if the "kill a running download when pressing CTRL+C" is resolved?

I believe we've isolated most of the other issues you've reported. The work is ongoing and primarily tracked with #1243.

@denelon denelon added this to WinGet Oct 1, 2021
@denelon denelon modified the milestones: v.Next-Client, v1.2-Client Oct 1, 2021
@denelon denelon added the Needs-Author-Feedback Issue needs attention from issue or PR author label Oct 1, 2021
@Master-Guy
Copy link
Author

@denelon thank you for getting back to me.
I can confirm that CTRL+C now kills the download.

Since I've re-installed my Windows, a lot of the checks are uncheckable for me now.
Other things that I'm noticing now:

Ryzen fails due to failed version comparison:
image

Discord fails due to it still running:

13008> 2021-10-02 08:32:32> Program: Starting Squirrel Updater: --install . /s
13008> 2021-10-02 08:32:32> Program: Starting install, writing to C:\Users\maste\AppData\Local\SquirrelTemp
13008> 2021-10-02 08:32:32> Program: About to install to: C:\Users\maste\AppData\Local\Discord
13008> 2021-10-02 08:32:32> Program: Install path C:\Users\maste\AppData\Local\Discord already exists, burning it to the ground
13008> 2021-10-02 08:32:32> IEnableLogger: Failed to remove existing directory on full install, is the app still running???: System.IO.IOException: Access to the path 'C:\Users\maste\AppData\Local\Discord' is denied.

Unity is still being installed as a separate version when doing upgrade --all. Suggestion: Remove the upgrade option from Winget for this application.
image

@ghost ghost added Needs-Attention Issue needs attention from Microsoft and removed Needs-Author-Feedback Issue needs attention from issue or PR author labels Oct 2, 2021
@denelon denelon removed the Needs-Attention Issue needs attention from Microsoft label Nov 19, 2021
@denelon denelon modified the milestones: v1.2-Client, v1.3-Client Jan 8, 2022
@denelon denelon modified the milestones: v1.3-Client, v1.4-Client May 31, 2022
@denelon
Copy link
Contributor

denelon commented Jun 21, 2022

@Master-Guy

We've been busy making tons of improvements and we're close to getting Windows Package Manager 1.3 flighted for "Windows Insider Release Preview". That's the last step before GA.

Are there any problems you're having that haven't been reported yet? I think we're close to being able to close this issue 😊

@denelon denelon added the Needs-Author-Feedback Issue needs attention from issue or PR author label Jun 21, 2022
@Master-Guy
Copy link
Author

Master-Guy commented Jun 22, 2022

I did re-install Windows 11 in the meantime, so this might not be completely representative anymore :)
Running winget upgrade --all now, will post the results when finished.
Thanks for all your very hard work on this project!

image

@ghost ghost added Needs-Attention Issue needs attention from Microsoft and removed Needs-Author-Feedback Issue needs attention from issue or PR author labels Jun 22, 2022
@ghost ghost added Needs-Attention Issue needs attention from Microsoft and removed Needs-Author-Feedback Issue needs attention from issue or PR author labels Jan 24, 2023
@denelon
Copy link
Contributor

denelon commented Jan 24, 2023

@Master-Guy,

No, this is a bug (or a pair of them depending on how one perceives things).

I'm able to reproduce both errors. You are correct, the intent of "winget upgrade --all --accept-package-agreements" would be to upgrade all packages and accept their agreements to avoid an interactive prompt per agreement.

I know we've been doing some refactoring for arguments that "don't make sense" or conflict with each other. I'm guessing we haven't seen this particular report due to the fact that none of the packages in the "winget" source have "Agreements" today, and the "msstore" source isn't providing version numbers in the upgrade flow for us to detect when upgrades are available (yet).

@Master-Guy
Copy link
Author

Please let me know when to retest, so I can fill you in with the results of updating my current list of applications :)
pre-update

@denelon
Copy link
Contributor

denelon commented Jan 24, 2023

That's a lovely collection of packages :)

@denelon
Copy link
Contributor

denelon commented Jan 24, 2023

@Master-Guy,

I had a quick chat with engineering.

We're going to confirm the behavior of having both "--all" and "--accept-package-agreements" for upgrade (in an open PR).

The "--log" argument is where the "installer" places it's logs (if supported). It likely the file would get overwritten by each subsequent installer. In a world where parallel install is supported (MSIX only) it gets even messier.

We're going to need to think about trying to place "all" installer logs from commands that operate on sets of packages into one location.

@denelon denelon removed the Needs-Attention Issue needs attention from Microsoft label Jan 24, 2023
@denelon denelon modified the milestones: v1.5-Client, v.Next-Client Apr 18, 2023
@denelon
Copy link
Contributor

denelon commented Jun 16, 2023

@Master-Guy

We've been making lots of progress on WinGet. We announced WinGet configuration and Dev Home at Microsoft Build this year.

I just finished "hijacking" my initial reply to keep track of the related issues at the top of this Issue. @Trenly has been helping as a community moderator over at winget-pkgs and we recently got an update for the fabric bot used here to help put labels on issues and build rules so the moderators can help with triage. He suggested an update here this morning since he's been plowing through the open issues.

Another set of notable improvements to help with troubleshooting have also been added. You can now specify verbose logging in your settings, and you can use "--open-logs" or the shorter "--logs" to launch the file explorer with the log directory after the command completes. If you don't want to default to verbose logs in settings, you can use "--verbose-logs" as an argument.

The Visual Studio and .NET teams have automated publishing for their packages in the WinGet community repository, and lots of other bugs have been discovered (some of them have even been squashed). I'd love to get an update on your end to see how we've made progress (or not).

@denelon
Copy link
Contributor

denelon commented Jun 16, 2023

I forgot to mention the PowerShell module which might also be more to your liking rather than trying to fight the CLI output.
WinGet Client PowerShell module

Issues related to the PowerShell cmdlets are labeled with "PowerShell".

@Master-Guy
Copy link
Author

Master-Guy commented Jun 17, 2023

Hi @denelon, thank you for your reply and keeping up with this.
It's good to see that this is still being followed up, and that improvements are still being made.
Taking you with me on this new cycle of updates:

winget upgrade --include-unknown
image

Going through the help message (-?), I see that --include-unknown is missing:
image

Combining all the wanted items, I reached the following command:
winget upgrade --include-unknown --silent --accept-package-agreements --accept-source-agreements --recurse --recurse --open-logs --verbose-logs --disable-interactivity
Please note that I'm running this command in a regular, non-elevated command prompt (WindowsTerminalPreview 1.18.1462.0) first.

image

Having the Starting package install... there still doesn't tell me that it is actually installing. Because of this, I'm not sure if I can safely CTRL+C the process at this moment.
image

Also for the screenshot above: Even though Winget tells me that there are 33 upgrades available, it only wants to process 24? This is very confusing for me as an end-user, since I don't have any information on why this is.

Information on the applications updating:
Algodoo [Algoryx.Algodoo] came with an unexpected UAC prompt
Android Studio [Google.AndroidStudio] came with an unexpected UAC prompt
Crossout Launcher [GaijinNetwork.Crossout] doesn't match the hash
Docker Desktop [Docker.DockerDesktop] came with a UAC prompt, but at least told me about it
Git [Git.Git] came with a UAC prompt, but at least told me about it
GNU Privacy Guard [GnuPG.GnuPG] came with an unexpected UAC prompt
OBS Studio [OBSProject.OBSStudio] came with an unexpected UAC prompt, and then failed to install even though it shouldn't
Oh My Posh [JanDeDobbeleer.OhMyPosh] installed successfully without prompts
Unity 2021 [Unity.Unity.2021] is installing (or attempting to install) version 22f1, even though only newer versions have been installed on my system. I'm not sure where this goes, but it does not become visible in Unity Hub
Ubisoft Connect [Ubisoft Connect] came with an unexpected UAC prompt
WinRAR [RARLab.WinRAR] came with an unexpected UAC prompt
Wireshark [WiresharkFoundation.Wireshark] came with an unexpected UAC prompt
Zoom [Zoom.Zoom] installed successfully without prompts
WinSCP [WinSCP.WinSCP] came with an unexpected UAC prompt
Python 2 [Python.Python.2] came with an unexpected UAC prompt
Microsoft .NET Windows Desktop Runtime 6.0 [Microsoft.DotNet.DesktopRuntime.6] came with an unexpected UAC prompt
Microsoft Visual C++ 2015-2022 Redistributable (x86) [Microsoft.VCRedist.2015+.x86] came with an unexpected UAC prompt
EA app [ElectronicArts.EADesktop] tells me that it will prompt for UAC, but never does. It does however show the main application screen after installation.
Microsoft Teams [Microsoft.Teams] fails to install
Microsoft Visual Studio Code [Microsoft.VisualStudioCode] installed successfully without prompts
Epic Games Launcher [EpicGames.EpicGamesLauncher] came with an unexpected UAC prompt and fails to install
GitHub CLI [GitHub.cli] came with an unexpected UAC prompt
VLC media player [VideoLAN.VLC] came with an unexpected UAC prompt and fails to install
Microsoft Visual C++ 2015-2022 Redistributable (x64) [Microsoft.VCRedist.2015+.x64] came with an unexpected UAC prompt

image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

The full logs for this set of update installations can be found here:
https://1drv.ms/u/s!AhuO4Fh8ycm8l4lSllFjTDH6XkAQaA?e=Hj6WL9

After the full set, I ran winget upgrade --include-unknown again:
image

Still in the list, even though it just updated according to the information I was shown:

  • Algodoo [Algoryx.Algodoo]
  • Android Studio [Google.AndroidStudio]
  • OBS Studio [OBSProject.OBSStudio]
  • Unity 2021.1.23f1 [Unity.Unity.2021]
  • Unity 2021.1.28f1 [Unity.Unity.2021]
  • Python 2.7.15 (64-bit) [Python.Python.2]
  • Microsoft Windows Desktop Runtime - 6.0.3 (x86) [Microsoft.DotNet.DesktopRuntime.6]
  • Microsoft Windows Desktop Runtime - 3.1.22 (x64) [Microsoft.DotNet.DesktopRuntime.6]
  • Microsoft Visual Studio Code [Microsoft.VisualStudioCode]
  • Microsoft Windows Desktop Runtime - 5.0.13 (x64) [Microsoft.DotNet.DesktopRuntime.6]

Trying to install the unknown packages:
image
NVM and WinDirStat.zip

Concluding this, all the feedback for this round:

  1. To me, the available updates after updating are the worst as either the update didn't work even though it reported a success, or the installation passed, but it isn't the latest reported version that is installed.
  2. When I'm running with --silent, I do not expect to get any UAC prompts. If an application requires Elevated Permissions, it should be skipped when not already running elevated.
  3. With 2 and 3 duplicate ID's, I can explain why there are 3 less updates running then there are applications reporting an update available. However, this does not explain the other 6 missing updates
  4. The version installed according to WinGET doesn't reflect the actual state for a number of applications. For example Discord has a newer version after auto-updating, then when running the installer. This makes the 'update' actually a downgrade.
  5. WinGET update is reporting version that aren't applicable to my system that it aware of. It does report this when trying to actually update/install, but still does report the update as available

@Trenly
Copy link
Contributor

Trenly commented Jun 17, 2023

Going through the help message (-?), I see that --include-unknown is missing

Interesting. I see it in the screenshot you shared as -u,--unknown,--include-unknown, right below -r,--recurse,--all.

Also for the screenshot above: Even though Winget tells me that there are 33 upgrades available, it only wants to process 24? This is very confusing for me as an end-user, since I don't have any information on why this is.

I completely agree. I believe this issue is being experienced by many users, and is tracked in

Having the Starting package install... there still doesn't tell me that it is actually installing. Because of this, I'm not sure if I can safely CTRL+C the process at this moment.

This is a great point, and I think @denelon noticed this a while ago in

Still in the list, even though it just updated according to the information I was shown:

This is great information. Some of them can be explained as known issues. For example - the Desktop Runtimes are installed side by side and are also heavily impacted by issues related to the Area-Matching Label. Others like OBS are actually an issue with the installer, as the publisher doesn't update the version reported in the registry.

The version installed according to WinGET doesn't reflect the actual state for a number of applications. For example Discord has a newer version after auto-updating, then when running the installer. This makes the 'update' actually a downgrade.

This is another interesting point and I'm glad you brought it up. This definitely isn’t a good behavior, and it seems it is also caused by discord's auto update not updating the version in the registry. I'll take a look and see if the Discord manifest is set to require explicit upgrade to help prevent this issue.

WinGET update is reporting version that aren't applicable to my system that it aware of. It does report this when trying to actually update/install, but still does report the update as available

This is an interesting artifact of how the upgrade flow is implemented and has resulted in other errors too like count of packages with unknown version being incorrect. The way the upgrade check works is by seeing if there is any manifest for the package with a version that is higher than what is currently installed, no filters are applied for OS Verison, OS Architecture, or previous installer types. When the upgrade is executed though, it does go through those filters which results in that very frustrating message. @denelon - Perhaps a separate issue should be created to filter out inapplicable updates in all areas of the upgrade flow?

When I'm running with --silent, I do not expect to get any UAC prompts. If an application requires Elevated Permissions, it should be skipped when not already running elevated.

I know @denelon has been working with the team to make improvements by trying to reason about how the elevationRequired, elevatesSelf, and elevationProhibited properties can be used to address this behavior - either through providing a single UAC prompt at the beginning of the install flow, de-elevating as needed, etc. Part of the problem though, is that many of the packages don’t have these properties specified, which makes it very difficult to know if or when a package will throw a UAC prompt. The cases where you saw the warning of the UAC, someone took the time to specify the elevation property of the installers and add in the message.


Thank you for all the great feedback! I know its frustrating when things don’t work quite as they are supposed to or in the way you would expect.

@Master-Guy
Copy link
Author

Master-Guy commented Jun 17, 2023

Interesting. I see it in the screenshot you shared as -u,--unknown,--include-unknown, right below -r,--recurse,--all.

I've read, checked, and double-checked the help page.. Can't understand how I've missed that one.. Sorry ^^

Thank you for all the great feedback! I know its frustrating when things don’t work quite as they are supposed to or in the way you would expect.

Don't worry, I know this is WIP and things cannot improve without feedback. Seeing the community working on this makes it worth posting the feedback in the first place. Even now WinGET already helps me so much!

@denelon
Copy link
Contributor

denelon commented Mar 6, 2024

@Master-Guy,

We released WinGet 1.7 with a few improvements. We're also working on the PowerShell module. We had a hiccup with the UI.Xaml 2.8 dependency, but that seems to have been largely resolved (not completely though).

I'm digging deep in the old bugs to review and see if any of them can be resolved. It's tedious work, but it's worth doing to try and keep the backlog clean. 😊

@Master-Guy
Copy link
Author

Hi @denelon
According to winget -v, I'm now on 1.8.532-preview.
If you want, I can go ahead and do another run of updates and report the results :)

image

@Master-Guy Master-Guy reopened this Mar 6, 2024
@Master-Guy
Copy link
Author

^ Accidentally hit the wrong button

@denelon
Copy link
Contributor

denelon commented Jun 11, 2024

We're going to have at least one more update to the WinGet 1.8 release candidate. We're making the new side-by-side behavior stable, and we're addressing an issue with downloading packages, dependencies, and licenses for the Microsoft Store UWP packages. I'd love to get an update after 1.8 is released.

@Master-Guy
Copy link
Author

I'll wait with the updates for now then. Once 1.8 is released I'll do a full update.

@denelon
Copy link
Contributor

denelon commented Dec 11, 2024

@Master-Guy we've released WinGet 1.9. We've also got the ability to have some parent child relationships with Issues here at GitHub. Now that an AI is also providing suggestions on issues, it might be good to close this one and work from a clean state. What do you think?

@Master-Guy
Copy link
Author

Sounds good, I'll go ahead with updating the apps and opening a new issue.

@Master-Guy
Copy link
Author

#5056 has been created

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
Archived in project
Development

No branches or pull requests

3 participants