Microsoft

SolutionBase: Deploy Windows XP Service Pack 2 using Systems Management Server

Windows XP Service Pack 2 presents lots of challenges to a network administrator, not the least of which is deploying it. Here's how to do so using Systems Management Server 2.0.

Windows XP Service Pack 2 (SP2) is a complex update with many ramifications for IT pros. TechRepublic's Windows XP Service Pack 2 Quick Guide drills down on critical SP2 need-to-know areas, with sections on fundamentals, changes that occur after installation, deployment procedures, problem areas, and removal.

Microsoft has finally released the long awaited Service Pack 2 for Windows XP. Now comes the fun part: deploying it to all of your users. If you have Systems Management Server (SMS) though, you can use it to assist with the deployment. While it's true that SMS 2.0 is not the most current version, it is capable of deploying something as new as XP SP2. SMS 2003 also distributes SP2; here's how it's done.

Before you begin

Before I get started with explaining the actual techniques that you will use for deployment, I want to point out that the procedures that I am going to show you are designed for SMS Server 2.0 with Service Pack 4 or above. Earlier service pack versions will not work.

This article also assumes that you have some basic familiarity with SMS Server 2.0. I am assuming that your SMS clients are already set up and that you have a Windows XP collection in place. If you need help establishing a Windows XP collection, then check out the Microsoft Knowledge Base Article Number 199102.

Deploying Windows XP SP2 under SMS 2003 works basically the same as 2.0. For the purposes of this article, I'll be discussing SMS 2.0, but if you run SMS 2003, the basic instructions work just as well.

Creating an SMS package

The first part of the deployment process consists of building an SMS package file containing Windows XP SP2. The package file will contain the service pack itself and the instructions for installing it. Before you can create the package file, though, you will have to download SP2. Microsoft is making two different versions of the service pack available. One version is intended for individual computers, and the other version is intended for deployment across a network to multiple computers.

You will need to download the multiple-computer version of the service pack. You can get it at Microsoft's Web site. The service pack is roughly 270 MB in size, so plan on allowing plenty of time for the download to complete.

Once you have downloaded the service pack, it's time to create the SMS package file. The first step in doing so is to create a shared directory on a network drive, copy the service pack file to that directory, and then extract the files contained within the service pack.

For example, on my network, I have mapped the R: drive to a server volume that I use to store applications and service packs. Because I have simply mapped a drive to a specific volume, I don't have to worry about setting permissions for every single application or service pack. I just have it set up so that everyone has read-only access to the volume. For the purpose of deploying SP 2, I created a subdirectory on R: called WINXPSP2 and copied the file that I downloaded to it (XPSP2.EXE).

Once the service pack file is copied to a folder on a shared network drive, the next step is to extract the files contained within the file that you downloaded. The easiest way to do so is to open a command prompt window and navigate to the folder containing the service pack and then enter a command to extract the service pack's files. For example, if you copied the service pack into the R:\WINXPSP2 folder, then you would use the commands below. Just make sure that you are logged on with an account that has read/write access to the shared drive.

R:
CD\WINXPSP2
XPSP2.EXE /X

After entering these commands, you will be prompted as to which folder you would like to extract the files to, as shown in Figure A. Enter R:\WINXPSP2 folder (or whatever folder name you are planning on using) into the dialog box and click OK. Now, take a break and go get a cold drink while Windows extracts the service pack's files. On my test system it took about fifteen minutes, and when all was said and done, doing so consumed about 620 MB of disk space on the server. Of course you can get a big chunk of that lost disk space back by deleting the XPSP2.EXE file, since it's no longer needed.

Figure A

You must use the XPSP2.EXE /X command to extract the service pack's contents.

So far I have shown you how to download and extract the service pack, but now you must actually create the SMS package file. Fortunately, Microsoft has done a lot of the work for you. Rather than creating a package from scratch, you can import the Windows XP Service Pack 2 product definition file, and SMS will create a package for you. You can download the necessary product definition file at Microsoft's Web site. The download consists of a 36-KB executable file.

Copy the XPSP2SMS.EXE file to a shared folder on the network and then double-click it. When you do, you will be asked to provide a file extraction path. Enter R:\WINXPSP2 (or the path you used earlier). When you do, one file will be extracted to the location that you specified. The file's name is XPProSP2.sms.

After downloading the product definition file, copy it to a location that is accessible from your SMS Server. Now, go to the SMS Server and open the SMS Administrator Console. When the console opens, expand the Site Databases container and locate the Packages container beneath it. Right-click on the Packages container and select the New | Package From Definition commands from the resulting shortcut menus. When you do, Windows will launch the Create Package From Definition Wizard.

