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

How to get MSI file geenrated in specific location?

Topics: General Questions
Jun 25, 2012 at 3:31 PM
Edited Jun 25, 2012 at 3:40 PM

Hi,

When I run the TFS build with BTDF, it generated the MSI file in  "*/Deployment/bin/Debug/" folder, how can I make it to drop the MSI file in a specific location other than default (ie. "C:\Rik\Projects\MSIs\") ?

Thanks, Rik.

Jun 26, 2012 at 7:26 PM
Edited Jun 26, 2012 at 7:28 PM

Hi Rik,

In the 5.0 final release, there are some changes to make things more smooth with Team Build.  For now, one thing you can do is to override OutputPath when Team Build is running.  These are modifications of existing PropertyGroup's in your .btdfproj.  The conditional OutputPath is new.

 <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
   <DeploymentFrameworkTargetsPath>$(MSBuildExtensionsPath)\DeploymentFrameworkForBizTalk\5.0\</DeploymentFrameworkTargetsPath>
   <OutputPath Condition="'$(TeamBuildOutDir)' == ''">bin\Debug\</OutputPath>
   <OutputPath Condition="'$(TeamBuildOutDir)' != ''">$(TeamBuildOutDir)</OutputPath>
   <!-- Get our PDBs into the GAC so we get file/line number information in stack traces. -->
   <DeployPDBsToGac>false</DeployPDBsToGac>
 </PropertyGroup>
 <PropertyGroup Condition="'$(Configuration)' == 'Release'">
   <DeploymentFrameworkTargetsPath>$(MSBuildExtensionsPath)\DeploymentFrameworkForBizTalk\5.0\</DeploymentFrameworkTargetsPath>
   <OutputPath Condition="'$(TeamBuildOutDir)' == ''">bin\Release\</OutputPath>
   <OutputPath Condition="'$(TeamBuildOutDir)' != ''">$(TeamBuildOutDir)</OutputPath>
   <!-- Get our PDBs into the GAC so we get file/line number information in stack traces. -->
   <DeployPDBsToGac>false</DeployPDBsToGac>
 </PropertyGroup>

The intent of the OutputPath change under Team Build is to drop the MSI into the build's drop folder.

Thanks,
Tom

Jun 27, 2012 at 2:52 PM
Edited Jun 27, 2012 at 3:29 PM

Tom,

I think my question was little confusing and sorry for that, I wanted the MSI either moved to Team Build Drop location or in Binaries folder so that it get's moved to Team Build Drop location form Binaries folder. 

To achieve this, what I did is, put OutputPath = $(OutDir) and it created MSI in Binaries directory.


<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
   <DeploymentFrameworkTargetsPath>$(MSBuildExtensionsPath)\DeploymentFrameworkForBizTalk\5.0\</DeploymentFrameworkTargetsPath>
   <OutputPath>$(OutDir)</OutputPath>
   <!-- Get our PDBs into the GAC so we get file/line number information in stack traces. -->
   <DeployPDBsToGac>false</DeployPDBsToGac>
 </PropertyGroup>
 <PropertyGroup Condition="'$(Configuration)' == 'Release'">
   <DeploymentFrameworkTargetsPath>$(MSBuildExtensionsPath)\DeploymentFrameworkForBizTalk\5.0\</DeploymentFrameworkTargetsPath>
   <OutputPath>$(OutDir)</OutputPath>
   <!-- Get our PDBs into the GAC so we get file/line number information in stack traces. -->
   <DeployPDBsToGac>false</DeployPDBsToGac>
 </PropertyGroup>

Thanks,
Rik.