You receive an "Unable to uninstall: assembly is required by one or more applications" Windows Installer error message when try to remove an assembly from the Global Assembly Cache (GAC) by using the Gacutil.exe tool

Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows


When you try to remove an assembly from the Global Assembly Cache (GAC) by using the Gactutil /u command at a command prompt, you may receive the following Microsoft Windows Installer error message:
Unable to uninstall: assembly is required by one or more applications.


Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

To work around this problem, examine the list of values for the following subkeys in Registry Editor:
  • HKEY_CURRENT_USER\Software\Microsoft\Installer\Assemblies\Global
  • HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemblies\Global
If the value for the <Assembly Full Name> entry is a Windows Installer descriptor, delete the <Assembly Full Name> entry. For example, the value might be a cryptic REG_MULTI_SZ entry that resembles the following:
Note You must delete the <Assembly Full Name> entry. Do not just clear the value of the <Assembly Full Name> entry.

More Information

Windows Installer is a probable source of the erroneous registry entry that blocks the Global Assembly Cache tool (Gacutil.exe) from uninstalling the assemblies. Gacutil.exe itself does not read from or write to the registry, but it starts the utilities that search for the Windows Installer references in the registry.

Gacutil.exe cannot override Windows Installer reference counts. Several possible causes of conflict exist between Windows Installer and Gacutil.exe. If you use Windows Installer to install an assembly in the GAC, Gacutil.exe may not be able to remove the assembly.


For more information, visit the following Microsoft Developer Network (MSDN) Web site:

Article ID: 873195 - Last Review: May 13, 2009 - Revision: 1