Ignore ENV_SETTINGS?

Topics: Bindings File, Settings Management and SSO, ESB Toolkit Integration
Feb 8, 2011 at 11:47 PM
Edited Feb 8, 2011 at 11:55 PM

In our scenario, we collect the credential data in the installwizard.xml, merge them withbinding file, this works good.

My question is, can I ingore the ENV_SETTINGS and remove it from installwizard and assign it staticly?

[Edit] I meant still using the msi to deploy but not promoting a dialog asking for ENV_SETTINGS and somehow set its value

 

Thanks!

Coordinator
Feb 9, 2011 at 4:39 AM

Sure.  Try this in your .btdfproj:

<PropertyGroup Condition="'$(Configuration)' == 'Server'">
  <SettingsFilePath>$(MSBuildProjectDirectory)\EnvironmentSettings\Exported_Settings.xml</SettingsFilePath>
</PropertyGroup>

On a server deploy it should use this fixed path.  Set the path to whatever you need, a relative or network path.

Thanks,
Tom

Feb 9, 2011 at 1:11 PM

Thanks Tom for the quick reply. SorryI am kinda new bie to this framework, I have these questions

  • what is a server deployment? I see buildreleasemsi and builddebugmsi which I understand who they are, but what is server deployment used for and how can I build a server deployment?
  • Is the exported_settings.xml generated by the environment settings manager? I am confused of using this tool, I can understand populate the Excel spreadsheet and replace my portbindingmaster with macros, but it does not work. How does this exported_settings.xml generated? I see some documentation of ctr+w to produce the xmls, but excel exits itself when I tried to do so. Or is it simply I simply stuff my settings in the spreadsheet and the deployment framework will try to read it?
  • Since the envionment settings manager never works for me, I figure to use the installwizard.xml to collect enviornment details and merge with my binding files and make use of the portbindingmaster.xml. Now the question is how to skip the dialog asking me the env_settings file since I am sure I will be using the one binding file which embeded with macros to be replaced, I tried to set its value in command line with msbuild /p:env_settings=porbindingmaster.xml, but I got errors in deployment

Sorry for the long questions, I really appreciate your help please

 

 

 

 

 

Coordinator
Feb 9, 2011 at 8:38 PM

Server deployment is packaging your .btdfproj, Deployment Framework runtime and all supporting files into an MSI that you install on your BizTalk servers.  That's what you do with the Build Server MSI command in Visual Studio on the toolbar or Deployment Framework for BizTalk menu, or using those command-line helper cmd files.  The MSI ends up in <deploymentproject>\bin\release or \debug.

The EnvironmentSettings\SettingsFileGenerator.xml is an Excel spreadsheet that can capture one or more named settings, and corresponding values for as many environments as you need.  When your deployment script runs, it exports an XML file for each environment (you cannot do that from within Excel).  It also has to know which of those XML files to use during the deployment.  That's why it's in the wizard (driven by InstallWizard.xml), so that you can prompt the user to pick the right XML file while deploying on the server.  During deployment from Visual Studio it defaults to local_settings.xml or Exported_DevSettings.xml, whichever name you have specified in the leftmost environment column in the spreadsheet.

How do you know if the spreadsheet is being used?  When you run a deployment, one or more other XML files should appear next to SettingsFileGenerator.xml (and you don't store those in source control because they are generated).

This is much easier than what you are trying to do as a workaround.  Have you looked at the included sample BasicMasterBindings?  It demonstrates using the spreadsheet to automatically create environment-specific binding files from a master bindings file.

Thanks,
Tom