winget-cli
winget-cli copied to clipboard
Incorrect Versioning of Multiple Packages - Upgrade Or Manual Install Has No Effect - .NET, CUDA, Others
Brief description of your issue
The winget-cli tool fails to correctly version multiple packages after upgrade or manual installation. This issue is observed prominently in this feedback with .NET but happens for other packages such as CUDA, and potentially other packages. I have gone through the painstaking process of manually installing and uninstalling over 50 different .NET versions, tried using winget-cli, and even tried upgrading other packages for this feedback with the versioning issue still persisting.
Since this issue might span across winget-cli, package maintainers, and other MS Teams, during this arduous process I recorded it in Feedback Hub to aid the various teams involved with extensive logs on the install/uninstall process of winget-cli and package versions. I also included the direct logs that were generated over the package installs and uninstalls over the 2 hour period.
You can find the Feedback Hub for the logs and screenshots here: https://aka.ms/AAqqtaf
Additionally, this issue doesn't seem to be isolated, as it potentially mirrors the problems reported in the following GitHub issues:
GitHub Issue #3004 GitHub Issue #4415
- Logs from manual installations of .NET packages.
- Logs from running winget upgrade post manual installation.
- The final state of the system, highlighting discrepancies in versioning. Attached is a screenshot showing the .NET packages installed so far, along with all the captured logs for detailed reference.
Screenshot of some of the logs:
Steps to reproduce
- winget source update
- winget upgrade
- winget upgrade
Name Id Version Available Source
------------------------------------------------------------------------------------------------------------
NETworkManager 2024.5.27.0 BornToBeRoot.NETworkManager 24.5.27 2024.1.7.0 winget
Microsoft Windows Desktop Runtime - 6.0.31 (x64) Microsoft.DotNet.DesktopRuntime.8 < 8.0.0 8.0.6 winget
Microsoft .NET Runtime - 6.0.31 (x64) Microsoft.DotNet.Runtime.7 < 7.0.0 7.0.20 winget
Microsoft Windows Desktop Runtime - 8.0.5 (x86) Microsoft.DotNet.DesktopRuntime.8 8.0.5 8.0.6 winget
Microsoft .NET SDK 8.0.206 (x86) Microsoft.DotNet.SDK.8 8.0.206 8.0.301 winget
Microsoft .NET Runtime - 6.0.31 (x86) Microsoft.DotNet.Runtime.7 < 7.0.0 7.0.20 winget
Microsoft .NET SDK 8.0.206 (x64) Microsoft.DotNet.SDK.8 8.0.206 8.0.301 winget
Microsoft .NET SDK 8.0.106 (x64) Microsoft.DotNet.SDK.8 8.0.106 8.0.301 winget
MSBuild Community Tasks 1.5 LoreSoft.MSBuildCommunityTasks 1.5.0 1.5.0.235 winget
Microsoft Windows Desktop Runtime - 6.0.31 (x86) Microsoft.DotNet.DesktopRuntime.8 < 8.0.0 8.0.6 winget
- winget upgrade <any-of-these-NET-packages>
- Installation proceeds as normal
- Versioning does not change
Versions were also checked with dotnet sdk check and found to be differing from winget-cli.
Expected behavior
Package installations to succeed and winget-cli to recognize the new version.
Hope this helps!
Now let's hope Visual Studio isn't completely broken 😂
Actual behavior
An endless abyss of a Semver loops?
Also, I do have a winget config error with the different JSON versions, but this issue was present before and after so I believe it to be unrelated. Please let me know if there is another repo that should be tagged as well!
Environment
Unexpected error while loading settings. Please verify your settings by running the 'settings' command.
Windows Package Manager v1.8.1522
Copyright (c) Microsoft Corporation. All rights reserved.
Windows: Windows.Desktop v10.0.26227.5000
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.23.1522.0
Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User) %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User) %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root C:\Program Files\WinGet\Packages
Portable Package Root (x86) C:\Program Files (x86)\WinGet\Packages
Installer Downloads %USERPROFILE%\Downloads
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
Group Policy State
--------------------------------------------------------------------------
Enable Windows Package Manager Enabled
Enable Windows Package Manager Settings Enabled
Enable Windows App Installer Experimental Features Enabled
Enable Windows App Installer Local Manifest Files Enabled
Enable Windows App Installer Hash Override Enabled
Enable Windows App Installer Microsoft Store Source Enabled
Enable Additional Windows App Installer Sources Enabled
Enable Windows Package Manager command line interfaces Enabled
Enable Windows Package Manager Configuration Enabled
Enable Windows Package Manager proxy command line options Enabled
Set Windows Package Manager Source Auto Update Interval In Minutes 60
Admin Setting State
--------------------------------------------------
LocalManifestFiles Enabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride Enabled
LocalArchiveMalwareScanOverride Disabled
ProxyCommandLineOptions Enabled
DefaultProxy Disabled
Hi I'm an AI powered bot that finds similar issues based off the issue title.
Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!
Open similar issues:
- Nonsensical version tracking and listing (#3735), similarity score: 0.79
- Multiple installed versions of .NET Desktop Runtime are incorrectly matched when running
winget upgrade. (#4158), similarity score: 0.78 - First usage feedback: multiple non-silent fails, one crash, and two types of repeats (#1009), similarity score: 0.76
Closed similar issues:
- Handle Multiple Major Versions of One Package (#793), similarity score: 0.77
- Failed installs leave winget versions out of sync with installed versions (#3859), similarity score: 0.76
Note: You can give me feedback by thumbs upping or thumbs downing this comment.
The team is working on improving side-by-side behaviors, and the applications you mentioned (.NET, CUDA, Desktop Runtime, etc.) are all applications that install new versions side-by-side with older versions.
There is an experimental feature in preview versions that may provide a better experience.
You can run winget features to see which experimental features are available to test/try out. Features can be enabled using winget settings which will open the configuration file in your default .json editor.
@Trenly Hi! I've been using a custom configuration settings.json for winget-cli and have been using it as discussed in https://github.com/microsoft/winget-cli/issues/4425.
I mainly created this issue to provide a rather large (I'm assuming) data dump for the team in regards to what is happening. I'm in the Windows Insider Program on the Canary channel so I have full telemetry and diagnostics enabled. Additionally, I've enabled additional various tools, diagnostics, and logging capabilities that other users probably don't have.
Additionally, I've taken quite a keen interest in Winget-CLI as my first actual contribution on GitHub and the open source community. As such, I would love to help out further. Would you or the team have a list of applications that the team is working on that are experiencing these issues? Would be happy to go through the same motions here with those packages to with logs and recordings of each package for more insight for the team!
Also if the team is able to share, I would be happy to enable/install any additional diagnostics, logs, ETWs, WPA plug-ins, or debugging tools specifically for Winget to give as much data and feedback for the team.
Here is my current settings.json config (which currently has an error with the new(?) schema):
{
"$id": "https://aka.ms/winget-settings.schema.json",
"$schema": "https://json-schema.org/draft/2019-09/schema#",
"title": "Microsoft's Windows Package Manager Settings Profile Schema",
"definitions": {
"Source": {
"description": "Source repository settings",
"type": "object",
"properties": {
"autoUpdateIntervalInMinutes": {
"description": "Number of minutes before source update",
"type": "integer",
"default": 5,
"minimum": 0,
"maximum": 43200
}
}
},
"experimentalFeatures": {
"experimentalCmd": true,
"experimentalArg": true,
"dependencies": true,
"directMSI": true,
"resume": true,
"configuration03": true,
"configureSelfElevate": true,
"sideBySide": true
},
"visual": {
"progressBar": "rainbow",
"anonymizeDisplayedPaths": false
},
"source": {
"autoUpdateIntervalInMinutes": 10
},
"installBehavior": {
"disableInstallNotes": false,
"skipDependencies": false,
"includePreviewVersions": true,
"portablePackageUserRoot": "C:\\Portable-Apps",
"portablePackageMachineRoot": "C:\\Portable-Apps",
"allowPrerelease": true,
"allowExperimental": true,
"preferences": {
"locale": ["en-US"],
"architectures": ["x64"],
"installerTypes": ["msix", "msi", "exe", "msstore", "wix", "nullsoft", "zip", "inno", "burn", "portable"]
},
"uninstallBehavior": {
"purgePortablePackage": true
},
"network": {
"downloader": "wininet"
},
"telemetry": {
"disable": false
},
"logging": {
"level": "verbose",
"channels": ["all"]
},
"interactivity": {
"disable": false
}
}
,
@davidldennison thanks for the offer to help!
In general, one of our challenges of current focus is dealing with instances where two versions (or both per user and per machine) of an application are installed. Most of these issues have the https://github.com/microsoft/winget-cli/labels/Side-by-Side label on them. I've put comments on most of those issues with information about the new experimental feature. I've been trying to see how many of them look like they are resolved with the new changes. I'd like to get those figured out as soon as possible. I'd also like to know if there are any other bugs related to the new experimental feature before we release it.
The sooner we have confidence in the quality of the feature, and which bugs it will resolve, the sooner we can make it the stable behavior.
Does this appear to be resolved with the new support for side-by-side scenarios?
Hello @davidldennison,
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