VC++ 2015 Redistributable installation returns error 1638 when newer version already installed

Applies to: SQL Server 2017 Developer on WindowsSQL Server 2017 Enterprise on WindowsSQL Server 2017 Enterprise Core on Windows More

Symptoms


Assume that the Microsoft Visual C++ 2015 Redistributable is installed on a server. When you try to install an earlier version on the server, you receive the following error message:

Feature: Database Engine Services
Status: Failed
Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Next Step: Use the following information to resolve the error, and then try the setup process again.
Component name: Microsoft Visual C++ 2015 Redistributable
Component error code: 1638
Component log file: FilePath\VCRuntime140_x64_Cpu64_1.log
Error description: VS Shell installation has failed with exit code 1638.
Error help link: https://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=VCRuntime140_x64%40Install%400x1638

Resolution


This issue is fixed in the following cumulative update for SQL Server:

Cumulative Update 13 for SQL Server 2017

Workaround


To fix the issue, use the following workarounds: