Visual Studio End of Life Audit

Find End of Life Visual Studio Installations

Visual Studio is one of the longest-running integrated development environments and still has multiple versions being supported. Versions 2013 through 2022 are currently still being supported and have varying end-of-life dates. Visual Studio uses Microsoft's fixed lifecycle policy which provides 10 years of support. To help you keep an eye on the end-of-life dates for the various visual studio versions we've created a special color-coded report that lists your Visual Studio installations along with the (LTSC) EOL date and how many days are remaining.

Read all about the Visual Studio lifecycle in our Visual Studio blog post.

 

Updates:
2022-12-2: EOL dates Visual Studio 2022 added
2023-6-7: Added EOL Date Version 17.6 (LTSC channel)

Visual Studio EOL Audit Lansweeper On-Prem Query

Select Distinct Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tsysAssetTypes.AssetTypename As AssetType,
tblAssets.Username,
tblAssets.Userdomain,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblAssets.IPAddress,
tsysIPLocations.IPLocation,
tblAssetCustom.Manufacturer,
tblAssetCustom.Model,
tsysOS.OSname As OS,
tblAssets.SP,
subquery1.Software,
subquery1.Version,
subquery1.Publisher,
subquery1.EOLDate,
Case
When GetDate() < subquery1.EOLDate Then Cast(DateDiff(DAY, GetDate(),
subquery1.EOLDate) As NVARCHAR) + ' days remaining'
End As [Days Remaining],
tblAssets.Lastseen,
tblAssets.Lasttried,
Case
When GetDate() > subquery1.EOLDate Then '#ffadad'
Else '#d4f4be'
End As backgroundcolor
From tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tsysIPLocations On tsysIPLocations.LocationID =
tblAssets.LocationID
Inner Join tblState On tblState.State = tblAssetCustom.State
Left Join tsysOS On tsysOS.OScode = tblAssets.OScode
Left Join (Select tblSoftwareUni.softwareName As Software,
tblsoftware.softwareVersion As Version,
tblSoftwareUni.SoftwarePublisher As Publisher,
Case
When tblsoftware.softwareVersion Like '11.0.61219%' Or
tblsoftware.softwareVersion Like '11.0.50727%' Then '2023-01-10'
When tblsoftware.softwareVersion Like '12.%' Then '2024-04-09'
When tblsoftware.softwareVersion Like '14.%' Then '2025-10-14'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) < 3 And
tblsoftware.softwareVersion Like '15%' And
Cast(ParseName(tblsoftware.softwareVersion, 2) As bigint) = 9 Then
'2027-04-13'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) = 3 And
tblsoftware.softwareVersion Like '15%' And
Cast(ParseName(tblsoftware.softwareVersion, 3) As bigint) = 9 Then
'2027-04-13'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) < 3 And
tblsoftware.softwareVersion Like '16%' And
Cast(ParseName(tblsoftware.softwareVersion, 2) As bigint) = 4 Then
'2021-10-01'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) = 3 And
tblsoftware.softwareVersion Like '16%' And
Cast(ParseName(tblsoftware.softwareVersion, 3) As bigint) = 4 Then
'2021-10-01'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) < 3 And
tblsoftware.softwareVersion Like '16%' And
Cast(ParseName(tblsoftware.softwareVersion, 2) As bigint) = 7 Then
'2022-04-12'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) = 3 And
tblsoftware.softwareVersion Like '16%' And
Cast(ParseName(tblsoftware.softwareVersion, 3) As bigint) = 7 Then
'2022-04-12'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) < 3 And
tblsoftware.softwareVersion Like '16%' And
Cast(ParseName(tblsoftware.softwareVersion, 2) As bigint) = 9 Then
'2022-10-11'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) = 3 And
tblsoftware.softwareVersion Like '16%' And
Cast(ParseName(tblsoftware.softwareVersion, 3) As bigint) = 9 Then
'2022-10-11'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) < 3 And
tblsoftware.softwareVersion Like '16%' And
Cast(ParseName(tblsoftware.softwareVersion, 2) As bigint) = 11 Then
'2029-04-10'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) = 3 And
tblsoftware.softwareVersion Like '16%' And
Cast(ParseName(tblsoftware.softwareVersion, 3) As bigint) = 11 Then
'2029-04-10'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) < 3 And
tblsoftware.softwareVersion Like '17%' And
Cast(ParseName(tblsoftware.softwareVersion, 2) As bigint) = 0 Then
'2023-07-11'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) < 3 And
tblsoftware.softwareVersion Like '17%' And
Cast(ParseName(tblsoftware.softwareVersion, 2) As bigint) = 2 Then
'2024-01-09'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) < 3 And
tblsoftware.softwareVersion Like '17%' And
Cast(ParseName(tblsoftware.softwareVersion, 2) As bigint) = 4 Then
'2024-07-11'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) < 3 And
tblsoftware.softwareVersion Like '17%' And
Cast(ParseName(tblsoftware.softwareVersion, 2) As bigint) = 6 Then
'2025-01-09'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) = 3 And
tblsoftware.softwareVersion Like '17%' And
Cast(ParseName(tblsoftware.softwareVersion, 3) As bigint) = 0 Then
'2023-07-11'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) = 3 And
tblsoftware.softwareVersion Like '17%' And
Cast(ParseName(tblsoftware.softwareVersion, 3) As bigint) = 2 Then
'2024-01-09'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) = 3 And
tblsoftware.softwareVersion Like '17%' And
Cast(ParseName(tblsoftware.softwareVersion, 3) As bigint) = 4 Then
'2024-07-11'
When Len(tblsoftware.softwareVersion) -
Len(Replace(tblsoftware.softwareVersion, '.', '')) = 3 And
tblsoftware.softwareVersion Like '17%' And
Cast(ParseName(tblsoftware.softwareVersion, 3) As bigint) = 6 Then
'2025-01-09'
Else ''
End As EOLDate,
tblsoftware.AssetID
From tblsoftware
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblsoftware.softID
Where (tblSoftwareUni.softwareName Like '%Visual%Studio%2012%' Or
tblSoftwareUni.softwareName Like '%Visual%Studio%2013%' Or
tblSoftwareUni.softwareName Like '%Visual%Studio%2015%' Or
tblSoftwareUni.softwareName Like '%Visual%Studio%2017%' Or
tblSoftwareUni.softwareName Like '%Visual%Studio%2019%' Or
tblSoftwareUni.softwareName Like '%Visual%Studio%2022%')) As subquery1
On subquery1.AssetID = tblAssets.AssetID
Where subquery1.Software Like '%Visual%Studio%' And
subquery1.Software Not Like '%Installer%' And subquery1.Software Not
Like '%tools%' And subquery1.Publisher Like '%Microsoft%' And
tblState.Statename = 'Active'

Audit and Take Action in 3 Easy Steps

Download-Install-Lansweeper

1. Download & Install Lansweeper

Save-and-Run-the-Report

3. Run the Audit & Take Action

Download Lansweeper to Run this Audit

Harness the Power of Reporting