BizTalk Server - Determine Version and Edition

BizTalk Server - Determine Version and Edition

 

Introduction

In a BizTalk Server environment where you are unaware of the exact version and/or edition you have a couple of options to find out what the exact version and edition is. The options are opening the registry and look in a certain key hive, querying the BizTalk Management database Version table or through using a PowerShell script.

Registry

In the following registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0 you can find version and edition.

Figure 1. Registry editor screenshot (click to enlarge).


Table 1: Product Names and Version Numbers
Product Name
Product Version Key
 BizTalk Server 2004
 3.0.4902.0
 BizTalk Server 2004 SP1  3.0.6070.0
 BizTalk Server 2004 SP2
 3.0.7405.0
 BizTalk Server 2006  3.5.1602.0
 BizTalk Server 2006 R2
 3.6.1404.0
 BizTalk Server 2006 R2 SP1
 3.6.1404.0
 BizTalk Server 2009  3.8.368.0
 BizTalk Server 2010
 3.9.469.0
 BizTalk Server 2013 (RTM)  3.10.229.0

There are four editions: Enterprise, Standard, Developer, and Branch.

Database Query

BizTalk version can be determined through executing the query displayed below:

USE [BizTalkMgmtDb]           
             
SELECT DatabaseMajor,DatabaseMinor,ProductBuildNumber, ProductRevision
FROM dbo.BizTalkDBVersion;

Result of this query will be one of the version numbers given in table 1.
In this query the BizTalkMgmtDb database is used, but every BizTalk database has the table BizTalkDbVersion.

PowerShell

The following PowerShell script from BizTalk MVP Randal van Splunteren can help you determine the BizTalk Version:

# Initialization of helper variables
# BizTalk version numbers
$versionBTS2004 = "3.0.4902.0"
$versionBTS2004SP1 = "3.0.6070.0"
$versionBTS2004SP2 = "3.0.7405.0"
$versionBTS2006 = "3.5.1602.0"
$versionBTS2006R2 = "3.6.1404.0"
$versionBTS2009 = "3.8.368.0"
$versionBTS2010 = "3.9.469.0"
# BizTalk version description
$descriptionBTS2004 = "BizTalk Server 2004"
$descriptionBTS2004SP1 = "BizTalk Server 2004 with service pack 1"
$descriptionBTS2004SP2 = "BizTalk Server 2004 with service pack 2"
$descriptionBTS2006 = "BizTalk Server 2006"
$descriptionBTS2006R2 = "BizTalk Server 2006 R2"
$descriptionBTS2006R2SP1 = "BizTalk Server 2006 R2 with service pack 1"
$descriptionBTS2009 = "BizTalk Server 2009"
$descriptionBTS2010 = "BizTalk Server 2010"
# Registry paths
$bizTalkRegistryPath = "HKLM:\SOFTWARE\Microsoft\BizTalk Server"
$biztalk2006SP1UninstallRegistryPath = 'HKLM:\SOFTWARE\Microsoft\Windows' `
    + '\CurrentVersion\Uninstall' `
    + '\Microsoft Biztalk Server 2006 R2 Service Pack 1 `[KB 974563`]'
$installedVersion = $null
# Check if BizTalk is installed:
if ((Test-Path $bizTalkRegistryPath) -eq $true)
{
    # Set location to BizTalk registry key
    Set-Location $bizTalkRegistryPath
    $key = Get-ChildItem
    # Get version number
    $productVersion = $key.GetValue("ProductVersion")
    switch ($productVersion)
    {
        $versionBTS2004 { $installedVersion = $descriptionBTS2004 }
        $versionBTS2004SP1 { $installedVersion = $descriptionBTS2004SP1 }
        $versionBTS2004SP2 { $installedVersion = $descriptionBTS2004SP2 }
        $versionBTS2006 { $installedVersion = $versionBTS2006 }
        $versionBTS2006R2
        {
            if ((Test-Path $biztalk2006SP1UninstallRegistryPath) -eq $false)
            {
                $installedVersion = $descriptionBTS2006R2
            }
            else { $installedVersion = $descriptionBTS2006R2SP1 }
        }
        $versionBTS2009 { $installedVersion = $descriptionBTS2009 }
        $versionBTS2010 { $installedVersion = $descriptionBTS2010 }
    }
}
if ($installedVersion -eq $null)
{
        Write-Host "BizTalk Server is not installed on this machine."
        Exit
}
Write-Host "BizTalk Server installation found on this machine."
Write-Host "Product version number: $productVersion"
Write-Host "Installed version: $installedVersion"

The code can also be downloaded from script center:

Other languages

This article is also available in the following language

See Also

Read suggested related topics:

Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Nice one Steef-Jan!

  • In the SQL query the table name was fallen of the screen. Also added some text about every BizTalk database having the BizTalkDbVersion table.

  • Great job, Steef-Jan! Thank you very much. This was very helpful. =)

  • Great article