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 by 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.