BizTalk Server - Determine Version and Edition (en-US)

BizTalk Server - Determine Version and Edition (en-US)

 

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.



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

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:


See Also

Other languages

This article is also available in the following languages

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.

Page 1 of 1 (2 items)