1 Smart Client distribuzione e aggiornamento Fabio Santini
2 Agenda Le 3 regole per la distribuzione Scegliere la modalità di distribuzione –No-Touch Deployment –Installare.NET Framework insieme alla propria applicazione Sceglire la modalità di aggiornamento –Componente AppUpdater –Application Updater Block Uno sguardo al futuro –Click Once
3 #1 Evitare i conflitti Eliminare i conflitti tra applicazioni diverse o versioni diverse della stessa applicazione! –Linstallazione dell applicazione B non deve condizionare il funzionamento dell applicazione A Isolamento delle applicazioni.NET –Distribuzione privata per default Per default le applicazioni.NET utilizzano gli assembly con i quali sono state sviluppate e non i più recenti –Coesistenza di più versioni Installazione Side-by-Side La condivisione se necessaria è controllata e dichiarata Gli assembly posso essere condivisi utilizzando la Global Assembly Cache (GAC)GAC –Nessuna registrazione di DLL XCopy
4 #2 Proteggere le risorse e i dati Stabilire e controllare le risorse e i dati locali necessari alla propria applicazione!.NET Code Access Security –Laccesso alle risorse è controllato tramite evidence Chi a creato il programma (code signing) Da dove proviene lapplicazione –Intranet, un fornitore specifico, un sito web, etc. –Con.NET la sicurezza delle risorse può essere controllata e garantita in fase di distribuzione Strumenti com CASPOL e le Group Policy possono aiutare gli amministratori a gestire le policy di sicurezza
5 #3 Controllo dei costi Controllare i costi di distribuzione e aggiornamento! –Semplice installazione self-service –Gestione automatica delle installazioni e degli aggioramenti.NET ha un basso costo per linstallazione e laggiornamento –Basta copiare i file
6 Scegliere la modalità di distribuzione Esecuzione da Web Download del codice File di configurazione MSI (Microsoft Installer) Installare.NET Framework
7 Opzioni di deployment.NET offre molte opzioni per la distribuzione e linstallazione di applicazioni smart client Quattro possibili opzioni: –Eseguire il codice da Web Lutente esegue lapplicazione semplicemente selezionando un link su una pagina Web –Download del codice Lutente esegue un applicazione di bootstrap dal proprio computer che automaticamente scarica dal Web il codice necessario (o dalla intranet) –File di configurazione Lutente esegue un applicazione locale che scarica gli assembly a seconda delle impostazioni nel file di configurazione –MSI Lutente installa localmente lapplicazione e gli aggiornamenti vengono scaricati in automatico dal Web (o dalla intranet)
8 Eseguire da Web Lintera applicazione viene scaricata nella Assembly Download Cache –Il processo IEExec esegue lapplicazione creando un appdomain con permessi ridotti Vantaggi –Molto semplice da distribuire e aggiornare Limiti –Funziona solo con Microsoft Internet Explorer 5.01 o superiori –Le applicazioni sono semi-trusted –Lutente fa fatica a trovare lapplicazione
9 Download del codice Lapplicazione è suddivisa in assembly differenti che vengono scaricati quando necessario –Lexe iniziale è installato localmente –Lapplicazione scarica ed esegue gli assembly dal web o dalla intranet utilizzando Assembly.LoadFrom() Vantaggi –Installazione iniziale minima e aggiornamenti incrementali –Eseguita da My Programs –Semplice da aggiornare (pubblicazione sul server)
10 Download del codice (continua) Limiti –Lapplicazione deve essere progettata appositamente –E necessaria comunque una prima installazione locale –Non funziona in modalità offline –Non supporta il side-by-side –Gli aggiornamenti avvengono solo quando lapplicazione e i moduli vengono caricati –I permessi sono comunque legati alla provenienza degli assembly –La connessione è necessaria Utilizzato per.. –Applicazioni che sono già divise in moduli distinti –Applicazione che posso accettare lo scarico continuo degli assembly (banda larga)
11 File di configurazione.exe.config Vantaggi –Installazione iniziale minima e aggiornamenti incrementali –Eseguita da My Programs –Tutte le impostazioni in un file –Utilizzabile anche offline –Supporta il side-by-side
12 File di configurazione (continua) Limiti –Lapplicazione deve essere progettata appositamente –E necessaria comunque una prima installazione locale –I permessi sono comunque legati alla provenienza degli assembly –E necessario modificare un file di configurazione presente sul client
13 Installazione con MSI Distribuzione sul pc dellutente da Web, da uno share UNC, o dal disco –Come la maggior parte delle applicazioni Microsoft ® Vantaggi –Supporta tutte le funzionalità smart client come per esempio la gestione offline –Migliori prestazioni –Migliore integrazione con la shell Windows Shortcuts in My Programs, Add/Remove –Supporta tecnologie di autoaggiornamento
14 Installazione con MSI (continua) Limiti –Richiede un processo di installazione completo ci siamo dimenticati qualche cosa ? Utilizzato per –Applicazioni che necessitano delle migliori prestazioni –Per applicazioni che lavorano per la maggior parte del tempo offline –Applicazioni che devono accedere continuamente a differenti risorse locali –Applicazioni che necessitano della possibilità di esecuzione side-by-side
15 Installazione con MSI
16 Quale scelgo ? Run From WebCode DownloadMSI/Client Reach Basso impatto sul sistema Moduli dinamici Auto-Deployment Auto-Update Installazione e esecuzione per utente Migliore User Experience Migliori prestazioni Modalità Offline Integrazione con la Windows Shell Miglior accesso alle risorse locali Installazione senza restrizioni
17 Installare.NET Framework Versione distribuibile di.NET Framework –dotnetfx.exe –Distribuibile tramite Microsoft Systems Management Server (SMS), Microsoft Active Directory ®, or insieme al setup della propria applicazione –Informazioni su: us/dnnetdep/html/redistdeploy1_1.asphttp://msdn.microsoft.com/library/en- us/dnnetdep/html/redistdeploy1_1.asp –Progetto di esempio da MSDN ® F253CFD-1EFC-4FC5-BA7E-6A6F http:// F253CFD-1EFC-4FC5-BA7E-6A6F –Microsoft Visual Studio.NET 2003 Bootstrapper Plug-In A0-D9E7-43D6-A293-72F9C370BD19&displaylang=enhttp:// 7921A0-D9E7-43D6-A293-72F9C370BD19&displaylang=en
18 Scegliere la modalità di aggiornamento Inviare un dischetto Aggiornamento automatico Application Updater
19 Opzioni di aggiornamento Sempre Up-to-Date –Eseguire da Web o scaricare il codice assicura un aggiornamento continuo –Non possiamo avere side-by-side Application Updater –Due code blocks per mantenere aggiornate le proprie applicazioni –Il componente AppUpdater Facile da implementare –Updater Application Block La scelta migliore per applicazioni enterprise
20 Application Updater Come funziona –Controlla costantemente la presenza di aggiornamenti Utilizza Web service, file di tipo manifest, o controlla folder e file –Scarica gli aggiornamenti in background –Applica gli aggiornamenti –Eventualmente riavvia lapplicazione Componente AppUpdater – Application Updater Block from Patterns & Practices –
21
22
23
24
25
26
27
28
29
30 Application Updater Block from Patterns & Practices
31 Click Once Esegue da webCode DownloadMSI/ClientClickOnce Reach Basso impatto sul sistema Moduli dinamici Auto-Deployment Auto-Update Installazione e esecuzione per utente Migliore User Experience Migliori prestazioni Modalità Offline Integrazione con la Windows Shell Miglior accesso alle risorse locali Installazione senza restrizioni
32 Risorse Overview su Deploying e Distributing Patterns & Practices Framework 1.1 guida al deployment msdn.microsoft.com/library/default.asp?url=/library/en- us/dnnetdep/html/dotnetframedepguid1_1.asp?_r=1 msdn.microsoft.com/library/default.asp?url=/library/en- us/dnnetdep/html/dotnetframedepguid1_1.asp?_r=1 Microsoft Visual Studio.NET 2003 Bootstrapper Plug-In D9E7-43D6-A293-72F9C370BD19&displaylang=enhttp:// D9E7-43D6-A293-72F9C370BD19&displaylang=en
33 © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.