| Programming | Software Engineering | Web Design | Database | Operating Systems

XP SP2 and Transactions

Florin Lazar
Keywords: Windows XP SP2,Transactions
From: http://blogs.msdn.com/florinlazar/archive/2004/06/18/159127.aspx

The preview (RC2) of Windows XP Service Pack 2 is available for download at http://www.microsoft.com/technet/prodtechnol/winxppro/sp2preview.mspx

The general info about it can be found at http://msdn.microsoft.com/security/productinfo/XPSP2/default.aspx and http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2chngs.mspx More info about the changes in MSDTC is also available at http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2otech.mspx#EBAA

 

In this post I will cover what changes are introduced in this SP for distributed transactions, what is the impact on your applications and how can you re-enable your scenarios.

 

When you install XP SP2, all network MSDTC transactions will be disabled, even if network transactions had been previously enabled. This means that if you are using COM+ or Enterprise Services (or simple OleTx clients and resource managers) to flow transactions from or into the box, you will need to follow the steps defined below to re-enable your scenarios.

 

The first step is to enable network transactions in the Security Configuration dialog for MSDTC. To do this, open Control Panel\Administrative Tools\Component Services. Then select Component Services\Computer\My Computer, right-click and choose Properties. On the MSDTC tab, press "Security Configuration..." button and then select what you need. You will notice that the old checkbox “Network Transactions” has been replaced with a new group of settings named “Transaction Manager Communication”. This group contains two new checkboxes and 3 radio buttons, defined below.

 

Allow Inbound” when enabled will allow a remote computer to flow transactions to the local computer; this is typically needed on the box hosting the MSDTC for a resource manager like Microsoft SQL Server. When enabled, “Allow Outbound” will allow the local computer to flow transactions to a remote computer; this is typically needed on the “client” box, where the transaction is initiated.

 

When “Mutual Authentication Required” is selected, the local MSDTC (proxy or service) will communicate with a remote MSDTC service using only encrypted messages and mutual authentication (Windows Domain authentication). If a secure communication cannot be established with the remote system, the communication will be denied. “Incoming Caller Authentication Required” means that if mutual authentication cannot be established, but the incoming caller can be authenticated, then the communication will be allowed. Currently only Windows 2003 Server and XP SP2 support the first two options. “No Authentication Required” means that the MSDTC communication on the network can fallback to a non authenticated and non encrypted communication if the attempts to start a secure communication will fail. The “no authentication required” option is for compat communications with previous OSes (W2K, XP RTM and XP SP1); this setting needs also to be used when the computers involved are located in two untrusted Windows domains or in a Windows workgroup. If your XP SP2 box is talking to a Windows 2003 system that has disabled it’s RPC security for MSDTC (using TurnOffRpcSecurity registry key - see http://www.yeyan.cn/Database/DistributedTransactionsWindowsServer2003.aspx for more info), then you will need to use this third option on the XP SP2 box to enable network transactions between the two systems.

 

The second step in enabling network transactions is related to the firewall. By default, after installing XP SP2, the Windows Firewall will be on. To enable network transactions through the firewall, you will need to add the msdtc.exe to the exception list of the firewall on all the machines involved in the transactions. You can do this using the UI in Control Panel\Windows Firewall or you can use this command: “netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable”.

 

Another configuration setting that you need to be aware (although I consider it to be an uncommon scenario) is RestrictRemoteClients registry key. If the value of this key is set to 2 (RPC_RESTRICT_REMOTE_CLIENT_HIGH) then MSDTC network transactions will not be able to work properly. MSDTC supports only RPC_RESTRICT_REMOTE_CLIENT_NONE (0) and RPC_RESTRICT_REMOTE_CLIENT_DEFAULT (1) values. See http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2netwk.mspx#XSLTsection128121120120 for more info on RestrictRemoteClients.

 

I recommend and I encourage you to give a try to this release candidate for XP SP2 on your test systems and send your feedback to the XP SP2 preview newsgroups: http://communities.microsoft.com/newsgroups/default.asp?icp=xpsp2&slcid=us . Thanks!


Related Article
  • Propagating MSDTC transactions
  • Don Box about System.Transactions
  • Distributed Transactions in Workgroups (Windows Server 2003)
  • Using distributed transactions in .Net 1.x without deriving from ServicedComponent

  • Comment
    Ritesh Shah Post At: 2006-8-4 19:22:12
    I have enabled the Network DTC Access and XA Transactions. Firewall is disabled, still my COM+ components fail to initiate. My machine hosts an Website (on Win XP), uses COM+ components and SQL Server 2005. If I try to use insert, update or delete functionality, it raises Error HRESULT E_FAIL has been returned from a call to a COM component
    y6GEFxsZ1l Post At: 2007-1-30 1:58:40
    Hi! Very nice site! Thanks you very much! 9LiDSPHjCSXeZ
    frpkxioxmj Post At: 2007-6-23 12:35:13
    Hello! Good Site! Thanks you! lqmleomkmucdsf
    kttozelsak Post At: 2007-6-27 18:47:58
    Thanks for this site! [url=http://qea.com/resources/phentermine_online.html]phentermine online[/url]
    Preetha Post At: 2007-9-21 2:15:11
    hi Ritesh,
    Same problem I am also facing
    now
    did you fixed that issue
    if so can you tell me what might be the reason for that.?
    Thanks a lot in advance
    Add Your Comment:
    Your Name:      
    Your Comment:
    Note: After you post comment,please refresh the browser to show you comment.
    Search In YeYan.CN:
     

    Home | Privacy Policy | Copyright Policy | Contact Us | Site Map
    Copyright © 2006 YeYan.CN, All Rights Reserved.