Vous êtes sur la page 1sur 23

Dployer une application cliente avec le Framework .NET 3.

5 Client Profile
Version 1.0

James RAVAILLE
http://blogs.dotnet-france.com/jamesr

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

Sommaire

Introduction ..................................................................................................................................... 3 1.1 1.2 1.3 Prsentation ............................................................................................................................ 3 Pr-requis ................................................................................................................................ 3 Prsentation de lapplication dployer ................................................................................ 3

Prsentation du Framework .NET Client ......................................................................................... 5 2.1 2.2 2.3 Les avantages apports ........................................................................................................... 5 Architecture ............................................................................................................................. 5 Les packages proposs par Microsoft ..................................................................................... 5

Activation du sous-ensemble du Framework .NET client................................................................ 7 3.1 3.2 3.3 3.4 Dans lapplication C# ............................................................................................................... 7 Dans lapplication VB .NET ...................................................................................................... 7 Modifications apportes au projet .......................................................................................... 8 Attention aux assemblies utiliss dans votre projet ............................................................... 9

4 Dployer une application avec un sous-ensemble du Framework .NET Client et Windows Installer .................................................................................................................................................. 10 4.1 4.2 5 Cration du projet Windows Installer ................................................................................... 10 Installation ............................................................................................................................. 15

Dployer une application avec un sous-ensemble du Framework .NET client et un ClickOnce ... 16 5.1 5.2 5.3 Scnario de dploiement ...................................................................................................... 16 Configuration du projet de dploiement .............................................................................. 16 Installation ............................................................................................................................. 18

Conclusion ..................................................................................................................................... 23

Dotnet France Association James RAVAILLE

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

Introduction

1.1 Prsentation
A partir du Service Pack 1 du Framework .NET 3.5, Microsoft propose le Framework .NET 3.5 Client Profile. Il sagit dun sous ensemble du Framework .NET, qui prsente une version simplifie des composants, permettant dexcuter (il inclut donc la CLR) des applications clientes conues avec WPF (Windows Presentation Foundation) ou Windows Forms, qui peuvent utiliser WCF (Windows Communication Foundation) et pouvant tre dployes via ClickOnce (dploiement au travers dun serveur Web). Ce cours prsente lutilisation du Framework .NET 3.5 Client Profile, au travers de deux scnarii de dploiement : via Windows Installer et ClickOnce. Pour des raisons de simplification, nous lappellerons Framework .NET Client dans la suite de ce cours.

1.2 Pr-requis
Pour raliser lapplication que nous allons dployer, nous vous recommandons davoir des connaissances basiques dans WPF, vous permettant de crer un projet et un simple formulaire. Pour le dploiement dapplication, nous vous recommandons de savoir dployer une application : Via la cration dun projet de configuration et de dploiement (Windows Installer). Via ClickOnce.

1.3 Prsentation de lapplication dployer


Dans ce cours, nous allons dployer une simple application WPF. Cette application ne contient quun formulaire, permettant dafficher le message suivant Framework .NET 3.5 Client Profile par James RAVAILLE , au travers dun simple bouton. Elle se nomme AppliWPF_CS pour lapplication cre avec le langage C#, et AppliWPF_VB pour lapplication cre avec le langage VB. Cette application ne contient quun seul formulaire, dont le design est le suivant :

Le code XAML de ce formulaire est le suivant :

Dotnet France Association James RAVAILLE

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

// C# et VB .NET <Window x:Class="AppliWPF_CS.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> <Button Margin="12" Name="CmdAfficherMessage" Click="CmdAfficherMessage_Click">De quoi traite ce cours ?</Button> </Grid> </Window>

Et voici la classe code-behind du formulaire :


// C# public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void CmdAfficherMessage_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Framework .NET 3.5 Client Profile par James RAVAILLE"); } }

// VB .NET Class Window1 Private Sub CmdAfficherMessage_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) MessageBox.Show("Framework .NET 3.5 Client Profile par James RAVAILLE") End Sub End Class

Dotnet France Association James RAVAILLE

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

2 Prsentation du Framework .NET Client


