winget tries to upgrade .NET 5 Runtime over and over
Brief description of your issue
I have two .NET runtimes installed side by side: 5 and 6

winget sees the 5.0.17 version and tries to upgrade it to 6.0.7, even though 6.0.7 is already installed on the machine.
Steps to reproduce
- Install .NET Runtime 5.0.17
- Install .NET Runtime 6.0.7
- Run
winget upgrade - You'll see the following:
Name Id Version Available Source
-----------------------------------------------------------------------------------------------------------------------
Microsoft .NET Runtime 6.0 Microsoft.DotNet.Runtime.6 5.0.17.31213 6.0.7 winget
Expected behavior
winget treats .NET Runtime 5 and 6 as two different applications and does not offer new .NET 6 versions for .NET 5.
Actual behavior
winget treats .NET Runtime 5 and 6 the same application, offering new .NET 6 versions as upgrades for .NET 5.
Environment
Windows Package Manager v1.2.11601
Windows: Windows.Desktop v10.0.19044.1766
Package: Microsoft.DesktopAppInstaller v1.17.11601.0
The issue with dotnet runtimes is due to there being multiple versions of the runtime installed side-by-side and is related to
- #1413
We have enhancements in Windows Package Manager 1.3 support for "AppsAndFeatures" data that will help in this scenario.
For me, this situation is a little bit different... I have installed only one version 5.0.13

but winget list to install version 3.1.27

o course when I try install it

@dw72
Can you try with "--verbose-logs" and share the resulting logs? I'd also like to know which version of Windows Package Manager you're running.
@exchange12rocks? Is this still happening?
@denelon Yes:
Name Id Version Available Source
-------------------------------------------------------------------------------------------------
Microsoft .NET Runtime - 5.0.17 (x64) Microsoft.DotNet.Runtime.6 < 6.0.5 6.0.14 winget
1 upgrade available.
I am also having this issue with different versions of the .NET runtime and winget. I have .NET 6.0.23 installed and winget would like me to upgrade it to 6.0.25. However, I already have that version installed as well.
In any case, winget downloads and attempts to install 6.0.25 and then closes shortly after starting the install. If I try to upgrade with the the -id flag, I get the "No installed packages [...]" message. If I try to install with the id, the package is found, downloaded and tries to install.
I have also found and ran the .NET Fix Repair tool, and it found no issues with my installed packages.
Winget version v1.6.3421
Having similar issue:
To workaround this, set the architecture and install.
set the architecture and install.
@aaronliu0130 could you elaborate further?
e.g. winget install Microsoft.DotNet.SDK.5 -a x64
