The other day I needed to install SQL Server 2008 R2 SP1 on a machine.  Because I was installing it on a Windows Server 2003, I couldn’t simply install SQL 2008, I needed to install R2 SP1 because SQL Server 2008 doesn’t like being installed on Windows Server 2003.  Unfortunately, SQL Server 2008 R2 SP1 doesn’t have a base installer – there’s only an upgrade installer.  So, I was required to perform a procedure call “slipstreaming”.  A slipstream installation is one in which the upgrade pack is added to the base installer and installed initially instead of installing the base and upgrading.  In this way, SQL Server 2008 R2 SP1, because it’s compatible with Windows Server 2003, would not complain at install time.

Below are the instructions to slipstream a SQL Server 2008 R2 and SQL Server 2008 R2 Service Pack (SP1) installation.

  1. Copy the original SQL Server 2008 R2 source media to C:\SQLServer
  2. Download the SQL Server 2008 R2 SP1 packages from here.  You need to download all Service Pack 1 architecture packages:
    • SQLServer2008R2SP1-KB2528583-IA64-ENU.exe
    • SQLServer2008R2SP1-KB2528583-x64-ENU.exe
    • SQLServer2008R2SP1-KB2528583-x86-ENU.exe
  3. Extract each of the SQL Server 2008 SP1 packages to C:\SQLServer\SP1
    • SQLServer2008R2SP1-KB2528583-IA64-ENU.exe /x:C:\SQLServer\SP1
    • SQLServer2008R2SP1-KB2528583-x64-ENU.exe /x:C:\SQLServer\SP1
    • SQLServer2008R2SP1-KB2528583-x86-ENU.exe /x:C:\SQLServer\SP1

    Ensure you complete this step for all architectures to ensure the original media is updated correctly.

  4. Copy Setup.exe from the SP1 extracted location to the original source media location.  Here is the robocopy command:
    • robocopy C:\SQLServer\SP1 C:\SQLServer Setup.exe
  5. Copy all files not the folders, except the Microsoft.SQL.Chainer.PackageData.dll, in C:\SQLServer\SP1\<architecture> to C:\SQLServer\<architecture> to update the original files.  Here are the robocopy commands:
    • robocopy C:\SQLServer\SP1\x86 C:\SQLServer\x86 /XF Microsoft.SQL.Chainer.PackageData.dll
    • robocopy C:\SQLServer\SP1\x64 C:\SQLServer\x64 /XF Microsoft.SQL.Chainer.PackageData.dll
    • robocopy C:\SQLServer\SP1\IA64 C:\SQLServer\IA64 /XF Microsoft.SQL.Chainer.PackageData.dll

    NOTE: In my base installer package, I did NOT have an IA64 folder. I was, therefore, able to ignore copying these files.

  6. Determine if you have a DefaultSetup.ini at the following locations:
    • C:\SQLServer\x86
    • C:\SQLServer\x64
    • C:\SQLServer\IA64
  7. If you have a DefaultSetup.ini at the above locations, add the following lines to each DefaultSetup.ini:
    PCUSOURCE=".\SP1"
  8. If you do NOT have a DefaultSetup.ini at the above locations, create one with the following content and copy it to the three above locations:
    ;SQLSERVER2008 R2 Configuration File
    
    [SQLSERVER2008]
    
    PCUSOURCE=".\SP"

    This file will tell the setup program where to locate the SP1 source media that you previously extracted.

  9. Now, run setup.exe as you normally would.