More XP Tweaks

Home  |  XP Performance Tuning  |  XP Tips  |  XP Services


Be sure to Read ~ Tweaking Precautions in XP Performance Tuning Guide
[for info on System Restore; how to create and restore settings]

         Get Rid of Indexing Service

Indexing Service
is a totally useless service that eats a TON of your resources [yes, Microsoft made a mistake, but didn't have time to 'write it out', imagine that!]
Getting rid of it will give you a very noticable boost in performance, and your system will run much more smoothly due to the extra resources you'll have.

Double click on My Computer (desktop icon)
Then right click ON THE DRIVE ICON, then click on Properties and uncheck the box (at the bottom) that says: "Allow Indexing To Index This Drive For Fast File Searching", then click on Apply
Confirm Attribute Changes (window) will pop-up
click ~ Apply changes to [drive]:\, subfolders and files
hit OK
[if another pop-up pops up saying something about not having permission - just click on Ignore All and it will start]
Applying Attributes to:(window) will pop-up un-indexing all your files, this will take a few minutes.

[repeat for all drives you may have]

Now, Click on Start > Administrative Tools > Services
find Indexing Services ~ double click on it
Indexing Service Properties (Local Computer) will pop-up
in the middle you'll find Startup type:
choose Disabled
restart computer

Now you have gotten rid of the biggest resource waster in XP!

[note] this may not work if you compressed your drive! Don't compress your drives (once you compress, you can't un-compress without re-formatting) ~ hard drives are big enough now that you should never have to worry about running out of space. If your worried ~ get a bigger drive or manage your system better.

(As always, please make a System Restore Point before you do this in the unlikely event that something goes wrong)!




       Memory Management: Kernel Paging and Cache Tuning

The "DisablePagingExecutive" entry in the registry prevents the kernel (the core of the XP OS) from being rolled out to the page file. The effect of this part of the tweak is to cause the OS to cache the OS Kernel and its entourage to RAM instead of to disk, which makes XP far more responsive.

The "LargeSystemCache" registry entry forces XP to allocate all but 4MB of system memory, that is system memory, not avaliable RAM, to the file system cache. The remaining 4MB of system memory is used for disk caching, though XP will allocate more memory if it is needed.

A modern hard disk will transfer sequential data to and from disk at up to 40MB per second, or even faster on some drives, but the LargeSystemCache tweak means that effective transfer speeds of 1GB per second or more can be obtained, depending on the amount of RAM in your system and its operating speed. This is achieved because the LargeSystemCache modification causes the OS to store data read from disk in RAM. It means that the OS is always using the optimum amount of RAM instead of leaving it untouched for future use that may or may not occur. Without this part of the tweak, 200MB or more of RAM in a typical 512MB machine goes completely unused.

Some I/O intensive applications may take a hit in performance from changing the LargeSystemCache, so this particular component of the tweak should not be applied to a system that is running either SQL Server or Internet Information Server (IIS) because both of those applications perform their own caching.

Start regedit and navigate to the following key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Add these two lines, save the changes and reboot;

 DisablePagingExecutive = dword:00000001

 LargeSystemCache = dword:00000001



The Win32PrioritySeparation has to do with processor scheduling.
This part of the tweak is impossible to explain without getting into the technical ins and outs of binary values, bit pairs and bit masks. Suffice it to say, this part of the tweak forces short, variable length processor timeslices to be allocated to foreground processes three times more often than those timeslices given to background processes.

There are 2 settings you can choose:

Adjust for best performance of Programs
Adjust for best performance of Background Services.

All this does is change the DWORD value of Win32PrioritySeparation under this registry hive:


Set Win32PrioritySeparation to 0x26 (decimal 38) for Programs.

Set Win32PrioritySeparation to 0x18 (decimal 24) for  Background Services.

set the base value to hexadecimal.



          Disabling unneeded protocols

With every computer comes programs installed that you do not need. As with extra programs taking up space, extra protocols are just wasting your network connection and can actually slow it down. How is this possible? By default, a few different protocols are installed on your computer to allow for maximum compatibility with other computers on a network; these protocols each require bandwidth to operate. Most users will not use too many protocols, and their computers will use up a portion of their connection as they respond and transmit information for these protocols.