The idea behind the wizard is that the definition file that you have downloaded has all of the information that SMS needs in order to create a package file. The only thing that's missing is the location of the files. Therefore, the wizard will allow you to enter the location of the service pack files and will then use the definition file that you downloaded for the rest of the information needed to create a package file.

Click Next to bypass the wizard's Welcome screen. You will now see a screen that asks you who published the package definition file. Microsoft is selected by default, and several Microsoft products are listed in the package definition section, but Windows XP Service Pack 2 is not listed. To add it to the list of packages, click the Browse button and then navigate to the R:\WINXPSP2 folder (or the folder you extracted the XPProSP2.sms file to). Now, double-click on the XPProSP2.sms file and the WinXP Pro SP2 option will be added to the list of available packages, as shown in Figure B.

Figure B

The WinXP Pro SP2 option is added to the list of available packages.

Click Next and the wizard will ask you how SMS should manage the service pack's source files. Since the source files are not included in the package file, you will have to tell SMS that the source files must be pulled from a source directory. Select the Always Obtain Files From a Source Directory option and click Next.

The following screen will ask you for the location of the source files. You must also tell SMS whether you want to use universal naming conventions to point to the source files or if the source files are stored on a local drive. Earlier I explained that I had mapped the R: drive to a network volume that contained my various applications and service packs.

I could probably get away with telling SMS that the files existed on a local drive and then entering R:\WINXPSP2 as the path, but in this situation, it's probably better to go ahead and use a universal naming convention instead. The reason is because drive mappings are typically only valid while someone is logged on locally to the server. If I log off of the server console, the drive mapping becomes unavailable until the next time that I log in. Therefore, it's better to use a UNC, which works whether I am logged in or not. In this case, R:\WINXPSP2 is mapped to \\tazmania\software\WINXPSP2, as shown in Figure C.

Figure C

Enter the UNC that points to your source files.

Click Next and you will see a summary of the package options that you've chosen. If everything appears to be accurate, click Finish and the package will be created. The new package won't be displayed automatically, though. You won't be able to see the new package unless you right-click on the Packages container and select the Refresh command from the resulting shortcut menu. After refreshing the console, the new package will be displayed similarly to what you see in Figure D.

Figure D

The new package won't be available until you refresh the console.

Distributing the service pack

Now that you have created the necessary package, it's time to actually deploy the service pack. To do so, right-click on the Packages container in the SMS Administrator console and select the All Tasks | Distribute Software commands from the resulting shortcut menus. When you do, Windows will launch the Distribute Software Wizard.

Click Next to bypass the wizard's welcome screen. You will now see a screen that asks you whether you would like to create a new package or distribute an existing package. Select the Distribute An Existing Package option, then select the WinXP Pro SP2 option from the list of available packages and click Next.

At this point, the wizard will ask you which distribution points the clients will access the software from. If you only have a single SMS Server, then selecting the distribution points will be a no brainer because there will only be one distribution point available. If you have multiple SMS servers though, you will have to put a little more thought into your decision. By default, you will see the distribution points for the site that you are connected to and for all child sites. You will have to select at least one distribution point in every site containing clients that you want to deploy the service pack to.

After selecting the desired distribution points, click Next and you will see a screen asking whether distribution should stop at the distribution points or if it should continue to client resources. Since we are going for an automated client upgrade to Windows XP Service Pack 2, select the Yes option when asked if you want to advertise a program to a collection, and then choose the Automated Upgrade From XP Or XPSP1 option from the list of programs, as shown in Figure E.

Figure E

Choose the Automated Upgrade From XP Or XPSP1 option.

Click Next and the wizard will ask if you want to advertise the program to an existing collection or if you would rather create a new collection and advertise the program to it. For the purposes of this article, I'm assuming that you probably already have a collection established. If not, however, you can easily create one.

Click Next and you will be prompted to enter an advertisement name. The name XP Pro SP2 – Automated upgrade from XP or XPSP1 will be used by default, but you can change the name to suit your needs or enter a descriptive comment. Click Next and you will be asked whether you want to advertise the program only to members of the specified collection or if you would like to advertise the program to members of a subcollection as well. Choose the option that is appropriate for your organization and click Next, and you will be asked when the program should be advertised.

Enter the date and time when you would like for the service pack to become available to clients. You also have the option of setting an expiration date for the advertisement. By default, though, there is no expiration date.

After setting up the schedule, click Next and you will see a warning message stating that assigning a program means that the program is mandatory for the clients that you are assigning it to. SMS gives you the option of not assigning the program. However, I recommend going ahead and assigning the program.

When you select the Yes, Assign The Program option, you are also given one last chance to modify the assignment date. If everything looks good, click Next and you will see a summary screen that displays the options that you have chosen. Click Finish to end the wizard and make the assignment.

Editor's Picks