Siamo C # shop (e appena iniziamo con TFS) con un numero di soluzioni diverse (e ce ne sono molte) che rappresentano componenti diversi, che distribuiamo su un numero abbastanza grande di server di produzione. Attualmente, le installazioni dei componenti vengono eseguite manualmente, in cui lo sviluppatore si posiziona su ciascun server e installa / disinstalla il componente (i file di installazione dei componenti sono .msi, che creiamo utilizzando WIX per ogni singolo componente). Naturalmente, il problema diventa che alla fine qualcuno dimenticherà di installare un nuovo componente sui server di produzione e solo dopo aver attraversato gli altri server, scoprirai che hai a che fare con componenti obsoleti. E siamo terribili nel tenere traccia di ciò che ha fatto ciò che i server.
Tecnicamente, possiamo collocare tutte le soluzioni esistenti sotto un'unica soluzione e avere un singolo file .msi-install che comprende l'intera gamma di progetti. Ma questo creerà un'unica soluzione e un enorme file MSI. Tuttavia, questo è chiaramente risolve tutti i problemi.
Quindi quali sono i modi per distribuire le versioni di diversi software come un unico pezzo?