Additionally, with extra protocols installed on your network adapter connected to the Internet, you increase your risk of security-related problems. One of the most common risks for broadband users is that they have the Client for Microsoft Networks networking protocol enabled on their connection. This protocol allows everyone in their neighborhood to connect to the users' computers and view any files that they may be sharing. This fact alone should be a good enough reason for you to turn off the extra protocols. But with them disabled, you will also save a little bandwidth as well.

Viewing protocols on your network adapters
Viewing the protocols installed and active on your various network adapters is easy. Just follow these quick steps and you will be viewing them in no time:

1. Right-click the My Network Places icon on the desktop or in the Start Menu and select Properties. If the My Network Places icon is not in either of those locations, then go to the Control Panel and click the Network Connections icon that is shown under the Classic view.
2. Next, right-click the network adapter with which you want to view the network protocols and select Properties.
3. This will bring up a list of the protocols installed as well as active on your adapter. The protocols that are installed but not active are indicated by the absence of a check in the checkbox.

Disabling a specific protocol
Now that you have the list of installed and active protocols on your screen, you are ready to disable a protocol. To do so, just click the check box to remove the check. Then click the OK button and the protocol is no longer active on the network adapter.

I highly recommend that you disable all protocols except for the TCP/IP protocol (also referred to as the Internet Protocol). Doing so will optimize your adapter for speed and security.

Be aware that if you remove the Client for Microsoft Networks protocol and the file-sharing protocol, you will no longer be able to share your files. Additionally, you will no longer be able to connect to remote computers to view their shared files.

Also keep in mind that if you have multiple adapters in your machines, such as a wireless adapter, a wired network adapter, and a dialup modem, you will have to repeat the preceding instructions for each adapter.




          Adding sites to the XP SP2 Internet Explorer 'allow' list

The pop-up blocker built into the Windows XP SP2 version of Internet Explorer blocks all pop-ups that are not user-initiated. It also allows you to specify a list of sites that can generate pop-ups without being blocked.

This tweak shows you how to populate that list manually.

To add a site to the Interner Explorer pop-up blocker 'allow' list:

Use a registry editing tool to navigate to the following key:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\New Windows\Allow

Insert a value with the following details:

      Value Name:    The URL of the site you wish to allow.
                              Do not include the http:// or https://       REG_BINARY           (zero-length binary value)
      [Reboot your machine for the change to take effect]




          Disabling EXE signature-checking in Internet Explorer

By default, Internet Explorer checks to see if downloaded executables contain a valid signature. Signatures are often used by large software companies to verify that the downloaded executable is what they say it is. Unfortunately, many organisations offering various flavours of malware (Comet Cursor, CoolWebSearch and the like) also digitally sign their code. Signatures only guarantee that the executable concerned is what the software company say it is - not that once installed, it won't do any harm.
Should a downloaded executable not contain a signature or contain a invalid signature, Internet Explorer will display a prompt asking the user if they wish to continue. This tweak prevents Internet Explorer from looking for a valid signature and thus disables that prompt.

[note:] always scan executables with your anti-virus program after downloading, i.e. - right click on .exe program and scan.

To disable executable signature-checking in Internet Explorer:

Use a registry editing tool to navigate to the following key:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Download

     CheckExeSignatures           REG_SZ                no
     [Reboot your machine for the change to take effect]




          Remove unneeded components

Windows XP comes with various completely useless components such as MSN Explorer. Reclaim some disk space and reduce the number of loaded DLLs by removing them. If you don't use Windows Messenger, now would be a good time to remove it.

To remove MSN Explorer:
Click Start, Settings and then Control Panel.
Switch to Classic view.
Double-click on Add / Remove Programs.
Click Add / Remove Windows Components.
Click on Accessories and Utilities then click Details. Remove any unwanted components by unchecking the tick-box next to the entry.
Click OK.
Remove MSN Explorer by unchecking the tickbox next to the entry.
Click Next.
After the un-installation has finished, click Finish.

[Reboot your computer if prompted.]

To remove other unneeded components:

Using notepad or a similar text editor, open:
In the Components section, remove the word "HIDE" from all the components you wish to remove. Suggested sections to remove are:

[note:] keep the commas, as in ~ Pinball=ocgen.dll,OcEntry,pinball.inf,,7
Save the file, then exit.
Now you can remove the components through the Add / Remove Windows Components utility, as described in the process above.




         Removing Windows Messenger from Windows XP

