Note- COM+ applications that use Microsoft .NET System.EnterpriseServices.ServicedComponent objects are also known as managed COM+ applications.
- COM+ applications that do not use Microsoft .NET System.EnterpriseServices.ServicedComponent objects are also known as unmanaged COM+ applications.
If you experience this issue in COM+ applications that use
Microsoft .NET
System.EnterpriseServices.ServicedComponent objects, make sure that the client code calls the
Dispose method on every
ServicedComponent instance. The correct approach is the systematic use of the
Dispose method by the client of the
ServicedComponent objects to enable deterministic cleanup. All client
applications are required to call the
Dispose method on all
ServicedComponent instances, even unmanaged COM client applications.
If you experience this problem in COM+ applications that do not
use Microsoft .NET
System.EnterpriseServices.ServicedComponent objects, you can use a registry value that is named
GipActivityBypass to resolve the problem. To use this registry value on
Microsoft Windows 2000, you must first either install Windows 2000 Service Pack
3 or obtain Microsoft COM+ Hotfix Rollup 18.1.
For more information, click the following article
number to view the article in the Microsoft Knowledge Base:
313582
Availability of Windows 2000 Post-Service Pack 2 COM+ Hotfix Rollup Package 18.1
To resolve this problem, obtain the latest
service pack for Windows 2000. For more information, click the following
article number to view the article in the Microsoft Knowledge Base:
260910
How to obtain the latest Windows 2000 service pack
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 your operating system. Microsoft cannot
guarantee that these problems can be solved. Modify the registry at your own
risk.
To enable the fix on Windows 2000 or on Windows XP, you
must create this additional registry value:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\GipActivityBypass
To do this, follow these steps:
- Start Registry Editor.
- Locate and then click the following key in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3
- On the Edit menu, point to
New, and then click DWORD Value.
- Type GipActivityBypass, and then
press ENTER.
- On the Edit menu, click
Modify.
- Type 1, and then click
OK.
If this registry value is not present, the assumed value is
zero (False). Therefore, the GIT code must wait to enter the COM+ activity.
This behavior could cause a deadlock condition. A non-zero value (True) as
shown enables the new behavior, and then avoids the deadlock condition.
Note This registry value will enable calls to the
GetInterfaceFromGlobal method to pass through the activity lock. If an unmanaged COM+
application experiences deadlocks when it calls the
RevokeInterfaceFromGlobal method or the
RegisterInterfaceInGlobal method, contact Microsoft Support.