Troubleshooting SQL Server 2008 Express installations with WebPI

One of the challenges of troubleshooting SQL installations with WebPI is that sometimes the details passed back to Webpi do not provide enough information to tell you how to resolve the issue. This is not the fault of WebPi or the SQL installer, but due to the fact that not all of the errors are exposed  to the external process(WebPI) therefore all we can report is that something failed.   When this occurs you need to examine the SQL logs manually to find the details for the installation failure. In this blog we will help identify some of the common failures and provide the resolutions for each.

 

 Where to find the Logs

When the installation fails you will be presented with the following error page. 

The first “View log here” will point to the SQL Summary.txt log that provides a summary of the installation and results.  At the top of the log there you will see  Final result: Passed/Failed to indicate if there were a failure at this level.  If the result is  Passed then  click on the “View log here” link for the Web Platform Installer log .   If no error messages are found in either  link then review  SQL Logs manually.

 

image

Here are the log locations for manual inspection.

 WebPI Logs

  • Windows Vista / 2008 : %localappdata%\Microsoft\Web Platform Installer\logs\webpi
  • Windows XP, W2K3: %USERPROFILE%\Local Settings\Application Data\Microsoft\Web Platform Installer\logs\webpi

SQL Installation Logs

  • C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\

Resources

 

ERROR : Attributes do not match. Present attributes..

This can occur when you try to install SQL on a Drive with either Compression, Encryption or the Archive bit set.

This error  will be  found in the  SQL log Summary.txt .

Final result:       SQL Server installation failed. To continue, investigate the reason for the failure, correct the problem, uninstall SQL Server, and then rerun SQL Server Setup.

Exit code (Decimal):           -2068578304

Exit facility code:            1204

Exit error code:               0

Exit message:                  Attributes do not match. Present attributes (Directory, Compressed) , included attributes (0), excluded attributes (Compressed, Encrypted).

 Resolution

The work around for this error is documented in KB957453 which describes this problem when the archive bit is set on the installation directory.  This can also  occur when Compression or or Encryption is enabled on the drive , which will be C:\  if using WebPI to install SQL.

Following the workaround section of KB957453 disable the following settings on the drive.

- Folder is ready for archiving

- Compress contents to save disk space

- Encrypt contents to save disk space

 

ERROR: Unrecognized configuration section system.serviceModel

During the installation the installer tries to read the configuration file (Machine.Config) . If this is invalid the installation will fail. Below is one example of such a failure.

This error  will be  found in the SQL log   Detail_GlobalRules.text 

2010-03-29 16:17:24 Slp:         Inner exception type: System.Configuration.ConfigurationErrorsException

2010-03-29 16:17:24 Slp:             Message:

2010-03-29 16:17:24 Slp:                         Unrecognized configuration section system.serviceModel. (c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config line 134)

 Resolution

This error occurs when there is a reference to the  system.serviceModel section but it is not defined in the <configSections>  area of the configuration file. 

  • If you have access to a working Machine.Config file you can manually add the missing configuration declarations to the <configSections>  area of he configuration file. The section groups may vary but if the error message is referring to system.ServiceModel you can add the following sections. 

 

<sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <section name="comContracts" type="System.ServiceModel.Configuration.ComContractsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
            <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <section name="machineSettings" type="System.ServiceModel.Configuration.MachineSettingsSection, SMDiagnostics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
            <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        </sectionGroup>
        <sectionGroup name="system.serviceModel.activation" type="System.ServiceModel.Activation.Configuration.ServiceModelActivationSectionGroup, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="diagnostics" type="System.ServiceModel.Activation.Configuration.DiagnosticSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <section name="net.pipe" type="System.ServiceModel.Activation.Configuration.NetPipeSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <section name="net.tcp" type="System.ServiceModel.Activation.Configuration.NetTcpSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        </sectionGroup>

 

Error:  Performance counter registry hive consistency check   "The performance counter registry hive is corrupted

I have seen two causes for the following error, either the performance counter libraries are corrupted and need to be repaired or an issue where the localized version of the performance counters are not present.

This error  will be  found in the  SQL log Summary.txt .

Final result:                  SQL Server installation failed. To continue, investigate the reason for the failure, correct the problem, uninstall SQL Server, and then rerun SQL Server Setup.
  Exit code (Decimal):           -2067922940
  Exit facility code:            1214
  Exit error code:               4
  Exit message:                  The performance counter registry hive is corrupted. To continue, you must repair the performance counter registry hive. For more information, see http://support.microsoft.com/kb/300956.

 Resolution

a) If you are running Windows Vista or later the following steps can be used to rebuild the counters.

  • Click Start>All Programs > Accessories.
  • Right-click Command Prompt, and then click Run as administrator.
  • At the command prompt, type lodctr /r, and then press ENTER.
  • Assuming the message was that this was successful , retry the SQL installation.
  • Reference : http://technet.microsoft.com/en-us/library/cc774958.aspx

b)  For earlier operating systems follow the steps in Kb300956 listed in the error message.

c) If neither of the above resolve the issue and your and running a non-English version of Windows you may be running into the localization issue. The following steps outline the steps to resolve this on  a German system that was encountering the issue.

