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 (873195)



The information in this article applies to:

  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0

Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

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.

WORKAROUND

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor 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 Default entry is a Windows Installer descriptor, delete the Default entry. For example, the value might be a cryptic REG_MULTI_SZ entry that looks similar to the following:

=ysgSC6wx9uiD1dqmmjW>m$!GP^D'A@?z}gn3}lta

Note You must delete the Default entry. Do not just clear the value of the Default 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.

REFERENCES

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

Modification Type:MajorLast Reviewed:8/12/2004
Keywords:kberrmsg kbtshoot kbRegistry kbuninstall kbcorrupt kbprb KB873195 kbAudDeveloper