2.1 Les avantages apports
Le principal avantage de lutilisation du Framework .NET Client dans le dploiement dapplications .NET, est de diminuer la dure dinstallation des applications, sur les postes de travail sur lesquels aucune version du Framework .NET na t utilis, ou celle nayant pas la version 3.5 du Framework .NET. Ainsi, le dploiement dapplications clients via Internet est facilit.

2.2 Architecture
Voici larchitecture du Framework .NET 3.5 Client, compare la version complte du Framework .NET 3.5 :

On peut remarquer que le Framework .NET 3.5 Client agrge lensemble des composants permettant le dveloppement dapplications clientes depuis la version 2.0 du Framework .NET. Il permet dexcuter les fonctionnalits de : La CLR (environnement dexcution). Dploiement au travers de ClickOnce (dploiement dapplications Web au travers dun serveur Web). Dveloppement dapplications Windows Forms. Dveloppement dapplications WPF (Windows Presentation Foundation). Dveloppement dapplications WCF (Windows Communication Foundation).

Si aucune version du Framework .NET nest installe sur le poste de travail des utilisateurs, alors tous les composants du Framework .NET Client sont installs. Mais dans le cas o une version du Framework .NET est dj installe, par exemple la version 3.0 SP2, alors seuls les composants clients du Framework .NET 3.5 SP1 sont installs.

2.3 Les packages proposs par Microsoft


Au travers de son centre de tlchargement, Microsoft propose : Dotnet France Association James RAVAILLE

Dployer une application cliente avec le Framework .NET 3.5 Client Profile Microsoft .NET Framework Client Profile Offline Installer. Il sagit de la version complte du Framework .NET 3.5 Service Pack 1, auquel sajoute le Framework.NET Client. Sa taille est de 257 Mo. Il est disponible en tlchargement ici : http://www.microsoft.com/downloads/details.aspx?FamilyID=992CFFCB-F8CE-41D9-8BD631F3E216285C&displaylang=en Microsoft .NET Framework Client Profile Online Installer. Il sagit dun package de 280 Ko, qui
dtectera, tlchargera et installera uniquement les composants requis pour le bon fonctionnement de (contenus dans le package prsent ci-dessus). Il est disponible ici : http://www.microsoft.com/downloads/details.aspx?FamilyID=8CEA6CD1-15BC-4664-B27D8CEBA808B28B&displaylang=fr lapplication

Pour comparer les tailles des packages nonces ci-dessus, voici quelques autres chiffres : Le Framework .NET 3.5 Full Package est de 197 Mo. Le Framework .NET 3.5 Full Package Service Pack1 est de 232 Mo.

Dotnet France Association James RAVAILLE

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

3 Activation du sous-ensemble du Framework .NET client


Lorsque vous crez une application .NET avec le Framework .NET 3.5, cette option nest pas active. Lactivation est diffrente est dans les projets C# et VB .NET. Dans ce chapitre, nous exposerons les deux, sur le projet prsent dans le premier chapitre.

3.1 Dans lapplication C#


Dans notre application AppliWPF_CS, positionnons-nous dans la fentre de proprits du projet. Sur longlet Application, cochons la checkbox Sous-ensemble du Framework Client seulement :

3.2 Dans lapplication VB .NET


Dans notre application AppliWPF_VB, positionnons-nous dans les proprits du projet. Sur longlet Compiler, cliquons sur le bouton Options avances de compilation . Une fentre apparat, sur laquelle nous cochons la checkbox Sous-ensemble du Framework Client seulement :

Dotnet France Association James RAVAILLE

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

3.3 Modifications apportes au projet


Une fois loption Sous-ensemble du Framework client seulement est active, le fichier de configuration est modifi, dans lequel nous pouvons (entre autre) observer le contenu suivant :
// C# et VB <?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v2.0.50727" sku="Client"/> </startup> </configuration>

