2008-08-06 17 views
7

Ich denke, die meisten Menschen hier verstehen die Bedeutung von vollautomatischen Builds.Automatisierte Release-Skript und Visual Studio Setup-Projekte

Das Problem ist eines unserer Projekte verwendet jetzt ein integriertes Visual Studio Setup-Projekt (vdproj) und wurde vor kurzem auf Visual Studio 2008 portiert. Leider werden diese nicht in MSBuild erstellen und devenv.exe/build on aufrufen 2008 stürzt einfach ab, anscheinend tut es das auf allen Multicore-Rechnern (!!!). So, jetzt habe ich die Wahl, entweder zu .Net 2.0 und 2005 zurückzurollen oder einfach Visual Studio Deployment, aber zuerst möchte ich eine zweite Meinung.

Jeder weiß von einem anderen automatisierten Weg, ein .vdproj zu bauen, das uns nicht erfordert, die IDE zu öffnen und auf Zeug zu klicken?


WiX war, was ich im Sinn hatte, als wir sagten, wir würden vdproj abzweigen. Hast du irgendwelche Erfahrungen damit, gute Dinge, Vorbehalte?

Antwort

4

Die kostengünstige Lösung ist die Verwendung von ClickOnce, das Sie mithilfe von MSBuild automatisieren können. Wenn Sie jedoch noch ein Windows Installer-Paket erstellen müssen, müssen Sie Ihr Projekt in WiX (ziemlich direkt) umwandeln und das mit Ihrer Lösung erstellen.

Das wird Ihnen den Einstieg: Automate Releases With MSBuild And Windows Installer XML

2

ich vor WiX ein wenig benutzt habe, und in der Regel fand ich, dass es großartig ist, wenn Sie herauszufinden, was zu tun, aber es gibt eine steile Lernkurve. Wenn Sie einen guten Tag damit verbringen, über das WiX-Tutorial zu gehen, sollten Sie in der Lage sein, 80% Ihrer Einrichtung zu nutzen.

link text

0

ich die gleiche Forderung hatte und am Ende mit, was

in diesen beiden Verbindungen vorgeschlagen

David Williams Blog

MSDN article

Grundsätzlich, da Team selbst bauen, durch, wird nicht Erstellen Sie die Setup-Projekte für Sie. Bei diesem Ansatz fügen Sie nach Abschluss des regulären Builds einen neuen Build-Schritt hinzu. Dieser Schritt löst einen zweiten Build aus, indem die devenv.exe gestartet wird. Die IDE wird Ihre Setup-Dateien erstellen. Der zusätzliche Build ist ein wenig teuer, aber wir brauchten ihn nur für Builds, die ausgeschoben werden sollten. Der Daily-Build würde höchstens diese Anpassung erfordern, unser CI-Build muss nicht jedes Mal Setup-Dateien erstellen.

Danach einige Copy-Befehle ausführen, bauen erneut Schritte, die in Ihrem Team System zeigen Ergebnisse bauen, die Setup-Dateien auf einer Netzwerkfreigabe zu bewegen usw.

Es fühlt sich ein bisschen wie eine kluge zuerst , aber es funktioniert, es ist auch ein vollwertiger Teil des automatisierten Build in Team System, so dass es für meine Continuous Integration Ziele funktioniert.