使用Team Build构建WIX项目

时间:2011-01-14 22:58:41

标签: tfs wix tfsbuild wix3.5

我正在使用WIX在TFS服务器上为我的项目创建setup.msi。我将WIX项目添加到解决方案中。

首先,在我将WIX项目添加到我的解决方案之前,Team Build将所有项目组件输出到我的drop文件夹,这非常好。

但是现在,一旦我添加了安装程序项目,我只希望Team Build将我的.msi而不是项目程序集输出到我的drop文件夹。

我想我错过了一些配置设置。你能否建议这里可能有什么问题?

请告知。

Team build正在输出.msi以及所有项目组件

2 个答案:

答案 0 :(得分:1)

据我了解,您的构建工作正常。您只需要Build Drop文件夹包含MSI而不包含其他文件。

如果使用Team Build 2008,实现此目的的方法是在<Target>文件中添加新的TFSBuild.proj,以覆盖内置的CoreDropBuild目标。

<Target Name="CoreDropBuild"
    Condition=" '$(IsDesktopBuild)'!='true' and '$(SkipDropBuild)'!='true' "
    DependsOnTargets="$(CoreDropBuildDependsOn)" > 

    <!-- Copy output MSI files -->
    <CreateItem Include="$(BinariesRoot)\**\*.msi" >
        <Output ItemName="FilesToCopy" TaskParameter="Include" />
    </CreateItem> 

    <Copy
        SourceFiles="@(FilesToCopy)"
        DestinationFiles="@(FilesToCopy ->'$(DropLocation)\$(BuildNumber)\%(RecursiveDir)%(Filename)%(Extension)')"
        ContinueOnError="true" /> 

</Target>

答案 1 :(得分:0)

据我所知,除了关闭复制到放置位置然后编写自己的自定义进程以复制所需的文件之外,没有办法实现此目的。遵循Grant的Team Build 2008或2010解决方案。对于TFS2012,您需要创建一个包含此自定义文件副本的自定义模板。