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.04k stars 1.43k forks source link

winget installed deleted software #4407

Closed jan10000000001 closed 4 months ago

jan10000000001 commented 5 months ago

Brief description of your issue

hi i deinstalled firefox and irfanview .on next time i use winget upgrade --all --silent it installed the software again

Steps to reproduce

hi i deinstalled firefox and irfanview .on next time i use winget upgrade --all --silent it installed the software again

Expected behavior

dont upgrade(install ) deleted software

Actual behavior

install again deleted software

Environment

PS C:\Users\bwe5gvj> winget --info
Windows-Paket-Manager v1.7.10861
Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.

Windows: Windows.Desktop v10.0.22631.3447
Systemarchitektur: X64
Paket: Microsoft.DesktopAppInstaller v1.22.10861.0

WinGet-Verzeichnisse
-----------------------------------------------------------------------------------------------------------------------
Protokolle                                   %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\Local…
Benutzereinstellungen                        %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\Local…
Verzeichnis für portierbare Links (Benutzer) %LOCALAPPDATA%\Microsoft\WinGet\Links
Portables Linkverzeichnis (Computer)         C:\Program Files\WinGet\Links
Portierbarer Paketstamm (Benutzer)           %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portierbarer Paketstamm                      C:\Program Files\WinGet\Packages
Portierbares Paketstamm (x86)                C:\Program Files (x86)\WinGet\Packages
Installationsprogrammdownloads               %USERPROFILE%\Downloads

Links
-----------------------------------------------------------------------------------------
Datenschutzerklärung              https://aka.ms/winget-privacy
Lizenzvereinbarung                https://aka.ms/winget-license
Hinweise von Drittanbietern       https://aka.ms/winget-3rdPartyNotice
Startseite                        https://aka.ms/winget
Windows Store-Nutzungsbedingungen https://www.microsoft.com/en-us/storedocs/terms-of-sale

Administratoreinstellung                  Status
-----------------------------------------------------
LocalManifestFiles                        Deaktiviert
BypassCertificatePinningForMicrosoftStore Deaktiviert
InstallerHashOverride                     Deaktiviert
LocalArchiveMalwareScanOverride           Deaktiviert
stephengillie commented 5 months ago

That's not supposed to happen - the package manager reads from the Registry to know what's on the PC. So even if it was uninstalled through another means it should still be off the list.

If the software files were removed, but the Registry entries not removed - maybe during a manual removal - then I'm not sure how the package manager would react. DefaultInstallLocation is part of the Schema now, but outside of this field, I believe the package manager doesn't check the file system. And that field is only used to help with matching, possibly for packages that normally install side-by-side and don't leave many other details in the Registry.

So the package manager might match the Registry entries, not know to check files on disk to find them missing, then proceed to download the installer and perform an upgrade - which turns into the install you saw. Could this be what happened?

Feature request: Check if the application files have been removed, and prompt in terminal "This package has Registry entries, but its files are missing. Should the Registry entries be removed, should the package be reinstalled, or should this be skipped?"

denelon commented 5 months ago

@jan10000000001 could you get your device to the state where you believe the applications are removed and run winget list to see what WinGet still reports as installed? The application(s) may not have been completely removed.

jan10000000001 commented 5 months ago

@denelon winget list show nothing about firefox and irfanview @stephengillie i uninstalled the software over control /programm and featueres

denelon commented 5 months ago

Can you share the WinGet logs for running WinGet list where the two applications are not present, and then logs showing a reproduction where the applications are getting "upgraded"?

microsoft-github-policy-service[bot] commented 5 months ago

Hello @jan10000000001,

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment.

Template: msftbot/noRecentActivity