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.27k stars 1.45k forks source link

Fail to upgrade HexRays.IDA.Free exits WinGet instead of continuing with other upgrades #2166

Open birbilis opened 2 years ago

birbilis commented 2 years ago

Brief description of your issue

doing winget upgrade I saw Name Id Version Available Source ... IDA Freeware and Hex-Rays Decompilers (… HexRays.IDA.Free 7.6 7.7 winget ...

so I did winget upgrade --all -h

but when it reached that IDA entry it failed (had been installed sometime in the past manually) it failed (said I should ask manufacturer for an app for my Windows [note I'm on 64-bit, so not sure what was that which failed showing a dialog that is usually shown when you run 64-bit on 32-bit Windows], could it be ARM or 16-bit stuff or some corrupted image?)

the bug though is that WinGet exited at that point (whereas at some installers before where it had low disk space [say for Docker which was big] it just continued when their installers failed after succesful download)

Steps to reproduce

need to have specific software and version of it installed most probably, see description upgrading multiple items fails upon reaching that (and exits WinGet)

Expected behavior

expected to continue with next item (was just at 9/36 updates)

Actual behavior

see screenshot, it fails to continue image

Environment

Windows Package Manager v1.2.10271
Windows: Windows.Desktop v10.0.22000.675
Package: Microsoft.DesktopAppInstaller v1.17.10271.0
denelon commented 2 years ago

Is there any chance you could share the log?

birbilis commented 2 years ago

how do I get the log?

birbilis commented 2 years ago

note that I did the same action again (in the same admin command prompt window) and it did install this time IDA without taking down winget

image

vedantmgoyal9 commented 2 years ago

I think it was requiring admin privileges?

vedantmgoyal9 commented 2 years ago

You can get the logs path by running winget --info.

birbilis commented 2 years ago

it did ask for such (this time that it installed). Don't remember seeing such (before it crashed) the last time. Even if it had timedout though at IDA installer asking of admin privs it shouldn't take down winget.

The 2nd run did the same error (with the unreadable chars [I'm using Greek language on Win11]) with other package (Ubisoft Connect) this time: image

I will try running till all install and then share the logs (hope they're appending and not cleared on each run)

birbilis commented 2 years ago

does it somehow cancel installed items when it crashes? it seems to reinstall the same version of IDA that succesfully installed, VoiceBot too etc.

image

birbilis commented 2 years ago

btw, it shouldn't be any timeout issue at the UAC prompt, since at the 2nd try to upgrade IDA one that said it install succesfully (even though it seems to reinstall it) I had left the machine and came back to respond Yes at the UAC prompt some hour(s) later and it proceeded

denelon commented 2 years ago

If a UAC isn't acknowledged, there is a timeout period where the client assumes a failure and will continue running the upgrade all process.

birbilis commented 2 years ago

probably that timeout is quite long, since it didn't cause issue in my case waiting for an hour so (unless I should suspect a compromised UAC screen)

the only "suspicious" thing apart from that comment is this btw: image

this 3rd time it run to the end all the list of upgrades (some big ones did fail due to lack of disk space, but no abrupt stopping of winget this 3rd time)

birbilis commented 2 years ago

WinGet-logs-20220518.zip