Microsoft KB Archive/883955

= Availability of Windows Server 2003 COM+ 1.5 Rollup Package 3 =

Article ID: 883955

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)

-





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



SUMMARY
This article lists the COM+ bugs that are fixed in Microsoft Windows Server 2003 COM+ 1.5 Rollup Package 3. The package contains all the fixes that were released in previous Windows Server 2003 COM+ 1.5 rollup packages.

Issues that are fixed in the hotfix package
The following issue is fixed in this hotfix package:  

890634 DTC Clustered resource will not come online if Administrator account lacks SE_SECURITY_NAME privilege

 

875498 If the DTC service is restarted many times, the service eventually does not restart in Windows Server 2003



The following issues are also fixed in this hotfix package but were not previously documented in Microsoft Knowledge Base articles:  An &quot;8000ffff&quot; error is returned by COM+ method calls

An &quot;8000ffff&quot; error occurs when a CreateObject call is made in Visual Basic for Scripting (VBS) while you are running with a Windows-based script host (WScript.exe). The CreateObject method calls into the CoGetClassObject function. The function returns an incorrect result code that the script reports as &quot;8000ffff.&quot;

Notice that this error can also occur as a result of this bug when one of the following conditions is true:  You use the CreateObject method rather than use the Server.CreateObject method to create an object from an ASP application. You create a COM object from .NET code by using the COM Interop.</ul>

The occurrence of this error is dependent on the number of IP addresses on the computer. The occurrence of this error is also dependent on the overall length of the string representation of these IP addresses. For example, If the computer has more than about 14 IP addresses, you are likely to encounter this error. Another example, if the IP addresses are in the x.x.x.x format rather than the xxx.xxx.xxx.xxx format, you are likely to encounter this error.

</li> The Imoniker::GetDisplayName method does not obtain the correct display name in Japanese Windows Server 2003

When Japanese characters are used for the Item name in the system standard Item moniker, the Japanese Item name will have unreadable characters when the name is saved and retrieved back.

File moniker support has been changed to return the correct data for non-ANSI characters.

</li> DTC Proxy stops responding when xa_recover operations are initiated on separate threads

One or more xa_recover operations that are initiated on separate threads may cause the Distributed Transaction Coordinator (DTC) proxy to stop responding.

This hotfix includes new code that serializes the xa_recover operation to avoid a race condition that may occur when more than one resource manager thread calls the xa_recover function.

</li> COM+ Explorer does not update the statistics on instances of poolable objects in a library application

Pooled component statistics do not update in the Component Services Explorer for instances of pooled objects.

Object pool tracking has been changed to start tracking statistics for library applications.

</li> An SC_SCREENSAVE event or an SC_MONITORPOWER event causes continuous beeping

The computer beeps continuously if an SC_SCREENSAVE event or an SC_MONITORPOWER event occurs during a pending COM call.

COM+ has been changed to no longer sound the beep when a screen saver or power monitoring event occurs.

</li> Huge ComplustraceX.log files are created when the COM+ event system is used

The COM+ event system creates any number of trace logs but cleans up only the first ten logs.

The COM+ event system has been changed to automatically remove all trace logs. Typically, the COM+ event system keeps the last ten log files. If you want to increase or decrease the number of log files that are kept, you must modify the following registry subkey:

TraceLogFilesLimit (REG_DWORD)</li> A RPC_C_AUTH_LEVEL_DEFAULT flag that is used at activation time or at later times can cause a &quot;0x8001011a&quot; error

When you make a DCOM call, and you use the RPC_C_AUTH_LEVEL_DEFAULT activation time or a later time to set the RPC Authentication Level flag, the client may receive a &quot;0x8001011a (RPC_E_NO_GOOD_SECURITY_PACKAGES)&quot; error message.

COM activation now remaps the RPC_C_AUTHN_DEFAULT flag to the RPC_C_AUTHN_GSS_NEGOTIATE constant to correct this error.

</li> Heap corruption occurs in the COM+ event system

Heap corruption may occur in the COM+ event system. An access violation may result while event notification messages are processed if a call to the PostThreadMessage function does not succeed.

The event system has been changed to correctly handle this scenario.</li> The ole32!CoGetObjectContext function is slow in Webdata scenarios when it runs under common language runtime 2.0

The ole32!CoGetObjectContext function is too slow in Webdata scenarios when the function runs under common language runtime 2.0.

The CoGetObjectContext function has been changed to improve its efficiency.

</li> DTC proxy causes a memory leak in a client process when it calls the xa_start function

