Multiple MSI for different artifacts

Topics: General Questions, Getting Started/Beginner
Oct 16, 2013 at 8:14 PM

I wanted to know if we can create multiple MSI files for deployment for different artifacts.

Such situations can arise if i want to make changes only in schemas and deploy only schemas using MSI created from schemas project.

In short what i mean is
Is it possible to have
Schemas - One MSI
Maps - One MSI
Orchestrations - One MSI
Business rules - One MSI

Oct 17, 2013 at 4:21 AM
You are not limited to just one Deployment Framework project folder per BizTalk solution. The Visual Studio add-in supports only one Deployment Framework project, but if you can live without the add-in functionality you are free to create one or more additional Deployment Framework projects that contain different combinations of artifacts.

That's one way to approach it. Another creative but more complex method is described here.

Oct 18, 2013 at 4:37 AM
My Requirement is :

For a particular biztalk application,
  1. Schemas, maps and orchestrations under one solution and should have a MSI for these 3 artifacts.
  2. Binding files deployment has to be done separately for this application using one more MSI.
    3.Business rules and vocabs deployment has to be separately for this application using another MSI.
So, I meant to have 3 MSI doing the deployment separately, but for a single application. I am not sure if this is possible using BTDF because each time we deploy , it checks for the existence of the application and then undeploys and then deploy the solution.

Lets say if I am deploying the (Schemas,Maps,Orchestrations) using one MSI for an application, and then if i try to deploy the binding files using another MSI for the same application, former assemblies (schemas,maps and orchestrations) will be removed from the application and will be replaced by only binding files in that application.
Oct 18, 2013 at 6:23 AM
If you're limiting those two other MSI's to binding files and to BRE, you can try adding the property SkipUndeploy set to True in those .btdfproj files. With any luck it could work. The likely trouble is that it causes ALL undeployment to be skipped, not just the application. I'm not sure that will work out well for the BRE MSI.

Beyond that, you can always customize the Deployment Framework .targets file if you really have to. All of the foundation that you need is there, but you're modifying the default execution model.

Oct 18, 2013 at 8:16 AM
Hi Tom

Thanks for your response .
But I do not see any "SkipUndeploy" property.
I am only able to see "SkipBAMUndeploy" property.
Oct 18, 2013 at 3:50 PM
You mean see it in Intellisense? It doesn't matter, just put <SkipUndeploy>true</SkipUndeploy> into an existing PropertyGroup.