Lavoro praticamente sempre con le Web Application, dove l'X-copy regna sovrano e i progetti di setup molto spesso sono piu un problema che altro.

Però, in quasi tutte le grandi applicazioni distribuite, ci sono sempre dei servizi, degli eseguibili che servono a completare tutti quei task che il web per sua natura non può assolvere. Soprattutto per quanto riguarda i servizi Windows, il programma di setup è essenziale, anche in fase di test, per essere sicuri che quello che io sto provando sulla mia macchina sia effettivamente quello che poi andrà in produzione, e soprattutto per evitare di dover giocare col copy/installutil ogni volta che si prova su una qualche altra macchina.

Googlando si trovano 4324332423 esempi su come installare servizi Windows tramite progetti di setup. Attenzione che molto spesso viene detto di creare un DefaultOutput e finita la paura, in realtà questo copia soltanto i default output appunto (eseguibile + eventuali dll referenziate) nella cartella prescelta, ma _non_ installa il servizio! Per fare questo bisogna creare una customAction sul default output, e si occuperà lui di installare il servizio tra i servizi NT e consentirvi quindi di farlo partire!

Ci sono anche diverse opzioni di copy file nella parte di gestione di FileSystem. Queste vi aiutano nel caso voi abbiate eseguibili esterni, file xml, risorse non comprese nel progetto che volete copiare nella directory di destinazione o nella directory dell'utente.

Che dire... iniziate a scrivere progetti di setup!! Sono utili ed anche semplici :)