Article ID: 831933 - View products that this article applies to.
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:
(http://support.microsoft.com/kb/256986/ )Description of the Microsoft Windows Registry
Application performance may decrease when you migrate your custom applications from Microsoft Transaction Server (MTS) for the Microsoft Windows NT 4.0 operating system to Microsoft COM+ 1.5 for Microsoft Windows XP. Application performance can decrease by almost 40 percent, but the problem does not affect all custom applications, just those that use the Just-In-Time (JIT) Activation service in COM+.
When you use the JIT Activation service in COM+, the COM+ component is forced to join its own context. This can cause too much context creation and cross-context marshaling in COM+.
To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/322389/ )How to obtain the latest Windows XP service pack
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Microsoft Windows XP Service Pack 2.
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.
This fix adds a new Microsoft COM+ feature that is named MiniJIT. With MiniJIT enabled, a component can take part in JIT activation and can still be activated in the context of its caller. MiniJIT also makes sure that the IObjectControl::Activate method and the IObjectControl::Deactivate methods are appropriately called, and that the transaction and the state of the parent (component of the caller) are not affected when the child component calls any one of the following methods:
(http://support.microsoft.com/kb/261096/ )HOWTO: Activate a COM+ Component in Its Caller's Context
Steps to Enable MiniJIT
0x80004024: The specified activation could not occur in the client context as specified.
Differences Between JIT and MiniJIT