Sql-server – Error when installing SQL Management Studio 2014 from product installer

sql serversql server 2014

My Inno Setup 5 installer internally calls SQLManagementStudio_x86_ENU.exe (2014 SP1), and this consistently fails.

However, when I open Command Prompt in administrator mode and execute SQLManagementStudio_x86_ENU.exe directly, passing in the exact same arguments that are used by the Inno Setup 5 installer, SSMS installation is consistently successful.

I am updating the installer for an older product. One of the components deployed by the installer used to be SQL Server Management Studio 2005. I am updating that installer to instead install SQL Server Management Studio 2014. The installer is produced in Inno Setup 5.

I am executing on the 2014 SP1 version of SQLManagementStudio_x86_ENU.exe.

I am using the following arguments: /ACTION=install /QS /IACCEPTSQLSERVERLICENSETERMS /FEATURES=ADV_SSMS,BC,Conn,SDK,SNAC_SDK,Tools /UpdateEnabled=False

I am installing to a virtual machine running Windows 7 SP1 32-bit. I am on a domain account, with local administrator rights on the current machine. The following versions of the .NET Framework are installed:

  • v4.5.51209 (Full)
  • v4.5.52109 (Client)
  • v3.5.30729.5420
  • v3.0.30729.5420
  • v2.0.50727.5420

The relevant sample from the end of my SqlSetup.log file is:

02/22/2016 17:43:24.217 Saved .Net security policy file
02/22/2016 17:43:24.218 Attempting to release setup mutex
02/22/2016 17:43:24.219 Setup mutex has been released
02/22/2016 17:43:24.220 SQM key not found
02/22/2016 17:43:24.220 Setup closed with exit code: 0x84C40013
02/22/2016 17:43:24.221 ======================================================================

I tried pasting the Full Output from my SqlSetup.log here. However, I couldn't include it all as this took me over the content limit for how much text can be in a single post.

Relevant section from my Inno Setup 5 log below.

Note that this section includes custom logging information I have added myself so as to trace when registry keys are being analyzed, and what the results are. At present, the CheckSSMS2014SP1x86Installed function is behaving correctly as it is identifying that SSMS 2014 has not been installed.

2016-02-22 17:42:25.820   InstallSSMS2014SP1x86
2016-02-22 17:42:25.820   SSMS2014SP1RegistryCheck
2016-02-22 17:42:25.820   SSMS2014SP1RegistryCheck: Checking if registry key exists: HKLM32\SOFTWARE\Microsoft\Microsoft SQL Server\120\Tools\ClientSetup
2016-02-22 17:42:25.820   SSMS2014SP1RegistryCheck: Key does not exist!
2016-02-22 17:42:25.820   SSMS2014SP1RegistryCheck: Returning false
2016-02-22 17:42:25.820   InstallSSMS2014SP1x86: Returning true
2016-02-22 17:42:25.820   -- Run entry --
2016-02-22 17:42:25.820   Run as: Current user
2016-02-22 17:42:25.820   Type: Exec
2016-02-22 17:42:25.820   Filename: C:\Program Files\Application Directory\Components\MS SQL Server\SQL Server 2014\SP1\Express\x86\SQLManagementStudio_x86_ENU.exe
2016-02-22 17:42:25.820   Parameters: /ACTION=install /QS /IACCEPTSQLSERVERLICENSETERMS /FEATURES=ADV_SSMS,BC,Conn,SDK,SNAC_SDK,Tools /UpdateEnabled=False
2016-02-22 17:43:24.280   Process exit code: 2227044361
2016-02-22 17:43:24.280   CheckSSMS2014SP1x86Installed
2016-02-22 17:43:24.280   SSMS2014SP1RegistryCheck
2016-02-22 17:43:24.280   SSMS2014SP1RegistryCheck: Checking if registry key exists: HKLM32\SOFTWARE\Microsoft\Microsoft SQL Server\120\Tools\ClientSetup
2016-02-22 17:43:24.280   SSMS2014SP1RegistryCheck: Key does not exist!
2016-02-22 17:43:24.280   SSMS2014SP1RegistryCheck: Returning false
2016-02-22 17:43:24.280   Exception message:
2016-02-22 17:43:24.280   Message box (OK):
                          Internal error: Expression error 'Runtime Error (at 57:279):

                          Problem installing SQL Server Management Studio 2014 SP1. Unable to continue with installation. Please check your computer specifications meet minimum requirements.'

Best Answer

Finally worked it out.

My issue was actually two issues. Neither one was giving good error feedback. I had to stumble on fixing them both to get the installer to work as intended.

Firstly, I reduced the list of features being installed.

/ACTION=install /QS /IACCEPTSQLSERVERLICENSETERMS /FEATURES=SSMS /UpdateEnabled=False

Secondly, I changed the length of the path leading to the SSMS installer at the time it was executed.

The previous execution path was:

C:\Program Files\Application Directory\Components\MS SQL Server\SQL Server 2014\SP1\Express\x86\SQLManagementStudio_x86_ENU.exe

The new execution path is:

C:\Program Files\Application Directory\Components\MSSQL2014SP1EXPx86\SQLManagementStudio_x86_ENU.exe

With both changes in place, the automated installation works as intended.