Categories

Links

How to remove an invalid icon from Control Panel?

Published : Dec 08, 2004
Updated   : Mar 05, 2008
Send your feedback

Summary

When you open Control Panel, you may see a invalid or non-functioning icon, which was probably left behind after a incomplete uninstall of a software. Control Panel items can be registered as a namespace, or it can be implemented in a DLL (with .CPL extension) that exports the CPlApplet function.

Removing the invalid icon from Control Panel

Determining the corresponding .CPL file name

To determine the corresponding .CPL file for an invalid or non-functioning Control Panel item, use these steps:

Windows cannot create a shortcut here.
Do you want the shortcut to be placed on the desktop instead?

(Thanks to Mike Williams for the above tip.)

If the Change Icon button does not show the file name, use the following method:

If there are no reference to a .cpl, then the invalid icon is most likely a namespace entry implemented in the registry. In that case, use the following method to manage Control Panel namespace items.

Namespace items in the Control Panel

Download ShellObjectEditor from tropictech.de and run the program. Switch to Expert Mode to view all the Namespace objects. Spot the offending entry (by Location) that you want to remove. Select the corresponding entry and then Delete or Hide it.

The object would be present under one of the following registry keys:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ControlPanel \ NameSpace

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ControlPanel \ NameSpace

More information

When you open Control Panel, it gathers the list of namespace items, .CPL files present in Windows\System32 folder and other locations as registered in the Windows registry (registry locations given below). Control Panel Item Registration information is stored in these two registry keys:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Control Panel \ Cpls

HKEY_CURRENT_USER \  SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Control Panel \ Cpls

Duplicate icon in the Control Panel

A question from one of our readers: "After I first installed and then uninstalled Windows XP Service Pack 3, I noticed I had an extra Add or Remove Programs icon in the Control Panel. Both icons are functional, but one of them shows a generic icon. How do I remove the duplicate icon?"

Windows XP Service Pack 3 issues an updated version of the appwiz.cpl file (5.1.2600.5512), while Service Pack 2 has 5.1.2600.2180. It is possible that Windows XP Service Pack 3 did not clean up the older version of the appwiz.cpl from the system and ended up in multiple copies of the file, with different names.

When you open Control Panel, Windows loads any file with the .cpl extension present in the System32 folder, and from other locations defined by third-party applications, if any. If an existing .cpl file is copied to a new filename and has the .cpl extension, the Control Panel will read both .cpl extensions and display duplicate icons and labels.

Removing duplicate Control Panel items

Click Start, Run, and type:

pre>cmd /k dir %windir%\system32\*.cpl /os

This lists all the .cpl files in the System32 folder, ordered by size so that it helps you find the duplicate items easier.

The duplicate item, in this case, is the appwiz(2).cpl file, which has a different file version but has the same file size as the original. Note that the file size of the duplicate item may sometimes differ from original due to differences in file versions. Sorting the list by file size helps find duplicates easily.

Note down the file name of the duplicate item, and then delete the older version of the file using Windows Explorer. You can check the file version by clicking on the .cpl file and choosing Properties.

Note: Windows loads .cpl files from the System32 folder, as well as from other locations specified by third-party software in the registry. Additionally, it lists the namespace items from the registry.