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 your 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!

15 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. Hey. The “ServicePackCachePath” has “/ServicePackCache” on it’s tail before you made the change, but not afterward! Shouldn’t that stay on there, making it’s value “\\freenas\notenmax\machine_specific\leo\ServicePackFiles\ServicePackCache”?

    Reply
  4. I have a windows\i386 file and not a c:\i386 file. Is this the same? Can I move it save to the D drive and change the registry??

    Reply
  5. I don’t mind the ServicePackFiles being on the disk but I want to exclude them from my weekly antivirus scan. How can I exclude files from anti-virus? My virus scan is running too long.

    How, or even if, you can exclude folders or file from a scan will depend on the specific scanner you use.

    – Leo
    28-Oct-2008
    Reply
  6. Leo,

    Are there other folders that can also be relocated, like the Fonts folder?

    Also, the shortage of space on the boot drive can be a real a problem on upgraded machines. My wife’s computer was upgraded from Win98 to XP years ago, and I suspect there are other files and folders that could simply be deleted. Have you considered an article covering this aspect of the space problem?

    Reply
  7. 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
  8. 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
  9. To Leo & Jason Raymond

    Thankyou both very much for this tip, you’ve just allowed me to resurrect my EeePC which was struggling badly with 10MB of free disk.

    BTW I’ve also relocated the contents of “C:\WINDOWS\SoftwareDistribution\Download” (some 750MB) and am looking into the Fonts issue.

    Q: What about “C:\WINDOWS\Installer” (700MB) any ideas on moving that beastie??

    Cheers, Ian.

    Reply
  10. Trying to create a recovery/install CD for Windows XP Pro w/SP3. I cannot locate i386 folder in c:\ or c:\windows but there is an i386 folder at c:\windows\spervicepackfiles\i386. Is this what I need to make my CD? I’ve tried several methods and keep getting error messages like, cannot find NTLDR,and others even though said file(s) exist in the directory I am trying to burn to CD.

    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.