evergreen icon indicating copy to clipboard operation
evergreen copied to clipboard

[Feature]: Microsoft SSMS Additional 'Base Version' attribute

Open AScott-WWF opened this issue 1 year ago • 5 comments

What is your feature request?

Further to https://github.com/aaronparker/evergreen/issues/685 and https://github.com/aaronparker/evergreen/issues/686...

It would be useful for Evergreen to offer the latest versions of all SQL Server Management Studio (SSMS) Base versions, to give Evergreen users more choice.

Currently Get-EvergreenApp MicrosoftSsms only offers the latest Base Version 20 build (v20.0.70.0 *)

* This is the latest version Evergreen knows about - but is not currently the latest available version - v20.1 is see: https://learn.microsoft.com/en-us/sql/ssms/release-notes-ssms?view=sql-server-ver16#current-ssms-release

I'd like to ask if the Evergreen function can be extended to return an additional 'Base Version' attribute, so multiple 'latest' versions of SSMS can be returned by the Get-EvergreenApp MicrosoftSsms

The current downloads for each Base version are as follows

Base Version (Current Latest Version) Architecture URL (excluding Language Id)
20 (20.1) x64 https://go.microsoft.com/fwlink/?linkid=2267019
19 (19.3) x64 https://go.microsoft.com/fwlink/?linkid=2257624
18 (18.12.1) x64 https://go.microsoft.com/fwlink/?linkid=2199013
17 (17.9.1) x64 https://go.microsoft.com/fwlink/?linkid=2043154
16 (16.5.3) x64 https://go.microsoft.com/fwlink/?LinkID=840946

This will allow users of Evergreen to additionally filter the results the specific Base version they require.

Verbose output for Get-EvergreenApp MicrosoftSsms:

VERBOSE: Function path: C:\Program Files\WindowsPowerShell\Modules\Evergreen\2405.1013\Apps\Get-MicrosoftSsms.ps1
VERBOSE: Function exists: C:\Program Files\WindowsPowerShell\Modules\Evergreen\2405.1013\Apps\Get-MicrosoftSsms.ps1.
VERBOSE: Dot sourcing: C:\Program Files\WindowsPowerShell\Modules\Evergreen\2405.1013\Apps\Get-MicrosoftSsms.ps1.
VERBOSE: Get-FunctionResource: read application resource strings from [C:\Program Files\WindowsPowerShell\Modules\Evergreen\2405.1013\Manifests\MicrosoftSsms.json]
VERBOSE: Calling: Get-MicrosoftSsms.
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://go.microsoft.com/fwlink/?linkid=2264111.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/1/b/c/1bc1f462-ac3a-402d-b872-c4cae745c539/SSMS_PRODUCTRELEASESFEED.xml].
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Method: Default.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.2478.67.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: MaximumRedirection: 2.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Uri: https://download.microsoft.com/download/1/b/c/1bc1f462-ac3a-402d-b872-c4cae745c539/SSMS_PRODUCTRELEASESFEED.xml.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: DisableKeepAlive: True.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UseBasicParsing: True.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: ContentType: application/json; charset=utf-8.
VERBOSE: Requested HTTP/1.1 GET with 0-byte payload
VERBOSE: Received HTTP/1.1 704-byte response of content type application/octet-stream
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x409.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-ENU.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x40c.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-FRA.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x407.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-DEU.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x410.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-ITA.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x411.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-JPN.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x412.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-KOR.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x416.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-PTB.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x419.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-RUS.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x40a.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-ESN.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x804.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-CHS.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://aka.ms/ssmsfullsetup?clcid=0x404.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: [https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-CHT.exe].
VERBOSE: ConvertTo-DateTime: Converting: [2024-03-15T08:03:52].
VERBOSE: ConvertTo-DateTime: Attempting to convert date format to: en-GB.
VERBOSE: ConvertTo-DateTime: Returning date: [15/03/2024].

Version   Date       Language              URI
-------   ----       --------              ---
20.0.70.0 15/03/2024 English               https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-ENU.exe
20.0.70.0 15/03/2024 French                https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-FRA.exe
20.0.70.0 15/03/2024 German                https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-DEU.exe
20.0.70.0 15/03/2024 Italian               https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-ITA.exe
20.0.70.0 15/03/2024 Japanese              https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-JPN.exe
20.0.70.0 15/03/2024 Korean                https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-KOR.exe
20.0.70.0 15/03/2024 Portuguese (Brazil)   https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-PTB.exe
20.0.70.0 15/03/2024 Russian               https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-RUS.exe
20.0.70.0 15/03/2024 Spanish               https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-ESN.exe
20.0.70.0 15/03/2024 Chinese (Simplified)  https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-CHS.exe
20.0.70.0 15/03/2024 Chinese (Traditional) https://download.microsoft.com/download/b/9/7/b97061b9-9b9c-4bc7-86de-22b262c016d1/SSMS-Setup-CHT.exe

Have you tested against the current version?

  • [X] Yes, I've updated Evergreen and tested against the current version.

Have you reviewed the documentation?

  • [X] Documentation at: https://stealthpuppy.com/evergreen/

AScott-WWF avatar May 17 '24 11:05 AScott-WWF

Why would you run an earlier version of the software when it supports earlier versions of SQL Server? I think the function could be updated to support each of the major versions, but there's some work to do to discover each of the update feeds.

aaronparker avatar May 19 '24 10:05 aaronparker

I've updated the existing function to return the latest version. Hopefully this update might fix the recent issue with not returning the latest versions.

aaronparker avatar May 19 '24 10:05 aaronparker

Why would you run an earlier version of the software when it supports earlier versions of SQL Server? I think the function could be updated to support each of the major versions, but there's some work to do to discover each of the update feeds.

Sometimes you need to run an earlier version to support certain specific SQL server versions (Yes you can pretty much connect to any historic version of SQL Server with the very latest version but sometimes you need a certain Base version to use some SQL Server functions). IIRC, to work with SSIS on SQL 2014 it requires the user to use SSMS v18.x, so if there is a newer version of SSMS v18.x is released to fix a vulnerability, I'd like to know about it.

I've updated the existing function to return the latest version. Hopefully this update might fix the recent issue with not returning the latest versions.

Thanks v20.1 is now being offered

AScott-WWF avatar May 28 '24 10:05 AScott-WWF

It appears the issue is still there, as 20.2 is available, but the latest version according to get-evergreenapp is 20.1.10.0

bryannorton avatar Sep 03 '24 17:09 bryannorton

FYI: Because the Evergreen JSON needs to be updated each time Microsoft release a new SSMS (because Microsoft choose not to use a fixed url that the version can be queried 🤦‍♂️), I have written a Nevergreen script to return the latest versions of Microsoft SSMS from the releases page (https://learn.microsoft.com/en-us/sql/ssms/release-notes-ssms?view=sql-server-ver16). When Dan Gough gets the time, this enhancement should get included in the next Nevergreen release. Details here: https://github.com/DanGough/Nevergreen/issues/65

AScott-WWF avatar Sep 04 '24 08:09 AScott-WWF