TFS 2010构建Server Wix。仅输出MSI

时间:2012-09-28 14:40:50

标签: wix tfs2010 tfsbuild

我已经设法在我的构建服务器上运行构建,但现在问题是输出文件夹中的输出包含所有项目的所有输出,而不仅仅是wix项目的输出。

知道如何改变这个吗?

TIA

2 个答案:

答案 0 :(得分:0)

如果您只对msi作为构建输出感兴趣,那么您可以在团队构建中创建一个步骤,将安装程序文件复制到另一个位置,添加到构建项目中的以下构建目标应该有所帮助。

这会覆盖目标AfterDropBuild

  <Target Name="AfterDropBuild">

    <PropertyGroup>
      <InstallerDir>$(DropLocation)\$(BuildNumber)\Installers</InstallerDir>
    </PropertyGroup>

    <Message Importance="low" Text="InstallerDir=$(InstallerDir)" />
    <MakeDir Directories="$(InstallerDir)" Condition="!Exists('$(InstallerDir)')" />

    <CreateItem Include="$(BinariesRoot)\**\*.msi">
      <Output TaskParameter="Include" ItemName="InstallationFiles"/>
    </CreateItem>

    <Copy SourceFiles="@(InstallationFiles)"
      DestinationFolder="$(InstallerDir)"/>

  </Target>

答案 1 :(得分:0)

我创建了不同的解决方案平台{Application,Setup}并将我的.NET项目设置为使用应用程序和我的wix来构建设置。然后我告诉构建定义按顺序构建这两个平台。结果是TFS将.NET代码存档在一个应用程序文件夹中,该文件夹看起来像部署的机器和安装文件夹中的MSI。

唯一的缺点是,当您添加新项目时,您必须选择要在配置管理器中构建的平台。我的开发人员似乎对此并不感到恼火。