Page 1 of 1

WINGET can't determine installed version

Posted: Mon Dec 30, 2024 11:13 am
by Mikerowave
Using Windows 10/11, the WINGET utility identifies the SDR Console (V3) version as "Unknown".

Code: Select all

>winget list "SDR-Radio.com (V3)"
Name               Id                   Version Available Source
----------------------------------------------------------------
SDR-Radio.com (V3) SimonG4ELI.SDR-Radio Unknown 3.3       winget
It knows 3.3 is available, but but can't determine the current version. If you force the upgrade using the --include-unknown flag, it will install 3.3 again.

I understand it's a simple registry entry, but not being a developer, I'm not sure where that would be.

Re: WINGET can't determine installed version

Posted: Mon Dec 30, 2024 12:55 pm
by KA1GJU
Why go through all the trouble when SDRC tells you on the screen what version you are currently running?
It's centered just above the ribbon bar, see attachment.


73 Kriss KA1GJU

Re: WINGET can't determine installed version

Posted: Mon Dec 30, 2024 2:16 pm
by mbott
Well, this post is educational. My preferred O/S is Linux and I didn't even know Windows had this "winget" utility. Since the system I'm running Win11 on is pretty much for SDR usage, I think I can better control it the old fashioned way. :)

Re: WINGET can't determine installed version

Posted: Tue Dec 31, 2024 5:45 am
by Mikerowave
I know the version number, WINGET doesn't. When executing a command, such as, winget upgrade --all (similar to sudo apt update && sudo apt upgrade in Linux), it excludes SDR Console (V3) because it can't find the current version.

WINGET is a simple way to keep the majority of Windows apps updated.

Re: WINGET can't determine installed version

Posted: Tue Mar 18, 2025 1:19 am
by ManfredSch
I had the same problem.

Code: Select all

>winget update --include-unknown
Name               Id                   Version Available Source
----------------------------------------------------------------
SDR-Radio.com (V3) SimonG4ELI.SDR-Radio Unknown 3.3       winget
After adding the following registry value ...

Code: Select all

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\SDR-Radio.com (V3)]
"DisplayVersion"="3.3"
... winget now reports version 3.3 and does no longer complain about a package with an unknown version.

Code: Select all

> winget list "SDR-Radio.com (V3)"
Name               Id                   Version Source
-------------------------------------------------------
SDR-Radio.com (V3) SimonG4ELI.SDR-Radio 3.3     winget
It would be great to see this minor problem fixed in future SDR-Radio releases.

Re: WINGET can't determine installed version

Posted: Tue Mar 18, 2025 10:00 am
by jdow
Simon does not put the version into the resource portion of the executable file. He never has. It's an annoying hassle.
{^_^}

Re: WINGET can't determine installed version

Posted: Tue Mar 18, 2025 2:42 pm
by ManfredSch
Both executables "SDR-Radio V3.3, 64-bit, 2024-02-05_0741.exe" and "SDR Console.exe" do have product version information.

Code: Select all

PS > (Get-Command "C:\Downloads\SDR-Radio V3.3, 64-bit, 2024-02-05_0741.exe").FileVersionInfo.ProductVersion
3.0 (64-bit)
PS > (Get-Command "C:\Program Files\SDR-Radio.com (V3)\SDR Console.exe").FileVersionInfo.ProductVersion
3.3
However it looks like winget does not query the executables. Therefore I think the installer has to put a "DisplayVersion" value into the registry.

To monitor winget activities you could use Process Monitor (https://learn.microsoft.com/en-us/sysin ... ds/procmon) and add "Process Name is winget.exe then Include" to the "Process Monitor Filter".

Code: Select all

Relevant Process Monitor output after adding "DisplayVersion" value:
winget.exe RegQueryValue HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\SDR-Radio.com (V3)\DisplayVersion SUCCESS Type: REG_SZ, Length: 8, Data: 3.3
The problem has also been discussed at https://github.com/microsoft/winget-cli/issues/1255.

Re: WINGET can't determine installed version

Posted: Wed Mar 19, 2025 9:02 am
by jdow
The "standard" place the version info lives is the resource extension to the file. You can see it in a resource editor such as VisualStudio's tool. That version on SDRConsole is 1.0.0.1, the default new project version number. It is there. It is meaningless. So WinGet ignores it. The version information the executable shows when it runs is encoded in a non-standard location in the file, which makes version tracking easier for the developer but inaccessible outside the file. I don't see Simon making a change to this.

{^_^}