After release of SQL Server 2019, one of our customer was trying to install SQL Server 2019 and encountered an error message. Since I was able to reproduce the issue in my lab, I contacted SSMS product group and they were kind enough to fix this issue very quickly. As of now, this is already called out in the release notes. The purpose of this blog is to show how to confirm if you are hitting the same issue. We would learn how to look at various log file and what are the error messages we need to look.
Issue Description:
Installation of SQL Server 2019 from removable media fails if SQL Server Management Studio 18.3 or earlier is installed. In my lab, I downloaded ISO from download center and mounted it. Here is the final screen shot showing installation failure.
When we click on the hyperlink on the screen, it opens up setup summary file which has this information about failed component. (Database Engine Services)
Detailed results:
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.
Next step is to look at Detail.txt file for any hint about dependent feature. (Search for “at Microsoft” keyword)
Target package: "E:\1033_ENU_LP\x64\setup\x64\sqlncli.msi"
InstallPackage: MsiInstallProduct returned the result code 1602.
No retry-able MSI return code detected.
ExecuteActionWithRetryHelper.Failed actionToExecute is 'Install_sqlncli_Cpu64_Action', stack trace at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.<>c__DisplayClass2_0.<ExecuteActionWithRetryHelper>b__0()
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(ActionWorker workerDelegate)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.<>c__DisplayClass2_0.<ExecuteActionWithRetryHelper>b__0()
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(ActionWorker workerDelegate)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
at Microsoft.SqlServer.Setup.Chainer.Workflow.Workflow.RunWorkflow(WorkflowObject workflowObject, HandleInternalException exceptionHandler)
at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.<>c__DisplayClass2_0.<ExecuteActionWithRetryHelper>b__0()
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(ActionWorker workerDelegate)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
at Microsoft.SqlServer.Setup.Chainer.Workflow.Workflow.RunWorkflow(WorkflowObject workflowObject, HandleInternalException exceptionHandler)
at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.<>c__DisplayClass2_0.<ExecuteActionWithRetryHelper>b__0()
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(ActionWorker workerDelegate)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
at Microsoft.SqlServer.Setup.Chainer.Workflow.Workflow.RunWorkflow(WorkflowObject workflowObject, HandleInternalException exceptionHandler)
at Microsoft.SqlServer.Chainer.Setup.Setup.RunRequestedWorkflow()
at Microsoft.SqlServer.Chainer.Setup.Setup.Run(String[] args)
at Microsoft.SqlServer.Chainer.Setup.Setup.Start(String[] args)
at Microsoft.SqlServer.Chainer.Setup.Setup.Main()
Error: Action "Install_sqlncli_Cpu64_Action" failed during execution.
Completed Action: Install_sqlncli_Cpu64_Action, returned False…Trimmed lines…
MSI (s) (5C:3C) [06:42:01:134]: Note: 1: 1729
MSI (s) (5C:3C) [06:42:01:134]: Product: Microsoft SQL Server 2012 Native Client -- Configuration failed.MSI (s) (5C:3C) [06:42:01:134]: Windows Installer reconfigured the product. Product Name: Microsoft SQL Server 2012 Native Client. Product Version: 11.4.7462.6. Product Language: 1033. Manufacturer: Microsoft Corporation. Reconfiguration success or error status: 1602.
From here we can see that issue is during installation of SQLNCLI (SQL Server Native Client) and error code is 1602. The log file associate is sqlncli_Cpu64_1
MSI (s) (5C:3C) [06:42:01:009]: Note: 1: 2203 2: E:\sqlncli.msi 3: -2147287038
MSI (s) (5C:3C) [06:42:01:009]: Source is incorrect. Unable to open or validate MSI package E:\sqlncli.msi.
MSI (s) (5C:3C) [06:42:01:009]: Note: 1: 2203 2: E:\sqlncli.msi 3: -2147287038
MSI (s) (5C:3C) [06:42:01:009]: Source is incorrect. Unable to open or validate MSI package E:\sqlncli.msi.
Please insert the disk:
MSI (s) (5C:3C) [06:42:01:025]: Note: 1: 2265 2: 3: -2147287035
MSI (s) (5C:3C) [06:42:01:025]: User policy value 'DisableRollback' is 0
MSI (s) (5C:3C) [06:42:01:025]: Machine policy value 'DisableRollback' is 0
Action ended 6:42:01: InstallFinalize. Return value 2.
MSI (s) (5C:3C) [06:42:01:025]: Note: 1: 2318 2:
There we can see an interesting error : “Please insert the disk”.
If we check control panel, I already have SQL Server Native Client and mind you, this was installed when I installed SSMS 18.1.
Solution:
By now you would have understood the reason of the blog. If you are seeing messages in various logs, which are shown above, then you can conclude that you are hitting the issue due to preinstalled SSMS. Here is the screenshot from the release notes.
https://docs.microsoft.com/en-us/sql/sql-server/sql-server-version-15-release-notes
Here are my additional notes.
We have seen this issue earlier when we have SSMS 18.3 already installed and SQL 2019 setup is invoked from ISO mounted as drive. It was combination of few situations.
- SSMS 18.3 already installed AND
- SQL Server 2019 Setup was running from a mounted ISO.
We have below workarounds:
- On existing machines, where SSMS 18.3 or lower is already installed.
- Uninstall SQL Server 2012 Native Client which got installed with SSMS. Then install SQL Server 2019. OR
- Instead of running setup from mounted ISO, copy the content of media to a local drive or a network share and start setup.exe from those locations.
- On new machines, where SSMS is NOT installed.
- First install SQL Server 2019 and then install SSMS 18.3 OR
- Install version of SSMS greater than 18.3.1 and then install SQL Server 2019
I hope this blog would help someone find solution without contacting Microsoft Product Support team. Please comment and let me know.
- Cheers,
- Balmukund Lakhani
- Twitter @blakhani