To identify what key you need to alter on your system run Process Monitor while running the SQL installer.  When the SQL installation fails check the Process Monitor logs for entries like the following where SomeNumber will represent the country code of the system that SQL is trying use for the performance counter. Use this number in place of 007 in the steps below.

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\<SomeNumber>\Counter (NAME NOT FOUND)
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\<SomeNumber>\Help (NAME NOT FOUND)

  • Open RegEdit.exe   and navigate to the following key. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Perflib
  • Under this you will see the 009 and 007 keys . The 009 key  is for English and the 007  is for German . ( In the case I encountered there were no values under  007)
  • Right Click on the 009 key and there will be an export option . Save that anywhere on your system
  • Go to the  location of the file you saved which will have a .REG extension. Right Click on the file and select Edit. 
  • In the first line you will see  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009 . Change this too  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\007 so we can migrate these settings to the 007 key.  Save the file.
  • Now right click on the file and select Merge.
  • Check the registry and you should see settings under  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Perflib\007
  • Try the SQL setup again

Here are some different country codes you may see when troubleshooting this.

Perflib\009 -- English
Perflib\01F -- Turkish
Perflib\013 -- Dutch
Perflib\007 – German

Perflib\014 -- Norwegian

 

Error: is not a valid login or you do not have permission

This error can occur when you the username that you are using to install SQL is the same as the name of the machine. 

This error  will be  found in the  SQL log Summary.txt .

Configuration error code:      0x12C2466D

Configuration error description: '' is not a valid login or you do not have permission.

Configuration log:             C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20100329_130529\Detail.txt

 

Resolution

Install SQL using another User account this is not the same as the machine name or rename you machine.

 

 

ERROR: Downloaded file failed signature verification and may have been tampered with.

This is typically a transient error that can occur when the download is corrupted.

The error will be found in the WebPI log WebPI.txt

DownloadManager Error: 0 : Signature verification failed on downloaded file. URL: http://download.microsoft.com/download/e/9/b/e9bcf5d7-2421-464f-94dc-0c694ba1b5a4/SQLEXPRADV_x86_ENU.exe.

Resolution

By default WebPI stores a copy of the installers for installation retries. In this case you will want to delete the cached copy and try downloading a new one.

The cache location of the installers can be found here : %LocalAppData%\Microsoft\Web Platform Installer\installers

If the problem persists using WebPI try downloading the installer directly from the link below then running the MSI directly.

http://blogs.msdn.com/sqlexpress/archive/2009/06/15/installing-sql-server-2008-guidance.aspx

 

 

ERROR: Wait on the Database Engine recovery handle failed

This error  will be  found in the  SQL log Summary.txt .

  Feature:                       Database Engine Services
  Status:                        Failed: see logs for details
  MSI status:                    Passed
  Configuration status:          Failed: see details below
  Configuration error code:      0xBE03358B@1306@24
  Configuration error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.

 

Per the error message further investigation of the SQLServer Error Log_<DateTimeStamp>.txt  led to the following error.

2009-11-19 20:35:15.85 spid7s      Starting up database 'mssqlsystemresource'.
2009-11-19 20:35:16.59 spid7s      Error: 15209, Severity: 16, State: 1.
2009-11-19 20:35:16.59 spid7s      An error occurred during encryption.

 

Resolution

In this case  the resolution was found  in the following article:

The SQL Server service failed to start

http://support.microsoft.com/kb/920114

Here is another article that pertains the original error.

960781 Error message when you try to upgrade to SQL Server 2008: "Wait on the Database Engine recovery handle failed"
http://support.microsoft.com/default.aspx?scid=kb;EN-US;960781

 

 

Summary

I hope this was helpful in providing  shortcut to any of your SQL Express installation issues with WebPI.  If you have other issues or need assistance you can post your questions to the WEBPI support forum.

 

6 Comments

  • re: Error: Performance counter registry hive consistency check "The performance counter registry hive is corrupted

    You gave us some different country codes ,

    Perflib\009 -- English
    Perflib\01F -- Turkish
    Perflib\013 -- Dutch
    Perflib\007 -- German

    What about the Perflib\xxx that is for Chinese (Traditional)? Thank you.

  • re: Error: Performance counter registry hive consistency check "The performance counter registry hive is corrupted

    You gave us some different country codes :

    Perflib\009 -- English
    Perflib\01F -- Turkish
    Perflib\013 -- Dutch
    Perflib\007 -- German

    What about the Perflib\xxx for Chinese(Traditional)? Thank you.

  • Hi
    I haven't same exit code : your code is -2068578304 and my exit code is -2067529714

    "Install exit code for product 'SQL Server Express 2008 R2' is -2067529714"

    So could you help me ?

  • @ aspkiddy
    found one post that seems to imply this is language issue possibly , but i have not seen this
    http://social.msdn.microsoft.com/Forums/fr-FR/vsexpressinstallationfr/thread/168e6f24-b870-42f8-b08a-1f43092e880d

    I would post this to SQL Server setup forum if still having issues with this
    http://social.technet.microsoft.com/Forums/en-US/sqlsetupandupgrade/threads

  • Regarding Error: &nbsp;Performance counter registry hive consistency check &nbsp; "The performance counter registry hive is corrupted
    Resolution C worked for me. Thanks !
    Additional info: \00C for French Canadian

  • minkeiken , have you got Perflib\xxx for Chinese(Traditional)? Thank you.

Comments have been disabled for this content.