msbuild - Automatisiertes Release-Skript und Visual Studio Setup-Projekte

Translate

Ich denke, die meisten Leute hier verstehen die Bedeutung vollautomatischer Builds.

Das Problem ist, dass eines unserer Projekte jetzt ein integriertes Visual Studio Setup-Projekt (vdproj) verwendet und kürzlich auf Visual Studio 2008 portiert wurde. Leider werden diese nicht in MSBuild erstellt und der Aufruf von devenv.exe / build on 2008 stürzt nur ab. anscheinend macht es das auf allen Multi-Core-Computern (!!!). Jetzt habe ich die Wahl, entweder ein Rollback auf .NET 2.0 und 2005 durchzuführen oder einfach die Visual Studio-Bereitstellung aufzugeben, aber zuerst möchte ich eine zweite Meinung.

Kennt jemand eine andere automatisierte Methode zum Erstellen eines .vdproj, bei der wir die IDE nicht öffnen und auf etwas klicken müssen?


WiX war das, was ich im Sinn hatte, als ich sagte, wir würden vdproj fallen lassen. Hast du irgendwelche Erfahrungen damit, gute Dinge, Vorbehalt?

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Die kostengünstige Lösung besteht darin, auf ClickOnce umzusteigen, das 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 (ziemlich direkt vorwärts) und dieses mit Ihrer Lösung erstellen.

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

Quelle
Translate

Ich habe WiX schon ein bisschen benutzt und im Allgemeinen fand ich, dass es großartig ist, wenn Sie herausfinden, was zu tun ist, aber es gibt eine steile Lernkurve. Wenn Sie einen soliden Tag damit verbringen, das WiX-Tutorial durchzugehen, sollten Sie in der Lage sein, 80% Ihres Setups zum Laufen zu bringen.

WiX Toolset Tutorial

Quelle
Translate

Ich hatte die gleiche Anforderung und verwendete schließlich das, was in diesen beiden Links vorgeschlagen wird

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 die Datei devenv.exe gestartet wird. Die IDE erstellt Ihre Setup-Dateien. Der zusätzliche Build ist etwas kostspielig, aber wir brauchten ihn nur für Builds, die herausgeschoben werden sollten. Der tägliche Build würde höchstens diese Anpassung erfordern. 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 usw. zu verschieben.

Es fühlt sich anfangs ein bisschen wie ein Kluge an, aber es funktioniert, es ist auch ein vollwertiger Teil des automatisierten Builds in Team System, also hat es für meine Ziele der kontinuierlichen Integration funktioniert.

Quelle