As an embedded component of Windows, Messenger can be difficult to remove. There is no entry in the Add / Remove Programs applet for it. If you simply wish to prevent users from gaining access to it, there is a registry key to do this.

To prevent Windows Messenger from being run:

Use a registry editing tool to navigate to the following key:

Insert or change a value with the following details:
     PreventAutoRun           REG_DWORD          0x00000001

     [Restart the computer for the changes to take effect.]

Non-standard versions of Windows or MSN Messenger (version 5.0 or above) can usually be removed via the Add / Remove Programs applet within Control Panel. Once the non-standard version is removed, the Windows XP-native version (version 4.x) can be completely removed (i.e. uninstalled) using the method outlined below.

To remove Windows Messenger from Windows XP:

Copy and paste the following to a text file,
  and save as RemoveMsgr.bat
@echo off
RunDll32 advpack.dll,LaunchINFSection %windir%\inf\msmsgs.inf,BLC.Remove
@echo REGEDIT4>%TMP%\RemoveMsgr.reg
@echo [HKEY_LOCAL_MACHINE\Software\Microsoft\Outlook Express]>>%TMP%\RemoveMsgr.reg
@echo "Hide Messenger"=dword:00000002>>%TMP%\RemoveMsgr.reg
regedit /s %TMP%\RemoveMsgr.reg

Close down Outlook Express / Outlook and all Internet Explorer windows.
Run RemoveMsgr.bat. When prompted, click Yes to close all affected applications.
Restart your computer for the changes to take effect.

[note:] You can also prevent access to Windows Messenger using Group Policy or the Set Program Access and Defaults utility added by default in Windows XP SP1 and Windows 2000 SP3.




          Configuring the network bandwidth used by BITS
                       [Background Intelligent Transfer Service]

This tweak is only valid on Windows XP Service Pack 2 or later, Windows Server 2003 Service Pack 1 or later, or computers with BITS 2.0 or later installed.

BITS is the service Windows uses for, amongst other things, downloading updates from the Windows Update or the WSUS server in non-interactive mode; namely when Automatic Update downloads hotfixes or service packs automatically.

There may be some circumstances or other occasions when you may wish to set the values manually.

The BITS configuration has a number of options:

  - The maximum on-schedule bandwidth utilisation
  - The start hour and end hour of the schedule to use
  - Whether to use the maximum available bandwidth
    or a user-specifed value for off-schedule times
  - If required, the bandwidth to use during off-schedule times
To configure the BITS parameters;

Use a registry editing tool to navigate to the following key:

If the BITS key does not exist, create it.

Insert or change a value with the following details:

  EnableBITSMaxBandwidth    REG_DWORD       0x00000001

    MaxTransferRateOnSchedule        REG_DWORD       0x00000000
  [The maximum transfer speed in kbps between 0 and 4294967200.
  If you specify 0, BITS will use its minimum transfer speed; around 2 kbps].

    MaxBandwidthValidFrom              REG_DWORD       0x00000000
  [The hour of the day (in 24-hour format) at which you want the schedule to become active.]

    MaxBandwidthValidTo                  REG_DWORD       0x00000000
  [The hour of the day (in 24-hour format) at which you want the schedule to become inactive.]

If you wish to use the system maximum transfer rate outside of the defined schedule, insert or change a value with the following details:

  UseSystemMaximum           REG_DWORD       0x00000001

If you wish to set a maximum speed during the off-schedule hours, insert or change a value with the following details:

    MaxTransferRateOffSchedule        REG_DWORD       0x00000000
  [The maximum transfer speed in kbps between 0 and 4294967200.
  If you specify 0, BITS will use its minimum transfer speed; around 2 kbps.]

Restart the computer (or simply stop and restart the BITS service) for the changes to take effect.




                Simple hack to disable USB drives in XP - Perfect for public machines

There is a simple registry change that will keep the USB storage drivers from starting when the system boots. Keeps people from walking up to a PC and copying data off with a USB key, but allows you to keep your scanner, keyboard, and mouse working.

As always - back your system up before messing around in the registry.

Just open regedit and browse to this key:


Notice the value 'Start'

Switch this value to 4, and USB storage devices are disabled.

Switch this value to 3, and USB storage devices are enabled.