This project has moved and is read-only. For the latest updates, please go here.

Support for a shared EnvironmentSettings file

Topics: Bindings File, Settings Management and SSO
Jun 9, 2010 at 4:29 PM

Is there any way in the .BTDFPROJ file to specify the location of the SettingsFileGenerator.xml file, or does it have to be a hardcoded name, relative to the current BTDFPROJ file?

We are creating one system,I but with 7 applications.  would rather maintain one EnvironmentSettings file for all 7 applications. One app uses web service, several use SQL, and one uses MSMQ, and several use the same shared CommonError disk path.  Rather than having totally separate SettingsFileGenerator.xml files for each app, it makes sense to have one common one.

Today, I'm going to just write a .cmd file to sync the master one to the other six directories.

If this is not currently possible, can you move this to a feature request.


Neal Walters


Jun 9, 2010 at 9:00 PM

For development you can override the location of the settings XML file by including the property <DeveloperPreProcessSettings>, something like <DeveloperPreProcessSettings>..\..\OtherSettingsFilePath\Environment_settings.xml</DeveloperPreProcessSettings>.

As for server deployments, the wizard just gives you a browse dialog, so you can pick a settings XML file from anywhere you please.

Does that help?


Jun 15, 2010 at 6:51 PM
For my case, I'm having few sub-application running under a single BizTalk application, example 'BizApp1'. But, may I know whether there's method for me to have multiple binding files for BizApp1 instead of just PortBindings.xml or PortBindingMaster.xml because each of my sub-application has their own set of bindings like bind1.xml, bind2.xml, bind3.xml and etc. I believe to create bind*.xml for each development,testing,production does not make sense. I saw an example like below, but can someone give a clue how this works: <property name="portbinding" value="bind1.xml,bind2.xmlbind3.xml"> Thanks
Jun 15, 2010 at 7:31 PM

The <PortBinding> and <PortBindingMaster> properties support a single file name.  If you need to automate importing multiple binding files, while you would not have all of the binding-related behaviors of the Framework, you could manually add a call to btstask.exe ImportBindings in a custom target named CustomDeployTarget.  You can also have additional binding files XML pre-processed by creating an ItemGroup with FilesToXmlPreprocess elements and pointing the Include="bindingPath" attribute to your additional binding files.  That would merge in any template settings from the settings spreadsheet.

Does that give you some ideas on how to proceed?  I am guessing a bit from the limited info in your post.


Oct 8, 2010 at 6:27 PM


I believe that the location of the SettingsFileGenerator.xml file is hardcoded. Here is the code from BizTalkDeploymentFramework.targets:

    <Exec Command="&quot;$(DeployTools)\EnvironmentSettingsExporter.exe&quot; &quot;$(MSBuildProjectDirectory)\EnvironmentSettings\SettingsFileGenerator.xml&quot; &quot;$(MSBuildProjectDirectory)\EnvironmentSettings&quot;"
          Condition="Exists('$(MSBuildProjectDirectory)\EnvironmentSettings\SettingsFileGenerator.xml')" />
What can be configured and what you can browse to from the setup wizard is the XML files that have been generated from the SettingsFileGenerator.xml file.
I wish there was a way to specify where the SettingsFileGenerator.xml file is located.
Thank you,
Oct 8, 2010 at 6:41 PM

Vlad, that's correct.  I have no idea what specific scenario you have in mind, but if you need to deal with multiple settings spreadsheets there is a new tool available to help.  Giulio Van posted SettingsMerger here on CodePlex at  It can take in several Excel settings spreadsheets and merge them together into one.  Perhaps that could help minimize the issue of having the location of the file fixed within a project.


Apr 20, 2012 at 1:43 PM

Does anyone know what happened to the Settingsmerger? It seems to be removed. 

Apr 20, 2012 at 2:58 PM

It merged into the Environment Settings Manager toolset, except we never pulled together a new release.  You can download the latest source code and try it out.


Jan 18, 2016 at 5:07 PM
Did the "Settings Merger" functionality ever get integrated into the main "Environment Settings Manager" toolset?
We would like to have a shared Environments Settings spread sheet to hold common settings (hosts, tracking settings, etc) so we don't have to repeat this in all our application Environment Settings. These would only need to hold receive location and send port settings.
Is this possible?
Sep 1 at 4:03 PM
Another approach we can lift from the BizTalk Factory is described here using multiple settings spread sheets rather than merging them: