When installing the ESET Endpoint Encryption (EEE) Server all-in-one pre-install, the process fails at the Installing SQL stage.
If the preinstall logfile is investigated, it details the following entries:
RunInstallerandWait : dwExitCode : 851A001A
ERROR : Installing SQL Express
When viewed in the services list the SQL Server (DESLOCKSQL) service will not be able to start and will return error code 945 if it is attempted.
Ignoring the installation error, repeating the installation attempt and continuing with setup attempts result in the EEE Server Setup Wizard screen below where the SQL Server details are unknown and not prefilled.
This error is most likely triggered by installation on a server operating system which is using the Domain Controller role. When the host is configured in this fashion, the Microsoft SQL installer will fail even if it is launched by hand and the process run manually.
The cause of this issue is the default account used to start the SQL service being denied the right to start when the system is configured as a Domain Controller.
For security and performance reasons Microsoft do not recommend the use of SQL Server on a Domain Controller. Due to this the recommended solution is to install the EEE Server on a different host. It should be noted that the EEE Server components do not require a server edition operation system for hosting. It is also possible and recommended to host the software within a Virtual Machine environment. You can find more details in the following articles:
KB105 - DESlock+ Enterprise Server System Requirements
KB278 - Using the Enterprise Server in a virtual machine environment
Alternatively, with the above warning heeded, if the software must be installed on a system using a Domain Controller then follow the steps below to apply SQL to the system interactively:
Obtain the SQL installer
- If you have not done so already, run the Preinstall again to install the remaining components. Do not exit the Preinstall once it has completed.
- To obtain the SQL install package press Windows Key+R on the keyboard to display the run prompt.
- Enter %temp% then click OK.
- Within the temp folder you should find a folder named WZSE0.TMP, browse into this folder and then into the installers sub folder.
- Take a copy of the SQLEXPR_x86_ENU.exe file from the folder.
Note: Alternatively to using the temp folder, if you have 7-Zip or similar installed the Preinstall package can be expanded manually or the SQL 2012 Express installer can be obtained directly from Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=50003
- Click Exit to close the preinstall interface.
Uninstall the current SQL installation
- Open Windows Control Panel.
- Click the link to Uninstall a program.
- Select the Microsoft SQL Server 2012 entry (this assumes that you were not already using SQL Server 2012 for anything else).
- Click Uninstall/Change.
- At the Setup Support Roles page Click OK.
- At the Select Instance page the DESLOCKSQL instance should be the only one present and auto selected. Click the Next button.
- At the Select Features page set the checkbox next to the Database Engine Services and SQL Server Replication entries then click the Next button.
- At the Removal Rules page click the Next button.
- At the Ready to Remove page click the Next button then wait for the uninstall process to complete.
- At the Complete page click the Close button.
Install a new instance of SQL
- Launch SQLEXPR_x86_ENU.exe.
- Click the link New SQL Server stand-alone installation or add features to an existing installation.
- At the Licence Terms page set the checkbox I accept the license terms then click the Next button.
- At the Product Updates page if an Internet connection is present you will be offered to download updates for SQL or if no Internet connection is present a warning is shown. Click the Next button.
- At the Feature Selection page the Database Engine Services and SQL Server Replication options should have been automatically selected. Click the Next button.
- At the Instance Configuration page change the Named instance name to DESLOCKSQL. The Instance ID will have automatically changed to match. Click the Next button.
- At the Server Configuration page select the account name for SQL Server Database Engine and click the drop down << Browse... >> link.
- You should specify a non-user account to host the service. The account should have as limited rights as possible. A Managed Service Account will function, however on Server 2008 R2 and higher Microsoft recommend a Virtual Account is created for the process. Note, although the Local Service account does work, it is not supported on Domain Controller installations and should not be used. See the external links at the end of this article for more details.
- Once you have entered the appropriate account details click the Next button.
- On the Database Engine Configuration page set the option to use Mixed Mode authentication and enter the password to use for the SA account. It is important you keep a record of the login details you select. Click the Next button.
- On the Error Reporting page click the Next button.
- On the Complete page click the Close button.
- Close the SQL Installation Center dialog.
Configure the EEE Server
- From the start menu launch the EEE Server so the Setup Wizard appears in your web browser.
- Follow the steps through the wizard. When prompted for the SQL details enter the SQL Server Name as localhost\DESLOCKSQL and the sa login details you specified when the SQL installation was configured.
- Follow the rest of the steps through the wizard to complete setup and login to the Enterprise Server.
KB167 - Can I use my own SQL server with the ESET Endpoint Encryption Server?
Related External Articles
https://msdn.microsoft.com/en-us/library/ms143506.aspx#DC_support - Hardware and Software Requirements for Installing SQL Server 2016
https://msdn.microsoft.com/en-gb/library/ms143504.aspx#VA_Desc - Virtual Accounts
Keywords: server 2012, DC, R2, problem completing the installation process, windows could not start the SQL server