Frage

Ich denke, die meisten Leute hier verstehen, wie wichtig vollautomatische Builds sind.

Das Problem besteht darin, dass eines unserer Projekte jetzt ein integriertes Visual Studio Setup-Projekt (vdproj) verwendet und kürzlich auf Visual Studio 2008 portiert wurde.Leider lassen sich diese nicht in MSBuild erstellen und der Aufruf von devenv.exe /build unter 2008 stürzt einfach ab, anscheinend passiert das auf allen Multi-Core-Computern (!!!).Jetzt habe ich die Wahl, entweder auf .Net 2.0 und 2005 umzusteigen oder einfach auf die Visual Studio-Bereitstellung zu verzichten, aber zuerst hätte ich gerne eine zweite Meinung.

Kennt jemand eine andere automatisierte Möglichkeit, ein .vdproj zu erstellen, bei der wir nicht die IDE öffnen und auf Dinge klicken müssen?


WiX war das, was ich im Sinn hatte, als ich sagte, dass wir vdproj aufgeben würden.Habt ihr Erfahrungen damit, gute Dinge, Vorbehalte?

War es hilfreich?

Lösung

Die kostengünstige Lösung besteht darin, auf ClickOnce umzusteigen, was Sie mit MSBuild automatisieren können.Wenn Sie jedoch noch ein Windows Installer-Paket erstellen müssen, müssen Sie Ihr Projekt in WiX konvertieren (ganz einfach) und es mit Ihrer Lösung erstellen.

So können Sie loslegen:Automatisieren Sie Releases mit MSBuild und Windows Installer XML

Andere Tipps

Ich habe WiX schon ein wenig verwendet und im Allgemeinen fand ich es großartig, wenn man erst einmal herausgefunden hat, was zu tun ist, aber es gibt eine steile Lernkurve.Wenn Sie einen ganzen Tag damit verbringen, das WiX-Tutorial durchzugehen, sollten Sie in der Lage sein, 80 % Ihres Setups zum Laufen zu bringen.

WiX Toolset-Tutorial

Ich hatte die gleiche Anforderung und habe am Ende die Vorschläge in diesen beiden Links verwendet

David Williams Blog

MSDN-Artikel

Da Team Build selbst die Setup-Projekte nicht für Sie erstellt, müssen Sie bei diesem Ansatz nach Abschluss des regulären Builds einen neuen Build-Schritt hinzufügen.Dieser Schritt löst einen zweiten Build aus, indem er devenv.exe startet.Die IDE erstellt Ihre Setup-Dateien.Der zusätzliche Build ist etwas kostspielig, aber wir brauchten ihn nur für Builds, die veröffentlicht werden sollten.Diese Anpassung wäre höchstens für den Daily-Build erforderlich. Unser CI-Build muss nicht jedes Mal Setup-Dateien erstellen.

Danach führen Sie einige Kopierbefehle aus, erstellen erneut Schritte, die in den Build-Ergebnissen Ihres Teamsystems angezeigt werden, um die Setup-Dateien auf eine Netzwerkfreigabe zu verschieben usw.

Auf den ersten Blick fühlt es sich ein bisschen klug an, aber es funktioniert, es ist auch ein vollwertiger Teil des automatisierten Builds im Team System, sodass es für meine Ziele der kontinuierlichen Integration funktionierte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top