Wednesday, June 13, 2018

SQL Server 2017 Installation Errors on "Client Tools SDK" and "Client Tools Backwards Compatibility"

After upgrading SQL 2016 to SQL Server 2017, I noticed that in the "SQL Server 2017 Installation Center", it showed that the "Client Tools SDK" and the "Client Tools Backwards Compatibility" were not installed.

So I checked the two check boxed, and continued with SQL Setup. 

The installations failed. In the Setup dialog box, it had a link to the "Summary.txt" file in "C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log". It contains the following:


Detailed results:
  Feature:                       Client Tools SDK
  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.

  Feature:                       Client Tools Backwards Compatibility
  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.


What the SQL Setup does not tell you is that there is another log file in "C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\20180613_091025" called "Detail.txt"! Of course, for you the date time part of the path would be different. It is this "Detail.txt" file that would actually tell you what went wrong:

Sco: File 'D:\redist\DotNetFrameworks\x64\dotNetFx46-x86-x64-AllOS.exe' does not exist
Sco: File 'D:\x64\setup\x64\sql_engine_core_inst.msi' does not exist
Sco: File 'D:\x64\setup\x64\sql_extensibility.msi' does not exist
Sco: File 'D:\x64\setup\x64\sql_inst_mr.msi' does not exist
Sco: File 'D:\x64\setup\x64\sql_inst_mpy.msi' does not exist
Sco: File 'D:\x64\setup\x64\sql_shared_mr.msi' does not exist
Sco: File 'D:\x64\setup\x64\sql_shared_mpy.msi' does not exist
Sco: File 'D:\x64\setup\x64\sql_shared_aa.msi' does not exist
Sco: File 'D:\x64\setup\x64\sql_fulltext.msi' does not exist
Sco: File 'D:\x64\setup\x64\sql_dq.msi' does not exist

Here the drive letter D is where I mounted the ISO file. Obviously, the problem is that the SQL Setup is using incorrect paths: the "\x64\" parts before the file names are not needed. In fact, Microsoft had the same problem in previous versions of SQL Server as well (https://social.msdn.microsoft.com/Forums/sqlserver/en-US/55ad5516-6247-4d7d-ad6c-b4955d59a1df/sql-server-2016-setupupgrade-error-client-tools-sdk-and-client-tools-backwards-compatibility?forum=sqlsetupandupgrade)

So the fix is to copy the entire installation DVD onto a local drive, create the "x64" folder under "Setup" (the other already exists) that the SQL Setup looks for, and copy the files from the parent folders, respectively.

After that, I ran the SQL Setup to install the "Client Tools SDK" and the "Client Tools Backwards Compatibility" again. They were installed successfully without any errors.