BUG: Deletion of SOAP Proxy Application Does Not Remove TLBIMPed Assembly from the GAC (305771)



The information in this article applies to:

  • Microsoft COM+ 1.5, when used with:
    • Microsoft Windows XP Professional

This article was previously published under Q305771

SYMPTOMS

If you delete a COM+ application proxy from a client computer, sometimes the deletion does not remove the assembly from the Global Assembly Cache (GAC). This does happen where the COM+ proxy is that of a COM+ application that is exposed by means of a SOAP VRoot.

If the assembly is not removed, the next proxy import of the same application does not work.

Note that the next proxy import of the same application does not work, only if the following conditions are met:

  • The proxy has the same Assembly and the same Typename as a previous proxy install.
  • The new proxy has a different interface than the original proxy. The problem is similar to changing an interface but keeping the same interface identifier (IID).

RESOLUTION

To work around this bug, you can uninstall the assembly from the Global Assembly Cache by using the Global Assembly Cache utility (Gacutil) with the "-u" option.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce the Behavior

  1. Export the proxy of the SOAP application from the server computer.
  2. Import the proxy on the client computer.

    This copies the TLBIMPed assembly to:

    %windir%\system32\com\soapassembly\

    Then, the TLBIMPed assembly is added to the GAC.
  3. Delete the proxy application from COM+.

    The TLBIMPed assembly is still in the GAC. However, the expected behavior is that the TLBIMPed assembly is removed from the GAC.

Modification Type:MajorLast Reviewed:10/24/2002
Keywords:kbbug KB305771