Using BTDF to create installers for BizTalk applications helps make the deployment much easier, with one exception: the Port Bindings Master file must be manually generated or updated using an existing environment's binding manually. Tokenizing that file is a manual process that can be error prone. To make things easier, we've setup a tool that can take in the Environment Settings File Generator, the environment name, and an exported environment binding file.
This tool will perform a find/replace automatically using the environment information and produce a tokenized Port Binding Master file for the address, user name, and password in both send and receive ports. Because the password export from an environment will always have a null flag on the Password (vt="1"), to figure out which user and password match, the Environment Settings File Generator contents should have a USERID_ and matching ENCPW_ as the start of the variable name. When the username value matches, the found USERID's accompanying ENCPW will fill in the accompanying password and become a valid value (vt="8"). Following shows a sample binding and environment settings file that we can use to generate a port binding master:
We then run the tool providing the inputs in order: Exported Binding Path/File, Desired Output Port Binding Master Path/File, Environment Settings Path/File, Environment Name (Source). In the event that multiple matches can be made against the address, each can be indicated for applying or ignoring via a Yes/No prompt. In this example, both the server name and database name should be separately found and tokenized. In the event multiple matches can be made against the username/password combination, the first indicated for applying via the Yes/No prompt will be used (the options will loop until the break key is pressed or one is selected):
Following the run, you will note that the port binding master file gets the addresses replaced properly, along with the user and password properly being tokenized as well. I have edited the file only to make this easier to view below:
Download the tool here: Phidiax.Config.EnvironmentBindingToPortMaster.zip (32.1KB)