BizTalk 2013 solution

Jul 8, 2015 at 4: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", "")

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", "");

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:
  • add version as a app.config item e.g. <version=> <!-- BizTalk 2013 -->
Any comments?