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. Version from 2012 to 2019 are currently 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 we've created a special color-coded report that lists your Visual Studio installations along with the EOL date and how many days are remaining.

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

Visual Studio End of Life 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%' Then '2023-01-10'
When tblsoftware.softwareVersion Like '12.0.40629%' Then '2024-04-09'
When tblsoftware.softwareVersion Like '14.0.25420.1' 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'
Else '2019-01-01'
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%')) 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

1. Download & Install Lansweeper

3. Run the Audit & Take Action

Download Lansweeper to Run this Audit

Harness the Power of Reporting