Technology in terms you understand. Sign up for the Confident Computing newsletter for weekly solutions to make your life easier. Click here and get The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition as my thank you for subscribing!

Can I remove the "ServicePackFiles" folder from my Windows folder?

Question:

I just installed service pack 2 for my Windows XP Home Edition. Can I remove the service pack files folder in my windows folder?

Yes, but you probably don’t really want to.

Let me explain why.

Become a Patron of Ask Leo! and go ad-free!

The short answer is that if you remove it, you may at some future date be asked to insert the Windows installation CD if Windows believes it needs to install or repair an operating system file. The problem is that your CD probably only has SP1 on it, if that. Windows will insist on you inserting the SP2 disk – which you likely don’t have.

If you leave the folder, usually C:\WINDOWS\ServicePackFiles, and its contents in place, then Windows can simply pick up what it needs, when it needs it from there without ever bothering you.

It’s very much like the I386 folder that I’ve discussed before. In fact, on my machine at least, there’s an I386 folder within C:\WINDOWS\ServicePackFiles that actually contains all the files updated by service pack 2. So the best way to think of that ServicePackFiles is as an SP2 update to the I386 folder that may be elsewhere on your machine.

“You can delete it, just be prepared to need to insert your original installation CD if Windows ever needs it, as well as an SP2 CD if you have one.”

In a sense the I386 folder (and the ServicePackFiles\I386 folder) are conveniences. They’re really just there because the disk space to hold them is small these days compare to drive sizes, and they allow Windows to silently and quickly grab files it needs. The best example is when you install a new device. Normally Windows would ask you for the installation CD in order to get the drivers needed for that device. With the I386 folders already on your machine, Windows can simply get what it needs from there. Presumably it first checks the ServicePackFiles\I386 folder for updated files and if none are found it looks in the original I386 folder.

You can delete it, just be prepared to need to insert your original installation CD if Windows ever needs it, as well as an SP2 CD if you have one.

The good news is that like the I386 folder, you can move your ServicePackFiles instead of deleting it. You just need to change a registry setting to do so.

Using Registry Editor, locate the key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\SourcePath.
Here’s mine right now:

SourcePath registry setting

Here you can see that I’ve altered the SourcePath setting to control where my I386 folder lives (I’ve placed it on a server named “freenas” on my network in a shared “notenmax”, and in a folder “\machine_specific\leo\i386” – note that the i386 portion isn’t specified in the registry).

We can make a similar change for the ServicePackFiles by changing the ServicePackCachePath and ServicePackSourcePath entries. Here’s mine after making that change:

ServicePack registry settings

Here you can see that I’ve told Windows to find the service pack files out on that other server on my network. After copying the contents of the folder to that location on that server, I can now safely delete ServicePackFiles on my machine.

Do this

Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.

I'll see you there!

4 comments on “Can I remove the "ServicePackFiles" folder from my Windows folder?”

  1. I noticed in your registry path to source the folder called machine_specific does this mean that I need a seprate folder for each of my Windows 2003 servers or can I create one and point all of my servers to the the same source path?

    Reply
  2. —–BEGIN PGP SIGNED MESSAGE—–
    Hash: SHA1

    I happen to have various versions of things, so I definitely need
    machine-specific instances.

    If the contents of the I386 directories on your various machines are identical,
    then yes, you can point them all to the same location. My guess, though, is
    that they may often be slightly different, in which case to be safe I’d keep
    separate copies.

    Leo

    —–BEGIN PGP SIGNATURE—–
    Version: GnuPG v1.4.7 (MingW32)

    iD8DBQFHSFL8CMEe9B/8oqERAkpQAJ9uP6gSqKuyJh3buDd/IcCVkP+KFACfUFST
    bNjHnYNoR9S7smpQte/r264=
    =Z3/r
    —–END PGP SIGNATURE—–

    Reply
  3. Thanks Leo. I have a win32 partition that’s dead out of space and I can’t specify directory for a particular setup.exe. Now I can have both ServicePackFiles on an external and this gynormous phone application coexisting. Woohoo!

    Reply
  4. Just FYI, If you make this registry change, you may need to point the location in all the Windows Side-By-Side Assemblies to the same location. Once an assembly is installed, it retains the full path to the old service pack files folder. Notice about 80 entries of the following under codebases… so be preparred to actually edit each assembly’s location in the registry, because you still may wind up with the insert cd issue otherwise.

    [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionSideBySideInstallationsx86_Microsoft.Tools.VisualCPlusPlus.Runtime-Libraries_6595b64144ccf1df_6.0.9792.0_x-ww_08A6620ACodebasesU_KB924667]
    “Prompt”=”Windows Server 2003 KB924667 Source Files”
    “URL”=”D:\Support\ServicePackFiles\i386/vcrtl.man”

    Reply

Leave a reply:

Before commenting please:

  • Read the article.
  • Comment on the article.
  • No personal information.
  • No spam.

Comments violating those rules will be removed. Comments that don't add value will be removed, including off-topic or content-free comments, or comments that look even a little bit like spam. All comments containing links and certain keywords will be moderated before publication.

I want comments to be valuable for everyone, including those who come later and take the time to read.