Upgrading a Deployed Application

Parent Previous Next

Recall that the Deployment Framework for BizTalk uses a two-step process to deploy a BizTalk application to a server: 1) install the MSI, then 2) deploy the application.


The application upgrade process is (in order):

  1. Undeploy the existing version of the application (scripted or through the Start menu shortcut)
  2. Install the new version of the application (MSI installer)
  3. Deploy the new version of the application (scripted, through the Start menu shortcut or by checking the box on the last page of the install wizard)


If other BizTalk applications are dependent on the application via app-to-app references, then the other applications must be undeployed first.


The Deployment Framework allows a BizTalk application's files (upgrade step #2) to be quickly upgraded by simply installing the new version over the old version.  The MSI installer will detect the old version and silently uninstall it, then install the new version.


NOTE: You MUST UNDEPLOY the old version of the application before installing the new MSI.  The MSI will upgrade the application files, but the old application must be undeployed first, and the new application must be deployed when the installer is finished.  If you forget this step, you must reinstall the old version's MSI and complete the undeploy process.


Enabling Automatic Upgrade in the MSI

In order for Windows Installer to perform an automatic upgrade of your application, you must do two things before (or while) building the new version of your application's MSI:


  1. Replace the ProductId GUID in the .btdfproj with a new GUID
  2. Increment the ProductVersion in the .btdfproj.


Windows Installer only looks at the first three digits of the version number, so you must increment one of the first three digits: 1.1.0.0 to 1.1.1.0 will work, but 1.1.0.1 to 1.1.0.2 will not work.  Do not change the ProductUpgradeCode, as it must be consistent across all versions of the MSI.


When using an automated build system, it's common to override the explicit property values in the .btdfproj by passing new values in from the build system via the MSBuild command line (like /p:ProductVersion=1.0.5).



Created with the Personal Edition of HelpNDoc: Free Kindle producer