DescriptionAzure DevOps build task to modify the BTDF Project file (*.btdfproj) that creates the MSI. This will take the preferred version number source and update the BTDF Project file ProductVersion, optionally the ProjectVersion and generates a new GUID for the ProductId Version number source can be chosen from the following :
This plugin is heavliy based on the BTDF Project Updater, rewritten in Typescript with the additional option to update the ProjectVersion tag to prevent overwriting start menu options when opting for a side by side upgrade stragey. WhyMSI packages have a limit of Major.Minor.Path, but with Sematic Version and GitVersion version numbers like "1.2.3-ci4" or "1.2.3+4" can be generated and using the CombinePatchBuildNumbers option, this plugin will convert these formats to Major.Minor.<2 Digit Patch><3 digit Build>. For Example :
Why the padding of zeros?MSI Patch number has a limitiation value of 65,535, which is 5 characters long. For simplicity, this value is split into 2 and 3 digits representing a 2 digit patch number (max 65) and a 3 digit build number (max 999 except for when the build number is 65 where the limit is 535). This should be well within range for most BizTalk projects before a minor increase is required. ConsiderationsThe Git version capture is taken from the source project and as such has not been tested and should be considered experimental, but any bugs or pull requests can be raised for investigation at the github project here |