Adding components as resources

Topics: Bindings File, Settings Management and SSO
Sep 23, 2011 at 3:38 PM

Dear BTDF Gods :)

Assuming i'm doing something wrong i hope someone can help me out and give me insight in how it should work;

I am setting up a project with multiple target applications:

Common / Events / Sales.Registered / Sales.Update / etc.

Each has its own deployment project, the common and events each have their own components (used in the orchestration) which i therefore want to have added to their respected application as a resource, so i've set the property: <IncludeCompsAndVDirsAsResources>True</IncludeCompsAndVDirsAsResources>.

This also deploys the SSOSettingsReader, which is fine for the Common but not for the Events as it leads to an error since it is already associated with the Common application. I've tried settings the ItemGroup <Components Exclude="SSOSettingsReader.dll"> but that didn't seem to help.

So, how can i solve this?


nb: out of curiousity, is it possible to use a single BTDF solution to deploy to multiple applications (this allows me to create a BTDF for development purposes with a single config and dedicated BTDF projects for actual release to the (D)TAP environment).



Sep 29, 2011 at 10:22 PM


First question is do you really need to add the components as resources?  The only reason to use that option is if you must export your app to an MSI from BizTalk Admin.  There is normally no reason to do that when you're using the Deployment Framework because we create an MSI that has no relation to the one created by the BizTalk tools.  I would recommend disabling that option and using the BTDF-generated MSI.  Thoughts?  If you do still have to have it enabled, then this is essentially a known issue and currently doesn't have a good workaround.

It is not possible to create a single BTDF project to deploy to multiple BizTalk applications.  However, the problem you are describing is easily solvable in most cases with a single deployment project.  You can add a setting to the SettingsFileGenerator.xml Excel spreadsheet for Environment, add that setting name to the PropsFromEnvSettings list in your .btdfproj, and then test against that property in Condition attributes on ItemGroups and PropertyGroups (or anywhere else you need it).  With this approach you can almost always use a single .btdfproj to cover all environments and stick with a single MSI for everything.