Deployment Framework
The BizTalk Deployment Framework (BTDF) on codeplex makes me both pain and excitement. The pain being lack of information and the poor documentation, the excitement being the power of this tool and its extensibility. I am really struggling learning this tool and up to now I am only getting basic stuffs (i.e. not able to work on the environment settings out yet)
Another non-related note on the deployment binding, to make the password working, change “Password vt=”1″” to “Password vt=”8″”
This is a sample BTDF script I find useful in referencing
<?xml version=”1.0″ encoding=”utf-8″?>
<!–
Deployment Framework for BizTalk 5.0
Copyright (C) 2008-2010 Thomas F. Abraham and Scott Colestock
–>
<Project xmlns=”http://schemas.microsoft.com/developer/msbuild/2003″ DefaultTargets=”Deploy”>
<PropertyGroup>
<Configuration Condition=”‘$(Configuration)’ == ””>Debug</Configuration>
<Platform Condition=”‘$(Platform)’ == ””>x86</Platform>
<SchemaVersion>1.0</SchemaVersion>
<ProjectName>XXXXX.BizTalk.SomeDomain1.Shared</ProjectName>
<ProjectVersion>2.1.4</ProjectVersion>
<!– Properties related to building an MSI for server deployments –>
<ProductId>ce4acc10-477b-4358-af29-963ce15111c1</ProductId>
<ProductUpgradeCode>80dbdc36-6b36-4ab8-a5eb-8543f0ebfdb6</ProductUpgradeCode>
<ProductName>SomeDomain1.Shared for BizTalk</ProductName>
<ProductVersion>1.0.0</ProductVersion>
<Manufacturer>Deployment Framework User</Manufacturer>
<PackageDescription>SomeDomain1.Shared</PackageDescription>
<PackageComments>SomeDomain1.Shared</PackageComments>
<PortBindings>PortBindings.xml</PortBindings>
<PortBindingsMaster>PortBindingsMaster.xml</PortBindingsMaster>
<!– Set following properties to true or false to include various pieces of a BizTalk deployment. –>
<UsingMasterBindings>true</UsingMasterBindings>
<ApplyXmlEscape>true</ApplyXmlEscape>
<IncludeMessagingBindings>false</IncludeMessagingBindings>
<IncludeSchemas>true</IncludeSchemas>
<IncludeOrchestrations>true</IncludeOrchestrations>
<IncludeTransforms>true</IncludeTransforms>
<IncludeComponents>true</IncludeComponents>
<IncludeVirtualDirectories>false</IncludeVirtualDirectories>
<IncludePipelines>true</IncludePipelines>
<IncludePipelineComponents>true</IncludePipelineComponents>
<IncludeCustomFunctoids>false</IncludeCustomFunctoids>
<IncludeVocabAndRules>false</IncludeVocabAndRules>
<IncludeDeploymentTest>false</IncludeDeploymentTest>
<Includelog4net>false</Includelog4net>
<IncludeSSO>false</IncludeSSO>
<IncludeBAM>false</IncludeBAM>
</PropertyGroup>
<PropertyGroup Condition=”‘$(Configuration)’ == ‘Debug'”>
<DeploymentFrameworkTargetsPath>$(MSBuildExtensionsPath)\DeploymentFrameworkForBizTalk\5.0\</DeploymentFrameworkTargetsPath>
<OutputPath>bin\Debug\</OutputPath>
<DeployPDBsToGac>false</DeployPDBsToGac>
</PropertyGroup>
<PropertyGroup Condition=”‘$(Configuration)’ == ‘Release'”>
<DeploymentFrameworkTargetsPath>$(MSBuildExtensionsPath)\DeploymentFrameworkForBizTalk\5.0\</DeploymentFrameworkTargetsPath>
<OutputPath>bin\Release\</OutputPath>
<DeployPDBsToGac>false</DeployPDBsToGac>
</PropertyGroup>
<PropertyGroup Condition=”‘$(Configuration)’ == ‘Server'”>
<DeploymentFrameworkTargetsPath>Framework\</DeploymentFrameworkTargetsPath>
<DeployPDBsToGac>false</DeployPDBsToGac>
</PropertyGroup>
<!– Schemas –>
<ItemGroup>
<Schemas Include=”Microsoft.Solutions.BTAHL7.HL7Schemas.dll”>
<LocationPath>..\ExternalAssemblies</LocationPath>
</Schemas>
<Schemas Include=”XXXXX.BizTalk.SomeProcess1.Shared.Schemas.DLL”>
<LocationPath>..\Projects\XXXXX.BizTalk.SomeProcess1.Shared.Schemas\bin\$(Configuration)</LocationPath>
</Schemas>
<Schemas Include=”MultiVue Schemas.dll”>
<LocationPath>..\ExternalAssemblies</LocationPath>
</Schemas>
<Schemas Include=”XXXXX.BizTalk.HL7V24.dll”>
<LocationPath>..\ExternalAssemblies</LocationPath>
</Schemas>
<Schemas Include=”XXXXX.BizTalk.HL7V2X.dll”>
<LocationPath>..\ExternalAssemblies</LocationPath>
</Schemas>
</ItemGroup>
<!– Components –>
<ItemGroup>
<Components Include=”XXXXX.BizTalk.CommonFunctions.dll”>
<LocationPath>..\Projects\XXXXX.BizTalk.CommonFunctions\bin\$(Configuration)</LocationPath>
</Components>
<Components Include=”XXXXX.BizTalk.SomeProcess1.Shared.Components.dll”>
<LocationPath>..\Projects\XXXXX.BizTalk.SomeProcess1.Shared.Components\bin\$(Configuration)</LocationPath>
</Components>
<Components Include=”XXXXX.SomeDomain1.Data.dll”>
<LocationPath>..\ExternalAssemblies</LocationPath>
</Components>
<Components Include=”Utility.HL7.dll”>
<LocationPath>..\ExternalAssemblies</LocationPath>
</Components>
<Components Include=”CCD.dll”>
<LocationPath>..\ExternalAssemblies</LocationPath>
</Components>
</ItemGroup>
<!– Pipelines –>
<ItemGroup>
<Pipelines Include=”XXXXX.BizTalk.SomeProcess1.Shared.Pipelines.dll”>
<LocationPath>..\Projects\XXXXX.BizTalk.SomeProcess1.Shared.Pipelines\bin\$(Configuration)</LocationPath>
</Pipelines>
</ItemGroup>
<!– PipelineComponents –>
<ItemGroup>
<PipelineComponents Include=”XXXXX.BizTalk.SomeProcess1.Shared.PipelineComponents.dll”>
<LocationPath>..\Projects\XXXXX.BizTalk.SomeProcess1.Shared.PipelineComponents\bin\$(Configuration)</LocationPath>
</PipelineComponents>
<PipelineComponents Include=”BizTalk.SendMessageStandardizer.dll”>
<LocationPath>..\ExternalAssemblies</LocationPath>
</PipelineComponents>
<PipelineComponents Include=”XXXXX.Biztalk.HL724Standardizer.dll”>
<LocationPath>..\Projects\HL724Standardizer\bin\$(Configuration)</LocationPath>
</PipelineComponents>
</ItemGroup>
<!– CustomFunctoids
<ItemGroup>
<CustomFunctoids Include=”ContextAccessor.dll”>
<LocationPath>..\ExternalAssemblies</LocationPath>
</CustomFunctoids>
</ItemGroup>
–>
<!– Transforms –>
<ItemGroup>
<Transforms Include=”XXXXX.BizTalk.SomeProcess1.Shared.Transforms.dll”>
<LocationPath>..\Projects\XXXXX.BizTalk.SomeProcess1.Shared.Transforms\bin\$(Configuration)</LocationPath>
</Transforms>
</ItemGroup>
<!– Orchestrations –>
<ItemGroup>
<Orchestrations Include=”XXXXX.BizTalk.SomeProcess1.Shared.Orchestrations.dll”>
<LocationPath>..\Projects\XXXXX.BizTalk.SomeProcess1.Shared.Orchestrations\bin\$(Configuration)</LocationPath>
</Orchestrations>
</ItemGroup>
<Import Project=”$(DeploymentFrameworkTargetsPath)BizTalkDeploymentFramework.targets” />
<Target Name=”CustomDeployTarget”>
</Target>
<Target Name=”CustomRedist”>
<Copy SourceFiles=”EnvironmentSettings\SettingsFileGenerator.xml” DestinationFolder=”$(RedistDir)\Deployment\EnvironmentSettings” />
</Target>
</Project>