Domanda

Penso che la maggior parte delle persone qui capisca l'importanza delle build completamente automatizzate.

Il problema è che uno dei nostri progetti ora utilizza un progetto di installazione integrato di Visual Studio (vdproj) ed è stato recentemente portato su Visual Studio 2008.Sfortunatamente, quelli non verranno compilati in MSBuild e chiamando devenv.exe /build nel 2008 si blocca semplicemente, a quanto pare lo fa su tutti i computer multi-core (!!!).Quindi ora posso scegliere se eseguire il rollback a .Net 2.0 e 2005 o semplicemente abbandonare la distribuzione di Visual Studio, ma prima vorrei una seconda opinione.

Qualcuno conosce un altro modo automatizzato per creare un .vdproj che non richieda di aprire l'IDE e fare clic su elementi?


WiX era ciò che avevo in mente quando ho detto che avremmo abbandonato vdproj.Hai qualche esperienza con esso, cose positive, avvertimento?

È stato utile?

Soluzione

La soluzione a basso costo consiste nel passare all'utilizzo di ClickOnce, che è possibile automatizzare utilizzando MSBuild.Ma se hai ancora bisogno di creare un pacchetto Windows Installer, dovrai convertire il tuo progetto in WiX (abbastanza semplice) e crearlo con la tua soluzione.

Questo ti farà iniziare:Automatizza le versioni con MSBuild e Windows Installer XML

Altri suggerimenti

Ho già usato WiX un po' in passato e in generale ho scoperto che è fantastico una volta capito cosa fare, ma la curva di apprendimento è ripida.Se trascorri una giornata intera esaminando il tutorial WiX, dovresti riuscire a far funzionare l'80% della tua configurazione.

Tutorial sul set di strumenti WiX

Avevo lo stesso requisito e ho finito per utilizzare ciò che è suggerito in questi due collegamenti

Blog di David Williams

Articolo MSDN

Fondamentalmente, poiché Team Build, di per sé, non creerà i progetti di installazione per te, questo approccio prevede l'aggiunta di un nuovo passaggio di creazione al termine della creazione regolare.Questo passaggio avvia una seconda build avviando devenv.exe.L'IDE creerà i file di installazione.La build extra è un po' costosa, ma ne avevamo bisogno solo per le build che sarebbero state rilasciate.La build giornaliera al massimo avrebbe bisogno di questa personalizzazione, la nostra build CI non ha bisogno di creare file di installazione ogni volta.

Dopo aver eseguito alcuni comandi Copia, crea nuovamente i passaggi visualizzati nei risultati della build del tuo Team System, per spostare i file di installazione in una condivisione di rete, ecc.

All'inizio sembra un po' un kluge, ma funziona, è anche una parte a tutti gli effetti della build automatizzata in Team System, quindi ha funzionato per i miei obiettivi di integrazione continua.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top