Sabato mattina ho fatto un piccolo esperimento su una
virtual machine appositamente allestita proprio per simulare l'installazione di
una mia applicazione, prima di andare effettivamente dal cliente e fare
figuracce. L'applicazione è una normale applicazione Windows
Forms che utilizza SQL Server 2005 come back-end e il
controllo ReportViewer per generare qualche report di stampa
con annesse anteprime.
Mi sono fatto prima alcuni ragionamenti: la mia applicazione è .NET, per cui
teoricamente è possibile installarla con un semplice copia & incolla dalla
macchina di sviluppo alla macchina di produzione. Chi installa il .NET Framework
2.0? E chi installa SQL Server 2005 Express Edition?
Questa mattina in pochi minuti ho trovati tutte le risposte. E' vero che possiamo installare il FX 2.0 a mano,
così come facciamo noi sui nostri PC di sviluppo. Però sarebbe più
corretto che l'utente finale non debba farlo manualmente, anche perchè il
setup del FX è troppo tecnico, e lo chiamerebbe in causa su questioni che
proprio non gli interessano. Poco user-friendly, senza dubbio! La cosa migliore
è installare il FX come parte integrante del setup della nostra applicazione:
tutto sommato, è un prerequisito. Ho trovato questo post fresco fresco che illustra alcuni metodi per installare
il FX, più o meno interattivi/silenti con l'utente, che credo utilizzerò io
stesso per installare il FX sul mio PC al prossimo formattone. Non sto
qui a riportare la sintassi, leggetevi il post originale che è meglio.
Il deploy del controllo ReportViewer e di tutte
le sue dipendenze mi ha spiazzato un po': pensavo venisse
installato direttamente da SQL Server 2005 (anche nella sua Express Edition), ma
a quanto pare non è così. Ho trovato quindi questa pagina su MSDN che spiega nel dettaglio cosa e perchè bisogna
installare sul PC dell'utente finale per fare in modo che i report funzionino
anche lì. In breve, si tratta di lanciare il setup del file:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ReportViewer\ReportViewer.exe
che si occupa di deployare tutto il necessario, registrando alcuni
gli assembly nella GAC e via dicendo. Esiste anche la versione localizzata che
si trova nella directory:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ReportViewer\<lang>.
Ovviamente, <lang> dipende dalla localizzazione stessa. I
files RDLC, che sono i report veri e propri, devono essere deployati insieme
all'applicazione stessa. Il file ReportViewer.exe installa solamente
l'infrastruttura tecnologica minima e necessaria per far girare i report. Nel
mio caso, i report sono contenuti in un assembly dedicato ed incorporati come
risorse nell'assembly stesso. Stasera provo e vedremo un po'.
powered by IMHO 1.2