2011-01-14 8 views
2

Ich verwende WIX, um setup.msi für mein Projekt auf einem TFS-Server zu erstellen. Ich habe das WIX-Projekt zur Lösung hinzugefügt.WIX-Projekt mit Team Build erstellen

Um zu beginnen, bevor ich WIX-Projekt zu meiner Lösung hinzugefügt habe, hat Team Build alle Projekt-Assemiles in meinem Ablageordner ausgegeben, was völlig in Ordnung war.

Aber jetzt, nachdem ich das Installer-Projekt hinzugefügt habe, möchte ich Team Build nur meine .msi und nicht die Projekt-Assemblys in meinem Ablageordner ausgeben.

Ich denke, ich vermisse einige Konfigurationseinstellungen. Können Sie bitte vorschlagen, was hier falsch ist?

Bitte beraten. die .msi sowie alle Projekt asemblies

Das Team Build outputing

+0

Niemand eine Lösung vorschlagen ?? :(Fellow TFSBuilders Ich würde deine freundliche Führung sehr schätzen! – Kim

Antwort

1

Wie ich es verstehe, Ihr Build funktioniert gut. Sie möchten nur, dass der Build Drop-Ordner das MSI und keine anderen Dateien enthält.

Wenn Sie Team Build 2008 verwenden, besteht die Möglichkeit darin, der Datei TFSBuild.proj einen neuen <Target> hinzuzufügen, der das integrierte Ziel CoreDropBuild überschreibt.

<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

Mein Wissen gibt es keine Möglichkeit, diese andere zu erreichen, als an den Ablageort zu deaktivieren Kopieren und dann Ihren eigenen Prozess zu schreiben nur die Dateien kopieren Sie wollen. Folgen Sie Grants Lösung für Team Build 2008 oder 2010. Für TFS2012 müssen Sie eine benutzerdefinierte Vorlage erstellen, die diese benutzerdefinierte Dateikopie enthält.