aaronparker / evergreen

Create evergreen Windows image build pipelines with the latest version numbers and download URLs for common applications
http://stealthpuppy.com/evergreen/
MIT License
349 stars 62 forks source link

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

Open AScott-WWF opened 1 month ago

AScott-WWF commented 1 month ago

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?

Have you reviewed the documentation?

aaronparker commented 1 month ago

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 commented 1 month ago

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.

AScott-WWF commented 1 month ago

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