Unable to install SQL Server 2008 Standard Edition on a Windows VISTA machine

The error message we get is as below,

 

<Error Message>

02/04/2009 14:33:20.418

02/04/2009 14:33:20.419 Setup launched

02/04/2009 14:33:20.420 Attempting to determine media source

02/04/2009 14:33:20.421 Media source value not specified on command line argument.

02/04/2009 14:33:20.421 Setup is launched from media directly so default the value to the current folder.

02/04/2009 14:33:20.422 Media source: C:\Users\XXXX\Desktop\SQL200802/04/2009 14:33:20.423 Attempt to determine media layout based on file 'C:\Users\XXXX\Desktop\SQL2008\mediainfo.xml'.

02/04/2009 14:33:20.550 Media layout is detected as: Full

02/04/2009 14:33:20.550 Media LCID is detected as: 1033

02/04/2009 14:33:20.551 Local setup.exe not found, so continuing to run setup.exe from media.

02/04/2009 14:33:20.552 /? or /HELP or /ACTION=HELP specified: false

02/04/2009 14:33:20.553 Help display: false

02/04/2009 14:33:20.553 Checking to see if we need to install .Net version 3.5

02/04/2009 14:33:20.554 Determining the cluster status of the local machine.

02/04/2009 14:33:20.560 The local machine is not configured as a cluster node.

02/04/2009 14:33:20.561 Attempting to find media for .Net version 3.5

02/04/2009 14:33:20.609 .Net version 3.5 is installed

02/04/2009 14:33:20.610 RedistMSI::GetExpectedBuildRevision - Setup expects MSI 4.5.6001.22159 at the minimum

02/04/2009 14:33:20.611 Attempting to get Windows Installer version

02/04/2009 14:33:20.612 Setup closed with exit code: 0x80070002

02/04/2009 14:33:20.612

</Error Message>

Our Environment is as below,

OS : Windows Vista Ultimate SP1 6001 x86

SQL Build : SQL SERVER 2008 Standard Edition x86

Workaround in this scenario:

 

Verify that these 2 registry keys exist and what their values are:

Registry hive under HKLM: Software\Microsoft\Windows\CurrentVersion\Installer

Registry value name: InstallerLocation

LPCWSTR lpSubKey = L"Software\\Microsoft\\Windows\\CurrentVersion\\Installer"

LPCWSTR lpValueName = L"InstallerLocation"

The value in that key is supposed to point to system32 directory (C:\WINDOWS\system32\). If the value is there then check if msi.dll is in the location where the registry value points to.

If the InstallerLocation Registry Key is missing - you should create it and set it to the System32 directory.

The reason for checking these registry keys is because the SQL server setup is trying to find the msi installer:

02/04/2009 14:33:20.610 RedistMSI::GetExpectedBuildRevision - Setup expects MSI 4.5.6001.22159 at the minimum

02/04/2009 14:33:20.611 Attempting to get Windows Installer version

02/04/2009 14:33:20.612 Setup closed with exit code: 0x80070002

IMPORTANT : This resolution contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

KB 256986 - Description of the Microsoft Windows Registry

Note: This post should not be treated as the Microsoft’s Recommendation or Resolution to the problem, it is only a workaround which worked in our environment and so we would like to share it.

Manikandan Veeruchamy

SE, Microsoft SQL Server

Reviewed by,

Karthick Krishnamurthy

TL, Microsoft SQL Server