I suggest you ...

The transaction manager has disabled its support for remote/network transactions

I have installed a totally clean Umbraco 4.0.2.1 with nothing in it. Not even Runway.

Then I wanted to try out the uCommerce Beta 2. But the installer failed, with this error message:

Server Error in '/' Application.
The transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D024)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: The transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D024)

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[COMException (0x8004d024): The transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D024)]
System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim) +0
System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) +384

[TransactionManagerCommunicationException: Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool.]
System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException) +317226
System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) +259880
System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx) +209
System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx) +339
System.Transactions.EnlistableStates.Promote(InternalTransaction tx) +21
System.Transactions.Transaction.Promote() +60
System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction) +71
System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) +309
System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts) +45
System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) +630
System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction) +45
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1466
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +84
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +1645767
System.Data.SqlClient.SqlConnection.Open() +258
UCommerce.Installer.DbInstaller.GetSchemaVersion() +168
UCommerce.Installer.DbInstaller.<InstallDatabase>b__1(Migration m) +38
System.Linq.WhereListIterator`1.MoveNext() +288
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +548
System.Linq.<GetEnumerator>d__0.MoveNext() +164
UCommerce.Installer.DbInstaller.InstallDatabase() +517
UCommerce.Web.UI.Umbraco.UCommerce.Installer.InstallDb(XDocument umbracoConfig) +93
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +42
System.Web.UI.Control.OnLoad(EventArgs e) +132
System.Web.UI.Control.LoadRecursive() +66
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Control.LoadRecursive() +191
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428

Version Information: Microsoft .NET Framework Version:2.0.50727.3074; ASP.NET Version:2.0.50727.3601

I am running Windows Server 2008, and my database is placed on a server running Windows Server 2003. And there are no connection problems between the two servers.

I don't know how to get around this...

3 votes
Vote
Sign in
(thinking…)
Sign in with: Facebook Google
Signed in as (Sign out)
You have left! (?) (thinking…)
Kim Andersen shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

2 comments

Sign in
(thinking…)
Sign in with: Facebook Google
Signed in as (Sign out)
Submitting...
  • AdminSupport (Support, uCommerce) commented  ·   ·  Flag as inappropriate

    We're aware of the issue. The transaction support in .NET will escalate transactions to a distributed one, which requires Microsoft Distributed Transaction Coordinator to be enabled. We'll remove the TransactionScope in the next release. In the meantime you can follow these steps to get it working:

    First verify the "Distribute Transaction Coordinator" Service is
    running on both database server computer and client computers
    1. Go to "Administrative Tools > Services"
    2. Turn on the "Distribute Transaction Coordinator" Service if it is not running

    If it is running and client application is not on the same computer as
    the database server, on the computer running database server
    1. Go to "Administrative Tools > Component Services"
    2. On the left navigation tree, go to "Component Services > Computers
    > My Computer" (you may need to double click and wait as some nodes
    need time to expand)
    3. Right click on "My Computer", select "Properties"
    4. Select "MSDTC" tab
    5. Click "Security Configuration"
    6. Make sure you check "Network DTC Access", "Allow Remote Client",
    "Allow Inbound/Outbound", "Enable TIP" (Some option may not be
    necessary, have a try to get your configuration)
    7. The service will restart
    8. BUT YOU MAY NEED TO REBOOT YOUR SERVER IF IT STILL DOESN'T WORK
    (This is the thing drove me crazy before)

    On your client computer use the same above procedure to open the
    "Security Configuration" setting, make sure you check "Network DTC
    Access", "Allow Inbound/Outbound" option, restart service and computer
    if necessary.

    On you SQL server service manager, click "Service" dropdown, select
    "Distribute Transaction Coordinator", it should be also running on
    your server computer.

    A reboot might be needed as well.

    From http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/7172223f-acbe-4472-8cdf-feec80fd2e64

Feedback and Knowledge Base