The DTC proxy code can leak an internal object instance when the xa_start function is called by using an invalid XID.

</li> &quot;A new COM+ tracing session is taking too much to open&quot; error is logged

If an event logging session takes more time than expected to open, the following error message may be logged in the event log:

A new COM+ tracing session is taking too much to open

This fix removes this message from the COM+ event system.

</li> The xa_rollback function call is not always sent when you perform a rollback

The xa_rollback function call is not always sent when you perform a rollback with an Oracle-linked server from Microsoft SQL Server. This problem occurs when the Oracle-provided ologo function is called while the transaction is in the active state. The state transitions to TRANSTATE_UNILATERALLY_ABORTING without calling the xa_rollback function.

This hotfix includes new code to allow DTC to call the xa_rollback function before entering TRANSTATE_UNILATERALLY_ABORTING.

</li> The ExportApplication method fails with ERROR_MORE_DATA if the RemoteServerName is longer than 16 characters

If an Application Proxy RemoteServerName contains more than 16 characters in the Options tab of My Computer properties in Component Services, an attempt to export the Application Proxy will fail with ERROR_MORE_DATA.

COM+ now supports RemoteServerName names of up to MAX_PATH in length.

</li> A memory leak occurs when you are using proxy and stub buffer objects

Under some circumstances, COM may not release an internal object that is used to manage proxy and stub buffer objects.

COM code has been changed to correctly release these objects.

</li> A memory leak occurs when you call the xa_open function in a client process while DTC is offline

When you call the xa_open function in a client process while DTC is offline, a memory leak may occur.

This hotfix includes new code that does not let an internal DTC object leak when a connection to Transaction Manager is unavailable, and an xa_open function call is in progress.

</li> A memory leak occurs when the CoUninitialize function is called in a loop

When the CoUninitialize function is called in a loop, it may not clean up an internal synchronization object. For example, the problem may occur if you use the following procedure in code: <ol> CoInitialize(STA or MTA)</li> <li>for (x = 1 to 3) { CoCreateInstance(some object); someobject->Release; }</li> <li>CoUninitialize</li> <li>Goto #1</li></ol>

CoUnitialize code has been changed to correctly release these objects.

</li> <li>&quot;Overlapped I/O is in progress&quot; message occurs when you try to log on user_domain\user for an application

This error message is erroneous when the LsaLogonUser function fails after it is called from within a DCOM application.

The message has been removed.

</li> <li>A registry option to disable Nagle algorithm is available

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.

This hotfix adds a new registry option that lets you control whether the Nagle algorithm socket option is set or not. To configure this option, follow these steps: <ol> <li>Click Start, click Run, type regedit, and then click OK.</li> <li>Locate and then click the following registry subkey:

HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\

</li> <li>On the Edit menu, point to New, and then click DWORD Value.</li> <li>Type TcpNoDelay for the name of the DWORD, and then press ENTER.</li> <li>Right-click TcpNoDelay, and then click Modify.</li> <li>In the Value data box, type 1 to turn on the Nagle algorithm socket option, or type 0 to turn off the option.</li> <li>Click OK, and then quit Registry Editor.</li></ol> </li></ul>

<div class="moreinformation_section">

Service pack information
To resolve the issues that this article lists, 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 information
A supported hotfix is now available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next service pack that contains this hotfix.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

http://go.microsoft.com/?linkid=6294451

Note If additional issues occur or any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. To create a separate service request, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

Prerequisites
Windows Server 2003

Restart information
You must restart your computer after you apply this hotfix.

Hotfix replacement information
This hotfix is not replaced by a later hotfix.

Bugs that are fixed in the Windows Server 2003 COM+ 1.5 rollup packages are cumulative. The following article lists previous rollup packages:

821751 Availability of Windows Server 2003 COM+ 1.5 Rollup Package 1

Registry information
You must create or modify a registry key to use one of the hotfixes that is contained in this package.

For additional 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

