Windows security update may cause shell extensions to fail

Shell extensions in Windows can cause problems. Microsoft's MS06-015 security update includes a system component, VERCLSID.EXE, that validates shell extensions before they are installed. Unfortunately some shell extensions cause VERCLSID.EXE to malfunction, even if they are perfectly benign. Here's a way to resolve the problem.

A "shell extension" in Windows is a program that hooks into Explorer.exe (the "shell" or user command interface for Windows) and adds functionality to it. Many shell extensions do this by adding custom behaviors to the shell, such as additional right-click context menu options. For instance, the file compression tool WinRAR has some shell hooks to add WinRAR-specific commands to the right-click menu.

Some shell extensions can cause problems. For instance, if a program that provided shell extensions is improperly removed, it may cause Explorer to crash. This would happen if the hooks remain but the application they point to has vanished.

Another problem is when one set of shell extensions collides with another. This creates real problems for the user unless you remove one (or both) offending shell extensions. If your computer came pre-loaded with a shell-extending application and then you unwittingly add something that interferes with the extensions, the results can be difficult to diagnose.

Microsoft's MS06-015 security update includes a system component, VERCLSID.EXE, that validates shell extensions before they are installed. Unfortunately some shell extensions cause VERCLSID.EXE to malfunction, even if they are perfectly benign.

To get around this issue, you could update the shell extension in question (if an update is available.) Another way is to let VERCLSID.EXE know that the shell extension is valid. To do this, you'll first need to know the CLSID (class identifier) for the shell extension in question. You can obtain this information through a program such as ShellExView, which lists all the CLSIDs and other information for every shell extension currently installed in the system.

Once you have the CLSID, open the Registry and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached. Add a new DWORD value. The name of the DWORD value will consist of three things:

  • the CLSID you looked up
  • the string {000214E6-0000-0000-C000-000000000046}, and
  • the string 0x401, each separated by spaces.

So, if you're adding the CLSID {A4DF5659-0801-4A60-9607-1C48695EFDA9}, the string would be:
{A4DF5659-0801-4A60-9607-1C48695EFDA9} {000214E6-0000-0000-C000-000000000046} 0x401

(Note: If you're doing this on a Windows 2000 machine rather than a Windows XP or Windows Server 2003 machine, omit the 0x401 at the end.)

Now, set the value of this new DWORD to 1 and reboot the computer.

Shell extensions that have been reported to have problems with VERCLSID.EXE include the NVIDIA graphics card shell extensions and some of Hewlett-Packard's Share-to-Web photo-sharing software. But there are others.

About the author: Serdar Yegulalp is editor of the Windows Power Users Newsletter. Check it out for the latest advice and musings on the world of Windows network administrators. He is also the author of the book Windows Server Undocumented Solutions.

More information from SearchWinSystems.com

This tip originally appeared onSearchWinSystems.com.

This was first published in May 2006

Dig deeper on Windows Server Virtualization and Microsoft Hyper-V

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchServerVirtualization

SearchCloudComputing

SearchExchange

SearchSQLServer

SearchWinIT

SearchEnterpriseDesktop

SearchVirtualDesktop

Close