BizTalk 2013 solution

Jul 8, 2015 at 3:50 AM
Hi - I've found this useful in a BizTalk 2006 environment but it didn't work in BizTalk 2013 because (I think) the line 38 in ParameterHelper.cs

compatibility = version.CheckCompatibility(serverName, databaseName, "Management DB", "3.6.1.0")

When I ran in debugger it returned a combination value of "BtsDbFullyCompatible | BtsDbPartiallyCompatible", which is not ok (i.e. expected only 1 of those 2 values at a time).

I changed that line to BizTalk 2013 version

compatibility = version.CheckCompatibility(serverName, databaseName, "Management DB", "3.11.1.0");

and whilst I haven't done a lot of testing (only on my Windows 2012 R2 server) it seems to work ok (except for GetInstanceCount which returns both a number and an error, but I don't use that).

If I was to create a version for redistribution I'm not sure how best to implement the change. For example:
  • different version for each version of BizTalk (i.e. hardcoded as current)
  • try each known version (but what about unknow future versions?)
  • add version as a command parameter e.g. -version:3.11.1.0
  • add version as a app.config item e.g. <version=3.11.1.0> <!-- BizTalk 2013 -->
Any comments?