ASP.NET 2.0 Versioning

martedì 16 maggio 2006 - 11.01

giacomoD Profilo | Newbie

Salve a tutti,
volevo chiedere alla comunità in quale modo è consigliabile gestire la fase di rilascio delle applicazioni asp.net 2.0, e soprattutto la fase degli aggiornamenti.
In giro ci sono molti articoli a riguardo, ma nessuno, almeno tra quelli che ho consultato, chairisce il modo con cui è possibile, ad esempio, aggiornare una versione di un'applicazione asp.net 2.0 senza dover disistallare la versione precedente.

Grazie
Giacomo

giacomoD Profilo | Newbie

Ciao Coach, grazie della risposta innanzitutto.
Capisco la tua risposta, provo a spiegare meglio quello che volevo dire..
Quando rilascio un'applicazione web (asp.net 2.0) realizzo un file msi che gli installatori possono facilmente eseguire presso i clienti, senza dover fare altro. Questo sistema è impeccabile finchè non rilascio una nuova versione di un'applicazione web che è già stato installata su un server. A questo punto l'installatore deve lanciare la disistallazione del programma, e poi deve eseguire l'installazione (msi) della nuova versione del programma.

Nel post chiedevo quale metodo usare per gestire in modo più efficente gli aggiornamenti di un'applicazione web asp.net 2.0, senza dover disistallare le versioni obsolete.
In giro ho trovato solo soluzioni del tipo taglia/incolla delle DLL, che anche se molto pratico io volevo sapere se lo si può fare tramite msi.

Grazie
Giacomo

giacomoD Profilo | Newbie

>Tramite il setup classico di visual studio puoi dire aggiorna direttamente
>con la nuova versione, ora dovrei vedere qual'è la proprietà.

Si hai ragione, c'è la proprietà RemovePreviousVersions che se impostata a True sovrascrive la versione precendente del programma (impostare però la proprietà DetectNewerInstalledVersions=False oppure lasciarla a True e gestire il numero di versione, incrementando la proprietà Versions e cambiando la proprietà ProductCode)

>Certo un'applicazione asp.net è diversa da una windows mi chiedo
>perchè ogni volta fai un file msi?

Questa modalità di deploy è quella che uso maggiormante anche per applicazioni web, perchè è quella che permette un più facile intervento sul server di produzione (solitamente presso una sede esterna ed a carico di altri..)

Hai qualche consiglio su quest'ultimo aspetto?

Ciao
Grazie
Giacomo

paolopat Profilo | Junior Member

ragazzi scusatemi se mi intrometto ma per effettuare il deployment di un'applicazione ASP.Net 2.0, non basta creare una virtual directory nel Web Server IIS e poi copiare direttamente i file che la compongo ? Esiste un modo migliore ?

giacomoD Profilo | Newbie

Si infatti io uso VS2005 per fare il deploy, però tramite msi.

E' vero che con VS2005 posso ottenere n assembly, ovvero posso compilare separatamente ogni pagina, e quindi fare l'upload sul server solo dell'assembly relativo alla pagina aggiornata, però nello scenario che ho descritto sopra secondo me la soluzione migliore è quella di compilare l'applicazione web (realizzando gli n assembly delle pagine) e poi realizzare un programma di setup (msi) che distribuisca tali assembly con tutte le risorse necessarie sul server dal cliente.

Ciao
Grazie

Giacomo

paolopat Profilo | Junior Member

quale vantaggio c'è rispetto al semplice spostamento dei file ?

giacomoD Profilo | Newbie

>quale vantaggio c'è rispetto al semplice
>spostamento dei file ?

Tutto dipende dallo scenario in cui si lavora.

Se si realizza un'applicazione web semplice, ad esempio dei siti personali o comunque per piccole realtà che non necessitano di una manutanzione e/o confiurazione particolare, allora ci si affida a server in hosting e quindi una possibilità conveniente è quella di fare l'upload dei file ("semplice") compilati o non compilati.

In scenari più complessi, in cui l'applicazione web magari è configurabile ( cioè si adatta alla clietela), in include magari anche risorse esterne, in cui si ha a disposizione un server di produzione presso la intranet del cliente, e magari in cui il compito di consegna del prodotto è affidato agli installatori, allora realizzare un programma di setup è molto più efficiente, in quanto permette di fare in automatico tutta una serie di operazioni che altrimenti dovrebbe fare a mano colui che installa il programma presso il cliente, ad ogni installazione.

Quindi secondo me conviene realizzare un msi quando:
1- Il server di produzione è accessibile fisicamente all'installatore
2- L'applicazione da installare è complessa e richiede configurazione
3- L'applicazione è destinata a più clienti

Ed a maggior ragione quando si deve affidare l'installazione e la configurazione ad "installatori"


Spero di esserti stato di aiuto paolopat
Ciao


Giacomo

paolopat Profilo | Junior Member

si grazie mille

giacomoD Profilo | Newbie

si hai ragione
Ok
Giacomo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5