A third (!) and hopefully final blog post on SQL Server 2008 R2 deployment woes. Previous posts include SQL Server 2008 R2 – Version string portion was too short or too long and SQL Server 2008 R2 – Error code: 1605.
This time the installation problem comes with the following beauty:
Exception type: System.ArgumentOutOfRangeException
Message: Version's parameters must be greater than or equal to zero.
Parameter name: build
In this particular case, it appears the SQL Server 2008 R2 installer detects some SQL Server 2000 residues on the client and fails to determine its version.
SQL Server 2000
A quick investigation of
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server reveals that the
80\Tools key is still present on the machine, even though SQL Server 2000 has been uninstalled. Not surprisingly, the
ClientSetup key, which denotes the version, is missing.
- Install SQL Server 2000 before 2008 R2 – which is not an elegant solution.
- Give the SQL Server 2008 R2 installer a helping hand by recreating the missing key and value pairs
Dump the following info into a
fix.reg file or recreate the following in the registry manually and the SQL Server 2008 R2 installer should continue successfully:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup\CurrentVersion]