'winget upgrade' reports WinDirStat upgradable when latest version is installed
Brief description of your issue
I have WinDirStat 1.1.2 installed. winget upgrade lists it as upgradable.
Steps to reproduce
C:\Windows\system32>winget upgrade
Name Id Version Available Source
------------------------------------------------------------------
Mozilla Firefox ESR Mozilla.Firefox.ESR 45.9.0 91.6.0 winget
WinDirStat WinDirStat.WinDirStat Unknown 1.1.2 winget
2 upgrades available.
C:\Windows\system32>
Expected behavior
Not see an up to date product listed.
Actual behavior
Product is listed with installed 'Version' of 'Unknown'
Environment
C:\Windows\system32>winget --info
Windows Package Manager v1.1.13405
Copyright (c) Microsoft Corporation. All rights reserved.
Windows: Windows.Desktop v10.0.19044.1526
Package: Microsoft.DesktopAppInstaller v1.16.13405.0
Logs: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
Links
---------------------------------------------------------------------------
Privacy Statement https://aka.ms/winget-privacy
License Agreement https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale
reg query hkcu\software\microsoft\windows\currentversion\uninstall\windirstat
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\uninstall\windirstat
UninstallString REG_EXPAND_SZ "C:\Program Files (x86)\WinDirStat\Uninstall.exe"
InstallLocation REG_EXPAND_SZ C:\Program Files (x86)\WinDirStat
DisplayName REG_SZ WinDirStat 1.1.2
DisplayIcon REG_SZ C:\Program Files (x86)\WinDirStat\windirstat.exe,0
dwVersionMajor REG_DWORD 0x1
dwVersionMinor REG_DWORD 0x1
dwVersionRev REG_DWORD 0x2
dwVersionBuild REG_DWORD 0x4f
URLInfoAbout REG_SZ http://windirstat.info/
NoModify REG_DWORD 0x1
NoRepair REG_DWORD 0x1
The latest version of WinDirStat (1.1.2) does not get reported to Apps & Features. Without that information we are not able to determine if the latest version in the community repository is an upgrade or not.
The latest version of the Windows Package Manager does a better job of handling this scenario in the UI until the publisher begins reporting the version installed.
Below I've installed the package and run the upgrade command. It displays the package with a version that cannot be determined.
Then I've run the upgrade command with the "--include-unknown" argument. It then includes WinDirStat in the output with the "Unknown" version that is currently installed.
PS C:\Windows\system32> winget install WinDirStat
Found WinDirStat [WinDirStat.WinDirStat] Version 1.1.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://sourceforge.net/projects/windirstat/files/windirstat/1.1.2%20installer%20re-release%20%28more%20languages%21%29/windirstat1_1_2_setup.exe/download
██████████████████████████████ 630 KB / 630 KB
Successfully verified installer hash
Starting package install...
Successfully installed
PS C:\Windows\system32> winget upgrade
Name Id Version Available Source
--------------------------------------------------------------
Microsoft Edge Microsoft.Edge 92.0.902.67 98.0.1108.50 winget
calibre calibre.calibre 4.16.0 5.36.0 winget
2 upgrades available.
1 package has a version number that cannot be determined. Use "--include-unknown" to see all results.
PS C:\Windows\system32> winget upgrade --include-unknown
Name Id Version Available Source
--------------------------------------------------------------------
Microsoft Edge Microsoft.Edge 92.0.902.67 98.0.1108.50 winget
WinDirStat WinDirStat.WinDirStat Unknown 1.1.2 winget
calibre calibre.calibre 4.16.0 5.36.0 winget
3 upgrades available.
PS C:\Windows\system32>