INF: DTC Setup Changes Starting with SQL Server 6.5 SP5 and SQL Server 7.0

Article translations Article translations
Article ID: 230258 - View products that this article applies to.
This article was previously published under Q230258
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all

On This Page

Summary

The Microsoft Distributed Transaction Coordinator (DTC) Setup program has been changed for SQL Server 6.5 Service Pack 5 and higher, including SQL Server 7.0.

With SQL Server 6.5 Service Pack 4 (SP4) releases and earlier, SQL Server Setup always installs Microsoft DTC 1.0 in the MSSQL\BINN directory, regardless of the current version of Microsoft DTC running on the system. No version checks are made before the DTC install, so any existing Microsoft DTC files are overwritten. Additionally, the setup of Service Pack 4 and earlier executes Msdtc.exe with the -Install option to initialize Microsoft DTC. If the system already has a newer version of Microsoft DTC installed the installation of SQL Server 6.5 Service Pack 4 and earlier may place the Microsoft DTC in an inconsistent state. For example, installing SQL Server 6.5 SP4 or lower on a system that currently has Microsoft Transaction Server 2.0 without installing the Windows NT Option Pack causes problems due to inconsistencies between the Microsoft DTC versions.

For additional information, please see the following article in the Microsoft Knowledge Base:
192680 PRB: Upgrading SQL Server 6.5 to the MTS 2.0 DTC Release
SQL Server 6.5 Service Pack 5 and higher and SQL Server 7.0 have been designed to correct this problem.

More information

The setup of SQL Server 6.5 Service Pack 5 (SP5) and higher and SQL Server 7.0 include Microsoft DTC 3.0 components and the Microsoft DTC Setup program. Unlike the previous SQL Server releases, SQL Server 6.5 SP5 and higher and SQL Server 7.0 are version sensitive, ensuring that the latest version of Microsoft DTC Setup is on disk. These versions of SQL setup will first check to see if a newer version of the file Dtcsetup.exe exists on the system. If a newer version does exist on the system, SQL Setup will not copy the Microsoft DTC files to disk and will not run Microsoft DTC setup. However, if no newer version of the file is found, SQL Setup will copy the Microsoft DTC Setup program to the system directory (WINNT\SYSTEM32 for Windows NT or Windows 2000, Windows for Windows 95 or Windows 98) instead of the MSSQL\BINN directory. It then deletes the old version of the Microsoft DTC Setup program from the MSSQL\BINN directory and runs the new Microsoft DTC Setup. Note however, that a current bug in SQL Server 6.5 prevents this process from occurring correctly on Windows 2000 platforms.

Microsoft DTC Setup is Platform Specific

  • Windows NT 3.51

    SQL Server 6.5 Service Pack 5 and higher do not install Microsoft DTC due to the fact that Windows NT 4.0 is required in order to run the current version of DTC. SQL Server 7.0 is not supported on Windows NT 3.51, hence SQL Setup for 7.0 cannot be run on this platform.
  • Windows NT 4.0

    SQL Server 6.5 Service Pack 5 and higher and SQL Server 7.0 install Microsoft DTC as described at the beginning of the "More Information" section.
  • Windows 2000

    SQL Server 6.5 Service Pack 5 and higher was designed to install Microsoft DTC, as described at the beginning of the "More Information" section. However due to a current bug in SQL Server 6.5, when you install SQL Server Service Pack 5a on a Windows 2000 platform, the service pack install removes the Windows 2000 version of the service Distributed Transaction Coordinator (DTC) and replaces it with the MSDTC service from the SQL Server service pack. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
    249310 BUG: Install of SQL Server 6.5 on Windows 2000 Modifies DTC Service

    SQL Server 7.0 setup first checks to see if the following registry key exists before installing Microsoft DTC on Windows 2000.
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSD


    If the key is not found, SQL 7.0 Setup displays a dialog box warning the user that Microsoft DTC is not installed and that the user should install Microsoft DTC using the Windows NT Setup after SQL Server 7.0 has been installed. If the key is present, SQL setup will install Microsoft DTC as described above.
  • Windows 95 or Windows 98

    SQL Server 6.5 SP5 and higher and SQL 7.0 will install MSDTC as described at the beginning of the MORE INFORMATION section. Note that only client utilities for SQL 6.5 can be installed on a Windows 95 or Windows 98 computer.
In addition, the new SQL Server Setup program may create any of the following Registry keys to control Microsoft DTC Setup:
  • HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\Setup\Silent

    If this key is present, Microsoft DTC Setup is silent. The default installation is a non-Silent install, which will display dialogs for retryable conditions. If the Silent install option is used, the setup will exit with an exit code whenever an error occurs, regardless of whether the error is retryable. Note that this key does not suppress the file copy dialog.
  • HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\Setup\ClientOnly

    This key will be created if a SQL client-only install is requested. If the key is present, the Microsoft DTC does a client only setup. SQL Server will delete this key when a full Microsoft DTC install is requested and the key is present as a result of an earlier Microsoft DTC installation.
SQL Server performs Microsoft DTC Setup by executing the Dtcsetup.exe program located in WINNT\SYSTEM32 directory on Windows NT, or the Windows system directory on Windows 95 or Windows 98. When the Microsoft DTC installation is completed, a status code will be logged to the following registry key:

HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\Setup\ExitStatus


This key will contain the following values:

   
    Name                            Description
    ---------------------------------------------------------------
    
    CompletionComment (REG_SZ)      An error description string.
   
    ErrorCode (REG_DWORD)           0 = Success
      
                                    1 = No compatible Resource Groups were 
                                        found. This is a Retryable error.

                                    2 = Fresh Install on cluster but all 
                                        Virtual Servers are owned by the 
                                        other node in the cluster. 
                                        Microsoft DTC setup requires that 
                                        at least one Microsoft DTC 
                                        compatible resource group be owned 
                                        by the node on which DTC setup is 
                                        run if and only if that node 
                                        happens to be the first node in 
                                        the cluster on which Microsoft DTC 
                                        setup is run. (Retryable)
   
                                    3 = Master Node Down - The node in the 
                                        cluster on which Microsoft DTC 
                                        setup was run first is down. This 
                                        node must be running in order for 
                                        Microsoft DTC setup to succeed. 
                                        (Retryable)
    
                                    4 = Miscellaneous (Non Retryable)


    ExitCode (REG_DWORD)            0 = Success
   
                                    1 = Non Retryable Failure
   
                                    2 = Installation Failed with Retryable 
                                        Error.

                                    3 = Installation Failed.
   

   Source (REG_DWORD)               Name of the Microsoft DTC Setup phase 
                                    that generated the Exit Status.


				
For Clustering Setup, after the Microsoft DTC setup is successful on the local computer, SQL Server Setup then loops through all the other nodes in the cluster and runs Microsoft DTC setup remotely. If any of them fail with a retryable error, SQL Server Setup will not proceed with the Microsoft DTC installation on the other nodes unless the retryable error is dealt with. Note that LocalSystem account is not valid for remote install. Microsoft DTC Setup requires you to run under context that has permissions on the first node.

REFERENCES

For more information about Microsoft DTC Setup, please refer to the following articles in the Microsoft Knowledge Base:
219264 INF: Order of Installation for SQL 7.0 Clustering Setup

197176 INF: Readme.txt for SQL Server 6.5 Service Pack 5a

197218 INF: Stand Alone Distributed Transaction Coordinator Setup

Properties

Article ID: 230258 - Last Review: October 26, 2013 - Revision: 4.0
Applies to
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Keywords: 
kbnosurvey kbarchive kbinfo KB230258

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com