Wednesday, October 22, 2008

SQL 2005 Install Fails Immediately

I've had my problems with installing DPM before, but this was a new one!  DPM setup started ok, but as soon as it got to the SQL install portion, the installer failed, with this error message:

Microsoft SQL Server 2005 Setup
SQL Server Setup unexpectedly failed. For more information, review the Setup summary log file in %ProgramFiles%\Microsoft SQL Server\90\Setup Bootstrap\LOG\Summary.txt.

The setup log wasn't much help either:

Microsoft SQL Server 2005 9.00.1399.06
==============================
OS Version      : Microsoft Windows Server 2003 family, Enterprise Edition Service Pack 2 (Build 3790)
Time            : Wed Oct 22 15:29:15 2008

Yeah, lots of help there... thanks...

Well, there is a folder ( %ProgramFiles%\Microsoft SQL Server\90\Setup Bootstrap\LOG\Files ) that had a couple of log files too, and it led me towards actual errors:

Microsoft SQL Server 2005 Setup beginning at Mon Oct 20 17:07:59 2008
Process ID      : 3364
D:\Sources\DPM2007\64bit\DPM2007_64bit\SQLSVR2005\Servers\setup.exe Version: 2005.90.1399.0
Running: LoadResourcesAction at: 2008/9/20 17:7:59
Complete: LoadResourcesAction at: 2008/9/20 17:7:59, returned true
Running: ParseBootstrapOptionsAction at: 2008/9/20 17:7:59
Loaded DLL:D:\Sources\DPM2007\64bit\DPM2007_64bit\SQLSVR2005\Servers\xmlrw.dll Version:2.0.3604.0
Complete: ParseBootstrapOptionsAction at: 2008/9/20 17:7:59, returned false
Error: Action "ParseBootstrapOptionsAction" failed during execution.  Error information reported during run:
Could not parse command line due to datastore exception.
  Source File Name: utillib\persisthelpers.cpp
Compiler Timestamp: Fri Jul 29 01:13:55 2005
     Function Name: writeEncryptedString
Source Line Number: 124
----------------------------------------------------------
writeEncryptedString() failed
      Source File Name: utillib\persisthelpers.cpp
    Compiler Timestamp: Fri Jul 29 01:13:55 2005
         Function Name: writeEncryptedString
    Source Line Number: 123
    ----------------------------------------------------------
            Error Code: 0x80070002 (2)
Windows Error Text: The system cannot find the file specified.

  Source File Name: cryptohelper\cryptsameusersamemachine.cpp
Compiler Timestamp: Mon Jun 13 14:30:00 2005
     Function Name: sqls::CryptSameUserSameMachine::ProtectData
Source Line Number: 50

2
Could not skip Component update due to datastore exception.
  Source File Name: datastore\cachedpropertycollection.cpp
Compiler Timestamp: Fri Jul 29 01:13:49 2005
     Function Name: CachedPropertyCollection::findProperty
Source Line Number: 130
----------------------------------------------------------
Failed to find property "InstallMediaPath" {"SetupBootstrapOptionsScope", "", "3364"} in cache
      Source File Name: datastore\propertycollection.cpp
    Compiler Timestamp: Fri Jul 29 01:13:50 2005
         Function Name: SetupBootstrapOptionsScope.InstallMediaPath
    Source Line Number: 44
    ----------------------------------------------------------
    No collector registered for scope: "SetupBootstrapOptionsScope"
Running: ValidateWinNTAction at: 2008/9/20 17:7:59
Complete: ValidateWinNTAction at: 2008/9/20 17:7:59, returned true
Running: ValidateMinOSAction at: 2008/9/20 17:7:59
Complete: ValidateMinOSAction at: 2008/9/20 17:7:59, returned true
Running: PerformSCCAction at: 2008/9/20 17:7:59
Complete: PerformSCCAction at: 2008/9/20 17:7:59, returned true
Running: ActivateLoggingAction at: 2008/9/20 17:7:59
Error: Action "ActivateLoggingAction" threw an exception during execution.  Error information reported during run:
Datastore exception while trying to write logging properties.
  Source File Name: datastore\cachedpropertycollection.cpp
Compiler Timestamp: Fri Jul 29 01:13:49 2005
     Function Name: CachedPropertyCollection::findProperty
Source Line Number: 130
----------------------------------------------------------
Failed to find property "primaryLogFiles" {"SetupStateScope", "", ""} in cache
      Source File Name: datastore\propertycollection.cpp
    Compiler Timestamp: Fri Jul 29 01:13:50 2005
         Function Name: SetupStateScope.primaryLogFiles
    Source Line Number: 44
    ----------------------------------------------------------
    No collector registered for scope: "SetupStateScope"
0000000000F4AF90Unable to proceed with setup, there was a command line parsing error. : 2
        Error Code: 0x80070002 (2)
Windows Error Text: The system cannot find the file specified.

  Source File Name: datastore\propertycollection.cpp
Compiler Timestamp: Fri Jul 29 01:13:50 2005
     Function Name: SetupBootstrapOptionsScope.InstallMediaPath
Source Line Number: 44

Class not registered.
Failed to create CAB file due to datastore exception
  Source File Name: datastore\cachedpropertycollection.cpp
Compiler Timestamp: Fri Jul 29 01:13:49 2005
     Function Name: CachedPropertyCollection::findProperty
Source Line Number: 130
----------------------------------------------------------
Failed to find property "HostSetup" {"SetupBootstrapOptionsScope", "", "3364"} in cache
      Source File Name: datastore\propertycollection.cpp
    Compiler Timestamp: Fri Jul 29 01:13:50 2005
         Function Name: SetupBootstrapOptionsScope.HostSetup
    Source Line Number: 44
    ----------------------------------------------------------
    No collector registered for scope: "SetupBootstrapOptionsScope"
Message pump returning: 2

Looked like a dump to me.  Well, long story short, and a couple of days of frustration, I found out that the OS was a custom install by the server team, and it was a custom install.  Needless to say, I was just missing one registry key.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User
Shell Folders\AppData

It seems the key had been messed up in the build of the OS. The key should be a REG_EXPAND_SZ and set to:

%USERPROFILE%\Application Data

Hope this helps somebody!

1 comments:

crayill said...

Hello, thanks for your advice. I ran into a similiar issue installing MS09-062 (KB970892) on our 2 node SQL Server 2005 SP3 UAT cluster. On this cluster we have both SQL 2000 and 2005 engines. I'm posting my comment to possibly help out my follow DBA. I spent many hours on this and finally opened a ticket with MS. Turns out, that having the J: drive offline for one of my SQL 2000 engines (used for a POC migration)was the issue. Even though this was a SQL 2000 engine, the patch was probably trying to scan all availble disk resources, even though that resource group was not selected or couldn't be selected in the patch startup GUI. WTH

Hang in there fellow Microsoft DBA's.

Welcome!

I use Microsoft System Center Data Protection Manager 2007 on a daily basis, and although it is a great product, it takes a lot to master. I have created this blog to share my experiences with DPM with other System Administrators out there. All of my experience with DPM is in the role of protecting Microsoft Exchange 2007, and SQL server (the DPM database itself).

There have been many issues that I've run across, and not been able to find answers for on the Internet, so I'm going to "pay it forward" to the IT community!

Hope you find this blog informative!