winget-cli icon indicating copy to clipboard operation
winget-cli copied to clipboard

winget tries to upgrade .NET 5 Runtime over and over

Open exchange12rocks opened this issue 3 years ago • 6 comments

Brief description of your issue

I have two .NET runtimes installed side by side: 5 and 6 image

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

  1. Install .NET Runtime 5.0.17
  2. Install .NET Runtime 6.0.7
  3. Run winget upgrade
  4. 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

exchange12rocks avatar Jul 17 '22 18:07 exchange12rocks

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.

denelon avatar Jul 19 '22 22:07 denelon

For me, this situation is a little bit different... I have installed only one version 5.0.13

image

but winget list to install version 3.1.27

image

o course when I try install it

image

dw72 avatar Jul 21 '22 05:07 dw72

@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.

denelon avatar Jul 21 '22 14:07 denelon

Hi @denelon, see attachments below.

image

WinGet-2022-07-25-14-18-12.581.log

dw72 avatar Jul 25 '22 12:07 dw72

@exchange12rocks? Is this still happening?

denelon avatar Feb 22 '23 00:02 denelon

@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.

exchange12rocks avatar Feb 22 '23 11:02 exchange12rocks

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

winget_issue2345_20231219

functionkey-12 avatar Dec 19 '23 13:12 functionkey-12

Having similar issue: image

image

sharpsalat avatar Mar 30 '24 00:03 sharpsalat

To workaround this, set the architecture and install.

aaronliu0130 avatar Mar 30 '24 02:03 aaronliu0130

set the architecture and install.

@aaronliu0130 could you elaborate further?

Chudesnov avatar Mar 31 '24 12:03 Chudesnov

e.g. winget install Microsoft.DotNet.SDK.5 -a x64

aaronliu0130 avatar Mar 31 '24 14:03 aaronliu0130