ist TFS Consultant bei der AIT und unterstützt Unternehmen bei der Einführung des Visual Studio Team Foundation Server. Er hat sich unter anderem dem Konfigurations- und Dependency Management verschrieben.
Michael Ring
Team Foundation Service: Generierung von Setup Projekten in der Cloud
Freitag, 05. Oktober 2012Die Generierung von Setup Paketen ist inzwischen ein fester Schritt in Vorbereitung auf das Release einer neuen Software Version. Für die Erstellung von Setup Paketen wird häufig Install Shield oder Windows Installer XML verwendet.
Für die Erzeugung von Setup Paketen mittels Windows Installer XML muss im Falle einer TFS On-Premise Installation nur das Windows Installer XML Setup auf allen Build Agenten der Build Infrastruktur ausgeführt werden. Bei Team Foundation Service stellt Microsoft sowohl die Team Foundation Service Instanz als auch die Build Infrastruktur in Form eines Hosted Build Controllers bereit. Eine Modifikation der Build Infrastruktur in Form einer Software Installation auf den Build Agenten ist dabei nicht möglich.
Um die Erstellung von Setup Paketen auf Basis von Windows Installer XML (WiX) dennoch zu ermöglichen, sind die folgenden drei Schritte nötig:
- Ablage der WiX Komponenten im Source Control
- Definition der WiX Tool Umgebung in der Build Definition
- Deaktivierung der ICE Validierung
Als erster Schritt müssen die WiX Komponenten in der TFS-Versionsverwaltung abgelegt werden, da auf den von Microsoft bereitgestellten Hosted Build Controller und den Build Agents keine Software installiert werden kann. Unsere Empfehlung ist die WiX Komponenten separat vom Source Code in einem dedizierten Tools Verzeichnis abzulegen (siehe Abbildung 1).
Als zweiter Schritt müssen die Einstellungen für die Erstellung der Setup Pakete durch MSBuild angepasst werden. MSBuild werden hierzu die folgenden zusätzlichen Parameter übergeben:
/p:WiXTargetsPath=..\..\..\Tools\WIX3.6\wix.targets;WixTasksPath=WiXTasks.dll;WixToolPath=..\..\..\Tools\WIX3.6;WixExtDir=..\..\..\Tools\WIX3.6
Diese Parameter können über den MSBuild Arguments Parameter im Process Tab der Build Definition angegeben werden (siehe auch Abbildung 2).
Im letzten Schritt muss zusätzlich noch die ICE Validierung in den Setup Projekten deaktiviert werden, da auf der gehosteten Build Infrastruktur kein Zugriff auf den Windows Installer Service besteht (siehe Abbildung 3).
Fazit
Mit Windows Installer XML können auch auf einem Hosted Build Controller Setup Pakete für im Team Foundation Service entwickelte Produkte erfolgreich erzeugt werden.
Benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?
Wir stehen Ihnen unter info(at)aitgmbh.de gerne zur Verfügung.
Tags: Hosted Build Controller, Team Foundation Service, TeamSystemPro Team, TFS Preview, Windows Installer XML




