microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
22.93k stars 1.42k forks source link

winget upgrade of Microsoft.SQLServerManagementStudio from v19.3 to 20.0 fails #4323

Open pamanes opened 5 months ago

pamanes commented 5 months ago

Brief description of your issue

Wanted to upgrade SQL Server Management Studio v19.3 to 20.0 through winget, executed:

winget list --upgrade-available --source=winget and realized the upgrade to 20.0 was available, so executed:

winget upgrade Microsoft.SQLServerManagementStudio and it looks like it upgraded the package, but when I open SQL Server Management Studio and check the version, it's still v19.3 instead of 20.0, when I run the upgrade command again I get:

No installed package found matching input criteria.

Steps to reproduce

winget list --upgrade-available --source=winget winget upgrade Microsoft.SQLServerManagementStudio

Expected behavior

SQL Server Management Studio successfully upgraded to 20.0

Actual behavior

SQL Server Management Studio is still v19.3 after upgrading the package through winget

Environment

Windows Package Manager v1.7.10661
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19045.4170
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.22.10661.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

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
github-actions[bot] commented 5 months ago

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:

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

Trenly commented 5 months ago

Can you run winget list "SQL Server"? This package is known to install side by side, causing the old version to still be detected as being outdated even though the newer version is also installed

rumplin commented 5 months ago

I have the same issue (But I manually already upgraded to version 20). winget still shows there is an update:

winget update
Name                                          Id                                  Version   Available Source
------------------------------------------------------------------------------------------------------------
Microsoft SQL Server Management Studio - 19.3 Microsoft.SQLServerManagementStudio 19.3      20.0      winget
1 upgrades available.
1 package(s) have version numbers that cannot be determined. Use --include-unknown to see all results.
winget list "SQL Server"
Name                                           Id                                     Version     Available Source
------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2019 LocalDB              {36E492B8-CB83-4DA5-A5D2-D99A8E8228A1} 15.0.4153.1
Microsoft ODBC Driver 17 for SQL Server        {57B9F896-DE52-4CFA-B7DE-9EFD00A1E020} 17.10.5.1
Microsoft System CLR Types for SQL Server 2019 Microsoft.CLRTypesSQLServer.2019       15.0.2000.5           winget
Microsoft OLE DB Driver for SQL Server         {EBC362C3-E2BD-41A6-BC10-F07D52F1509E} 18.6.7.0
Microsoft SQL Server Management Studio - 20.0  Microsoft.SQLServerManagementStudio    20.0                  winget
Microsoft SQL Server Management Studio - 19.3  Microsoft.SQLServerManagementStudio    19.3        20.0      winget
winget update --id Microsoft.SQLServerManagementStudio --exact --accept-source-agreements --silent --disable-interactivity --accept-package-agreements --force --include-unknown
No installed package found matching input criteria.

I can manually uninstall 19.3, but the idea was to use winget to do the upgrade not intervene manually.

denelon commented 5 months ago

We're doing some work for packages that install side-by-side. I'm hoping to get a build out in the next few days for WinGet 1.8-preview so users can test with the experimental feature.

denelon commented 5 months ago

We've been working on the side-by-side scenarios. You could try the latest release and enable the experimental feature on:

Please provide feedback at:

Zulgrib commented 5 months ago

If the software is meant to be installed side by side, maybe it needs its own ID and shouldn't be shown as an update?