1 smart client distribuzione e aggiornamento fabio santini
TRANSCRIPT
![Page 1: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/1.jpg)
1
Smart Clientdistribuzione e aggiornamento
Fabio Santini
![Page 2: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/2.jpg)
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
![Page 3: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/3.jpg)
3
#1 Evitare i conflitti
Eliminare i conflitti tra applicazioni diverse o versioni diverse della stessa applicazione!– L’installazione 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)– Nessuna registrazione di DLL
• XCopy
![Page 4: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/4.jpg)
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– L’accesso alle risorse è controllato tramite
evidence• Chi a creato il programma (code signing)• Da dove proviene l’applicazione
– 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
![Page 5: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/5.jpg)
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 l’installazione e l’aggiornamento– Basta copiare i file
![Page 6: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/6.jpg)
6
Scegliere la modalità di distribuzione
• Esecuzione da Web
• Download del codice
• File di configurazione
• MSI (Microsoft Installer)
• Installare .NET Framework
![Page 7: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/7.jpg)
7
Opzioni di deployment
• .NET offre molte opzioni per la distribuzione e l’installazione di applicazioni “smart client”
• Quattro possibili opzioni:– Eseguire il codice da Web
• L’utente esegue l’applicazione semplicemente selezionando un link su una pagina Web
– Download del codice• L’utente esegue un applicazione di “bootstrap” dal
proprio computer che automaticamente scarica dal Web il codice necessario (o dalla intranet)
– File di configurazione• L’utente esegue un applicazione locale che scarica gli
assembly a seconda delle impostazioni nel file di configurazione
– MSI• L’utente installa localmente l’applicazione e gli
aggiornamenti vengono scaricati in automatico dal Web (o dalla intranet)
![Page 8: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/8.jpg)
8
Eseguire da Web
• L’intera applicazione viene scaricata nella Assembly Download Cache– Il processo IEExec esegue l’applicazione
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– L’utente fa fatica a trovare l’applicazione
![Page 9: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/9.jpg)
9
Download del codice
• L’applicazione è suddivisa in assembly differenti che vengono scaricati quando necessario– L’exe iniziale è installato localmente– L’applicazione 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)
![Page 10: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/10.jpg)
10
Download del codice (continua)
• Limiti– L’applicazione 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
l’applicazione 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)
![Page 11: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/11.jpg)
11
File di configurazione
• <fileexe>.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
![Page 12: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/12.jpg)
12
File di configurazione (continua)
• Limiti– L’applicazione 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
![Page 13: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/13.jpg)
13
Installazione con MSI
• Distribuzione sul pc dell’utente 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
![Page 14: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/14.jpg)
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
![Page 15: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/15.jpg)
15
Installazione con MSI
![Page 16: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/16.jpg)
16
Quale scelgo ?
Run From Web Code Download MSI/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
![Page 17: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/17.jpg)
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:• http://msdn.microsoft.com/library/en-us/dnnetdep/html
/redistdeploy1_1.asp– Progetto di esempio da MSDN®
• http://www.microsoft.com/downloads/details.aspx?FamilyId=BF253CFD-1EFC-4FC5-BA7E-6A6F21403495
– Microsoft Visual Studio .NET 2003 Bootstrapper Plug-In
• http://www.microsoft.com/downloads/details.aspx?FamilyId=627921A0-D9E7-43D6-A293-72F9C370BD19&displaylang=en
![Page 18: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/18.jpg)
18
Scegliere la modalità di aggiornamento
• Inviare un dischetto
• Aggiornamento automatico
• Application Updater
![Page 19: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/19.jpg)
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
![Page 20: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/20.jpg)
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 l’applicazione
• Componente AppUpdater– http://www.windowsforms.net
• Application Updater Block from Patterns & Practices– http://msdn.microsoft.com/library/en-us/dnbda/html/update
r.asp
![Page 21: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/21.jpg)
21
![Page 22: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/22.jpg)
22
![Page 23: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/23.jpg)
23
![Page 24: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/24.jpg)
24
![Page 25: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/25.jpg)
25
![Page 26: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/26.jpg)
26
![Page 27: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/27.jpg)
27
![Page 28: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/28.jpg)
28
![Page 29: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/29.jpg)
29
![Page 30: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/30.jpg)
30
Application Updater Block from Patterns & Practices
![Page 31: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/31.jpg)
31
Click Once
Esegue da web Code Download MSI/Client ClickOnce
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
![Page 32: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/32.jpg)
32
Risorse
• Overview su Deploying e Distributinghttp://msdn.microsoft.com/vbasic/using/deploying/
• Patterns & Practiceshttp://www.microsoft.com/resources/practices/patterns.mspx
• .NET Framework 1.1 guida al deployment 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
• http://www.microsoft.com/downloads/details.aspx?FamilyId=627921A0-D9E7-43D6-A293-72F9C370BD19&displaylang=en
![Page 33: 1 Smart Client distribuzione e aggiornamento Fabio Santini](https://reader035.vdocumenti.com/reader035/viewer/2022062418/5542eb4b497959361e8b7a8d/html5/thumbnails/33.jpg)
33
© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.