Llment qui doit attirer notre attirer notre attention est llment supportedRuntime : Au travers de son attribut version, il permet de spcifier la version du Framework .NET, sur laquelle lapplication doit sexcuter. La version spcifie doit correspondre au nom du rpertoire se trouvant dans le rpertoire d'installation des diffrentes versions du Framework .NET (c:\Windows\Microsoft.NET\Framework). Si aucune version nest spcifie, alors la version du Framework .NET cible est celle utilise pour gnrer lapplication. La seule valeur possible pour la proprit sku est Client, qui permet de spcifier que le sousensemble du Framework .NET client est activ pour cette application. Si aucune valeur nest spcifie ou quune autre valeur est spcifie, alors lapplication sexcute avec la version complte du Framework .NET spcifie.

Dotnet France Association James RAVAILLE

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

3.4 Attention aux assemblies utiliss dans votre projet


Supposons que nous souhaitons rfrencer lassembly System.Web.dll du Framework .NET :

Lajout de cette rfrence vers un composant du Framework .NET qui ne sera pas dploy provoque lapparition davertissement dans les rfrences du projet :

Cet avertissement est aussi visible lors de la compilation du projet :

Dotnet France Association James RAVAILLE

10

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

4 Dployer une application avec un sous-ensemble du Framework .NET Client et Windows Installer
4.1 Cration du projet Windows Installer
Nous allons crer un projet permettant de crer un assistant dempaquetage et de dploiement. Seules les tapes ncessaires la cration de ce projet et lutilisation du Framework .NET ct client seront mises en uvre. Pour ce faire, dans la solution, ajoutons un projet de type Assistant Installation nomm AppliWPF_CS_Deploy ou AppliWPF_VB_Deploy :

Puis cliquons sur le bouton OK. La fentre suivante apparat :

Dotnet France Association James RAVAILLE

11

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

Cliquons sur bouton Suivant . La fentre suivante apparat :

Choisissons de crer un programme dinstallation pour une application Windows. Cliquons sur bouton Suivant :

Dotnet France Association James RAVAILLE

12

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

Choisissons la sortie principale du projet, de manire dployer lassembly correspondant lapplication, puis cliquons sur bouton Suivant :

Nous ne spcifierons aucun fichier complmentaire. Cliquons sur bouton Suivant : Dotnet France Association James RAVAILLE

13

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

Une fois notre projet de dploiement cr, il est ncessaire de le configurer, de manire ce quil nutilise plus la version complte du Framework .NET lors du dploiement. Pour ce faire, il est ncessaire de se positionner dans les proprits du projet, et de raliser les tapes indiques cidessous :

Dotnet France Association James RAVAILLE

14

Dployer une application cliente avec le Framework .NET 3.5 Client Profile Cliquons sur le bouton Composants Requis :

Vrifions que les composants ncessaires au bon fonctionnement de lapplication soient installs sur le poste de lutilisateur. Si un de ces composants est absent, laissons alors la possibilit de le tlcharger sur le site du fournisseur (dans notre cas Microsoft). Veuillons ce que les cases cocher : Correspondant Windows Installer 3.1 et .NET Framework Client Profile sont coches. Correspondant toute autre version du Framework .NET nest pas coche.

Il est aussi ncessaire de modifier les conditions de lancement du projet, de manire demander dtecter la prsence du Framework .NET Client, avant dinstaller lapplication :

Aprs avoir slectionne la condition de lancement, positionnons-nous dans la fentre de proprits, sur la proprit Version, afin de choisir la version spcifie ci-dessous :

Dotnet France Association James RAVAILLE

15

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

4.2 Installation
Il ne reste plus qu excuter le programme dinstallation cr. Avant le dploiement des fichiers constituant lapplication, si le poste de travail de lutilisateur ne contient pas le Framework .NET 3.5 SP1 ou le Framework .NET Client Profile, il sera proposez de tlcharger et dinstaller le Framework .NET Client Profile partir du centre de tlchargement Microsoft, au travers de la fentre suivante :

Dotnet France Association James RAVAILLE

16

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

5 Dployer une application avec un sous-ensemble du Framework .NET client et un ClickOnce


Dans ce chapitre, nous ne mettrons pas laccent sur le dploiement dapplications clientes avec ClickOnce. Ce sujet fait lobjet dun autre cours plus gnral que ce cours. Nous nous consacrons sur la mise en uvre du Framework .NET Client via ClickOnce.

