Create a merged (slipstream) drop containing SQL Server 2008, Server Pack 1 and a Cumulative Update (CU) based on Server Pack 1

Today, I am going to show you how to create new source media that will slipstream the original source media, SQL Server 2008 Service Pack 1, and a CU based on service pack 1. Once you have created this drop, you can install SQL Server 2008 SP1 and a CU in a single step!

These instructions are for English SQL Server but will work with any language of SQL Server if you obtain the correct language.

Each time a new CU is released, you can repeat these steps.

1. Complete one of these steps to create a slipstream that contains RTM + SP1

a. Complete the steps located here to create a new slipstream drop.

b. Use your existing RTM + SP1 slipstream drop.

2. Rename the folder that you created above from SQLServer2008_FullSP1 to SQLServer2008_FullSP1_CU.

3. Download the latest Cumulative Update (CU) that is based on Service Pack 1. In my example, I will be using the 1st CU for SP1.

4. Open a command prompt and extract the packages as follows:

  • SQLServer2008-KB969099-IA64 /x:c:\SQLServer2008_FullSP1_CU\CU
  • SQLServer2008-KB969099-x64 /x:c:\SQLServer2008_FullSP1_CU\CU
  • SQLServer2008-KB969099-x86 /x:c:\SQLServer2008_FullSP1_CU\CU

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

5. Copy Setup.exe and Setup.rll from the CU extracted ___location to original source media ___location

  • robocopy C:\SQLServer2008_FullSP1_CU\CU c:\SQLServer2008_FullSP1_CU Setup.exe
  • robocopy C:\SQLServer2008_FullSP1_CU\CU c:\SQLServer2008_FullSP1_CU Setup.rll

6. Copy all files, but NOT the folders and Microsoft.SQL.Chainer.PackageData.dll in c:\SQLServer2008_FullSP1_CU\CU\<architecture> to C:\SQLServer2008_FullSP1_CU\<architecture> to update the original files.

  • robocopy C:\SQLServer2008_FullSP1_CU\CU\x86 C:\SQLServer2008_FullSP1_CU\x86 /XF Microsoft.SQL.Chainer.PackageData.dll
  • robocopy C:\SQLServer2008_FullSP1_CU\CU\x64 C:\SQLServer2008_FullSP1_CU\x64 /XF Microsoft.SQL.Chainer.PackageData.dll
  • robocopy C:\SQLServer2008_FullSP1_CU\CU\ia64 C:\SQLServer2008_FullSP1_CU\ia64 /XF Microsoft.SQL.Chainer.PackageData.dll

7. Add CUSOURCE="{Full Path}\CU" to the defaultsetup.ini file located in the following locations:

  • C:\SQLServer2008_FullSP1_CU\x86
  • C:\SQLServer2008_FullSP1_CU\x64
  • C:\SQLServer2008_FullSP1_CU\ia64

NOTES:

  • The {Full path} needs to be the absolute path to the CU folder. If you will just be running from local folder it would be C:\SQLServer2008_FullSP1_CU. If you will eventually share this folder out, {Full path} would be \\MyServer\SQLServer2008_FullSP1_CU.
  • If you don't have a defaultsetup.ini, go back and ensure you have completed step 1 successfully.
  • See question #11 here on using a relative path.
  • Change the PCUSOURCE path from SQLServer2008_FullSP1 to SQLServer2008_FullSP1_CU

Sample default.ini:

;SQLSERVER2008 Configuration File

[SQLSERVER2008]

PCUSOURCE="\\myserver\SQLServer2008_FullSP1_CU\PCU"

CUSOURCE="\\myserver\SQLServer2008_FullSP1_CU\CU"

8. Now run the setup.exe as you normally would.

 

 

 

 

            

 

How can I tell I am slipstreaming:

 

1) You should see the "Update Setup Media Language Rule" on the Installation Rules dialog:

 image

2) You should see the Action indicate it is being slipstreamed and the Slipstream node should be shown:

image

3) You will see the PCUSource and CUSource parameters specified in the Summary log:

image

4) Results from SQL Discovery Report launched from Installation Center (first CU for SP1)

sqldiscoveryReport

Comments

  1. Delete c:SQLServer2008_FullSP1_CUCU
  2. Repeat the following steps that I have above: 2, 3, 4, 5, and 6. If you have NOT already slipstreamed a CU, just complete the steps above using the CU2 package.
  • Anonymous
    June 13, 2009
    Do you mean if i have not slipstreamed CU1, then does not need slipstream it, just slipstream the CU2?

  • Anonymous
    June 14, 2009
    Since CUs are cumulative, CU2 has all of the fixes in CU1.  So you can just use CU2.

  • Anonymous
    July 24, 2009
    Hi. Thank you for this solution, it works fine. But tell me please - can I redistribute this merged drop with my commercial software?

  • Anonymous
    July 28, 2009
    If the merged drop contains a CU, it cannot be redistributed until you file a redist request with Microsoft Product Support. Thanks, Peter Saddow [Microsoft]

  • Anonymous
    August 05, 2009
    Why are there no instructions between "Step 8" and "How I can tell I am slipstreaming."? I am installing SQL2008 SP1 onto a server with SQL2008 Enterprise edition. I followed the slipstream instructions to the letter.  When I select setup.exe under D:SQLServer2008_FullSP1_CU, it takes me to the usual SQL 2008 installation UI screens.  There are no options to install/update for SP1 or CU3.

  • Anonymous
    August 06, 2009
    If slipstream is working, then you should see the messages in the UI that I have indicated in the screenshots.  There is no option in the UI to select SP1 or CU3.

  • Anonymous
    January 02, 2010
    Hi, Posted a question here: http://social.msdn.microsoft.com/Forums/en/sqlsetupandupgrade/thread/0bda411d-f83f-4678-b147-e241d51d6fe9 Is it something i did wrong or is there an issue/limitation with the slipstream process? Thanks, Jonathan.

  • Anonymous
    February 03, 2010
    The comment has been removed

  • Anonymous
    July 20, 2011
    Do not do this for SQL Server 2008 R2 EXPRESS with SP1 - it does NOT work.

  • Anonymous
    February 23, 2012
    Will this same process work with SQL 2008 R2, SP1 and CU4?

  • Anonymous
    January 15, 2013
    How do I get to the Ready to install selection just to patch a CU to an existing SP2 Installation. I cannot bypass the previous selections?

  • Anonymous
    August 07, 2013
    Couldn't you just extract the CU packages for the different architectures into separate folders, like CU_x64, CU_x86 and point to them instead from the defaultsetup.ini files in step 7? Would be less hassle than to merge the CU packages together into one folder. Is that possible?