Deploying Multiple Application Versions Side-by-Side

Parent Previous Next

Sometimes one must deploy multiple versions of the same BizTalk application to the same BizTalk server.  To make this easier, the Deployment Framework for BizTalk can auto-append a version number to the BizTalk application name, SSO affiliate app name, port names, MSI product name and install path to avoid conflicts.


There are three important version numbers:


  1. The assembly version numbers
  2. The "project version" number
  3. The "product version" number


BizTalk will look at the assembly version numbers to decide if an assembly has changed, but it will only look at Major.Minor and ignore the remainder of the version number [please verify].  The assembly version numbers must be deliberately changed in order to deploy SxS to the GAC since the strong names include the version numbers.


The deployment project file contains a property named "ProjectVersion".  This is the version number that is used in the install directory structure, BizTalk application name, SSO app name, etc.  This version should generally match the Major.Minor version of your assemblies.


The project file also contains a property named "ProductVersion".  This version number represents the specific build version of the code.  For instance, you may be working on BTApp 1.1 (ProjectVersion), but you are creating an installer for the specific build number BTApp 1.1.2358.2 (ProductVersion).  ProductVersion is used in the generated MSI filename and displays in Add/Remove Programs in the "support information" dialog.  The ProductVersion is a good choice to receive your automated build's version number.


Another way to look at these properties is that ProductVersion will change often and perhaps automatically (maybe on every rebuild), but ProjectVersion will change infrequently.


To enable side-by-side deployment features for your application, edit your Deployment Framework for BizTalk project file (.btdfproj) as follows:


1. Set the EnableSideBySide property to true

The property may be included in any PropertyGroup, but is commonly placed in the first PropertyGroup in the project file.


<PropertyGroup>

 ...

 <EnableSideBySide>true</EnableSideBySide>

 ...

</PropertyGroup>


2. Update the ProjectVersion property value

Set the value of the ProjectVersion property to the same Major.Minor version of your BizTalk assemblies.


<PropertyGroup>

 ...

 <ProjectVersion>1.0</ProjectVersion>

 ...

</PropertyGroup>


3. If you do not want the version number added to port names, then set the DisableAutomaticPortNameVersioning to true

The property may be included in any PropertyGroup, but is commonly placed in the first PropertyGroup in the project file.


<PropertyGroup>

 ...

 <DisableAutomaticPortNameVersioning>true</DisableAutomaticPortNameVersioning>

 ...

</PropertyGroup>


Created with the Personal Edition of HelpNDoc: Free PDF documentation generator