2011-01-14 3 views
2

Я использую WIX для создания setup.msi для моего проекта на сервере TFS. Я добавил проект WIX к решению.Создание проекта WIX с Team Build

Прежде всего, прежде чем я добавил проект WIX в мое решение, Team Build выводил все проектные сборки в мою папку с папками, что было прекрасно.

Но теперь, как только я добавил проект установщика, я хочу, чтобы Team Build выводил только мои .msi, а не сборки проекта в мою папку.

Я думаю, что мне не хватает настроек. Не могли бы вы предложить, что здесь может быть неправильно?

Просьба сообщить.

Билд Команда outputing .msi, а также все asemblies проекта

+0

НЕТ предложить какие-либо решения? :(Член TFSBuilders Я бы очень признателен за ваше доброе руководство! – Kim

ответ

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> 
0

Насколько мне известно, нет никакого способа для достижения этой цели, кроме как отключить копирование на место падения, а затем писать свой собственный процесс, чтобы скопировать только те файлы, которые вы хотите. Следуйте за решением Grant для Team Build 2008 или 2010. Для TFS2012 вам понадобится создать собственный шаблон, содержащий эту специальную копию файла.

Смежные вопросы