5.1 Scnario de dploiement


Voici le schma de dploiement de notre application :

Visual Studio

Publication de lapplication

Serveur IIS

Installation / mise jour de lapplication

Utilisateur de lapplication

Utilisateur de lapplication

Utilisateur de lapplication

Le but de notre scnario de dploiement est le suivant : 1 Le dveloppeur/intgrateur de lapplication : a. Configure le dploiement de lapplication, prpare notre package de dploiement, et signifie lutilisation du Framework .NET Client. b. Dploie lapplication sur le serveur IIS. Les utilisateurs : a. Via une url, ils accdent au programme dinstallation (setup.exe) dploy sur le serveur Web, afin de lexcuter sur leur poste de travail. b. Excutent et utilisent lapplication.

5.2 Configuration du projet de dploiement


Dans le projet client (Windows ou WPF), positionnons-nous dans longlet Publier de la fentre de proprits. Voici la configuration minimale que nous devons raliser (en fonction de votre projet, vous pourriez avoir dautres tches excuter) : Dotnet France Association James RAVAILLE

17

Dployer une application cliente avec le Framework .NET 3.5 Client Profile Spcifions une URI de dploiement :

Cliquons sur le bouton Mises jour :

Spcifier que lapplication doit tre mise jour (si ncessaire en fonction des publications de lapplication sur le serveur IIS), avant le dmarrage de lapplication. Cliquons sur le bouton Composants requis :

Dotnet France Association James RAVAILLE

18

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

Vrifions que les composants ncessaires au bon fonctionnement de lapplication soient installs sur le poste de lutilisateur. Si un de ces composants est absent, laissons alors la possibilit de le tlcharger sur le site du fournisseur (dans notre cas Microsoft). Mais il est possible de spcifier une ressource rseau contenant ces composants. Veuillons ce que les cases cocher : Correspondant Windows Installer 3.1 et .NET Framework Client Profile sont coches. Correspondant toute autre version du Framework .NET nest pas coche.

Enfin, aprs avoir ferm cette fentre, cliquons sur le bouton Publier maintenant. Lapplication est alors compile, package dans un empaquetage de dploiement (setup), puis publie sur le Web.

5.3 Installation
Nous allons installer lapplication, sur un poste utilisateur sur lequel aucune version du Framework .NET na t installe. Dans un navigateur Web, lutilisateur accde au fichier setup.exe, via lURI de dploiement spcifie lors de la configuration du dploiement de lapplication. La fentre apparat alors :

Dotnet France Association James RAVAILLE

19

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

Cliquons sur le bouton Excuter. Le programme dinstallation dtecte quil manque la version 3.5 (partie cliente) du Framework .NET. La fentre suivante apparat alors :

Cliquons sur le bouton Accepter. La fentre suivante apparat alors :

Dotnet France Association James RAVAILLE

20

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

Le Framework 3.5 .NET Client Profile est en cours de tlchargement. Puis, il sinstalle automatiquement :

Dotnet France Association James RAVAILLE

21

Dployer une application cliente avec le Framework .NET 3.5 Client Profile Une fois cette tche termine, lapplication dveloppe peut alors tre installe. Cette opration est prsente par la fentre suivante :

Cliquons sur le bouton Installer. La fentre suivante apparat alors :

Une fois cette opration effectue, lapplication sexcute, et le formulaire de dmarrage de lapplication apparat alors :

Dotnet France Association James RAVAILLE

22

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

Lors des prochaines excutions de lapplication, si des mises jour ont t publies, alors la dernire publication sera automatiquement propose lutilisateur, en vue dtre dploye.

Dotnet France Association James RAVAILLE

23

Dployer une application cliente avec le Framework .NET 3.5 Client Profile

6 Conclusion
Ce cours vous a permis dutiliser le Framework .NET Client pour simplifier le dploiement de vos applications .NET clientes (de type Windows Forms ou WPF), aprs vous lavoir prsent. Il est sans nul doute quil sera pratique de lutiliser dans le cadre dapplications clientes.

Dotnet France Association James RAVAILLE

Vous aimerez peut-être aussi