Microsoft KB Archive/910234

= FIX: Error message when a serviced component in a COM+ application calls another serviced component in a second COM+ application: &quot;0x8004E027&quot; =

Article ID: 910234

Article Last Modified on 12/5/2007

-

APPLIES TO

 Microsoft COM+ 1.5, when used with:  Microsoft Windows Server 2003, Standard Edition (32-bit x86)

 Microsoft Windows Server 2003, Standard x64 Edition

 Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)

 Microsoft Windows Server 2003, Enterprise x64 Edition</li></ul>

 Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems</li></ul>

 Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)</li></ul>

 Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems</li></ul>

 Microsoft Windows Server 2003, Datacenter x64 Edition</li></ul> </li></ul>

-

<div class="notice_section">

<div class="notice_section">

Important This article contains information about how to modify the registry. Make sure to 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:

256986 Description of the Microsoft Windows registry

<div class="symptoms_section">

SYMPTOMS
Consider the following scenario:
 * A serviced component in a Microsoft COM+ application calls another serviced component in a second COM+ application.
 * Each serviced component connects to a data store in Microsoft SQL Server.
 * The first serviced component is marked TX required.
 * The second serviced component is marked TX supported.
 * The computer has the critical update that is discussed in Microsoft Knowledge Base article 902400 installed.
 * The computer has the Microsoft .NET Framework 2.0 installed.

In this scenario, you may receive an error message that is similar to the following:

0x8004E027

CONTEXT_E_NOTRANSACTION

The requested operation requires that the current context have a Transaction, and it does not.

<div class="cause_section">

CAUSE
This problem occurs because the .NET Framework 2.0 calls the FetchTransaction method in COM+. The FetchTransaction method requires a transaction. If a transaction is not present in the second serviced component, you receive the error message that is mentioned in the &quot;Symptoms&quot; section.

<div class="resolution_section">

Service pack information
To resolve this problem, obtain the latest service pack for Windows Server 2003. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

889100 How to obtain the latest service pack for Windows Server 2003

Hotfix rollup package information
This problem is fixed in Microsoft Windows Server 2003 Post-Service Pack 1 COM+ 1.5 Hotfix Rollup Package 7. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

910730 Availability of Windows Server 2003 Post-Service Pack 1 COM+ 1.5 Hotfix Rollup Package 7

Prerequisites
You must have Windows Server 2003 installed on the computer to apply this hotfix.

Restart requirement
You must restart the computer after you apply this hotfix.

Hotfix replacement information
This hotfix does not replace any other hotfixes.

File information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

Windows Server 2003 SP1, x86
<div class="workaround_section">

WORKAROUND
To work around this problem, use one of the following methods.

Method 1: Mark the second serviced component TX required
Mark the second serviced component TX required instead of TX supported.

Method 2: Modify the registry
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 modify the registry, follow these steps: <ol> Click Start, click Run, type regedit, and then click OK.</li> Locate and then click the following key in the registry:

HKEY_LOCAL_MACHINE\Software\COM3

</li> On the Edit menu, point to New, and then click String Value.</li> Type DisablePromotableTransactions, and then press ENTER.</li> On the Edit menu, click Modify, type Y, and then click OK.</li> Quit Registry Editor.</li></ol>

<div class="status_section">

STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section. This problem was first corrected in Windows Server 2003 Service Pack 2.

<div class="moreinformation_section">

MORE INFORMATION
For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Additional query words: COM+ MSDTC

Keywords: kbwinserv2003sp2fix kbqfe kbfix kbbug kbpubtypekc KB910234

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.