Hotfix file information
This hotfix contains only those files that you must have to correct the issues that this article lists. This hotfix may not contain all the files that are required to fully update a product to the latest build.

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, 32-bit editions
<pre class="fixed_text"> Date           Time    Version                 Size      File name -- 02-Sep-2004 18:28  2001.12.4720.207    263,680   Catsrv.dll 02-Sep-2004 18:28  2001.12.4720.207    587,264   Catsrvut.dll 02-Sep-2004 18:28  2001.12.4720.207    98,304    Clbcatex.dll 02-Sep-2004 18:28  2001.12.4720.207    493,056   Clbcatq.dll 02-Sep-2004 18:28  2001.12.4720.207    58,368    Colbact.dll 02-Sep-2004 18:28  2001.12.4720.207    189,440   Comadmin.dll 02-Sep-2004 18:29  2001.12.4720.207    1,203,712 Comsvcs.dll 02-Sep-2004 18:29  2001.12.4720.207    566,272   Comuid.dll 02-Sep-2004 18:29  2001.12.4720.207    226,816   Es.dll 02-Sep-2004 18:29  2001.12.4720.207    444,416   Msdtcprx.dll 02-Sep-2004 18:29  2001.12.4720.207    971,776   Msdtctm.dll 02-Sep-2004 18:29  2001.12.4720.207    160,768   Msdtcuiu.dll 02-Sep-2004 18:29  2001.12.4720.207    76,288    Mtxclu.dll 02-Sep-2004 18:29  2001.12.4720.207    109,056   Mtxoci.dll

Windows Server 2003, 64-bit edition
<pre class="fixed_text"> Date        Time   Version            Size    File name        Platform

02-Sep-2004 19:35  2001.12.4720.20   641,024  Catsrv.dll       IA-64 02-Sep-2004 19:35  2001.12.4720.20 1,567,744  Catsrvut.dll     IA-64 02-Sep-2004 19:35  2001.12.4720.20   263,680  Clbcatex.dll     IA-64 02-Sep-2004 19:35  2001.12.4720.20 1,294,336  Clbcatq.dll      IA-64 02-Sep-2004 19:35  2001.12.4720.20   179,712  Colbact.dll      IA-64 02-Sep-2004 19:35  2001.12.4720.20   412,160  Comadmin.dll     IA-64 02-Sep-2004 19:35  2001.12.4720.20 3,132,416  Comsvcs.dll      IA-64 02-Sep-2004 19:35  2001.12.4720.20 1,873,408  Comuid.dll       IA-64 02-Sep-2004 19:35  2001.12.4720.20   653,824  Es.dll           IA-64 02-Sep-2004 19:35  2001.12.4720.20 1,304,576  Msdtcprx.dll     IA-64 02-Sep-2004 19:35  2001.12.4720.20 3,166,720  Msdtctm.dll      IA-64 02-Sep-2004 19:35  2001.12.4720.20   462,848  Msdtcuiu.dll     IA-64 02-Sep-2004 19:35  2001.12.4720.20   203,776  Mtxclu.dll       IA-64 02-Sep-2004 19:35  2001.12.4720.20   319,488  Mtxoci.dll       IA-64 02-Sep-2004 19:35  5.2.3790.207    3,567,104  Ole32.dll        IA-64 31-Mar-2004 04:25  5.2.3790.141       73,216  Rpcproxy.dll     IA-64 31-Mar-2004 04:25  5.2.3790.141    2,150,400  Rpcrt4.dll       IA-64 02-Sep-2004 19:35  5.2.3790.207      688,640  Rpcss.dll        IA-64 02-Sep-2004 19:29  2001.12.4720.20   263,680  Wcatsrv.dll      x86 02-Sep-2004 19:29  2001.12.4720.20   587,264  Wcatsrvut.dll    x86 02-Sep-2004 19:29  2001.12.4720.20    98,304  Wclbcatex.dll    x86 02-Sep-2004 19:29  2001.12.4720.20   493,056  Wclbcatq.dll     x86 02-Sep-2004 19:29  2001.12.4720.20    58,368  Wcolbact.dll     x86 02-Sep-2004 19:29  2001.12.4720.20   189,440  Wcomadmin.dll    x86 02-Sep-2004 19:29  2001.12.4720.20 1,203,712  Wcomsvcs.dll     x86 02-Sep-2004 19:29  2001.12.4720.20   226,816  Wes.dll          x86 02-Sep-2004 19:29  2001.12.4720.20   444,416  Wmsdtcprx.dll    x86 02-Sep-2004 19:29  2001.12.4720.20   160,768  Wmsdtcuiu.dll    x86 02-Sep-2004 19:29  2001.12.4720.20    76,288  Wmtxclu.dll      x86 02-Sep-2004 19:29  2001.12.4720.20   109,056  Wmtxoci.dll      x86 02-Sep-2004 19:29  5.2.3790.207    1,189,376  Wole32.dll       x86 31-Mar-2004 04:26  5.2.3790.141       26,112  Wrpcproxy.dll    x86 31-Mar-2004 04:26  5.2.3790.141      544,256  Wrpcrt4.dll      x86

<div class="references_section">