Click Once : Présentation

Brève présentation de Click Once avec Visual Studio 2005 Vu 7709  fois

 

  • Introduction
  • La publication
  • Le déploiement
  • Les mises à jour
  • La sécurité

 

Introduction

Click Once offre la possibilité de mettre en œuvre la notion de Smart Client. Cette technologie permet de déployer et mettre à jour très facilement une application Winform ainsi que la gestion de la sécurité. Pour accéder au module de gestion de Click Once, dans Visual Studio 2K5, il faut faire un clic droit sur le projet concerné puis propriétés. Ce sont les trois onglets Signing, Security et Publish qui nous intéressent.

 

N’importe quelle application winform, console ou compact framework peut être déployée avec le système ClickOnce.

 

La publication

Pour gérer le déploiement, dans l’onglet Publish, nous avons la possibilité de spécifier la Publish location, qui est l’endroit où Visual Studio va générer les fichiers nécessaires à la dernière publication. La publishing location peut être un site web, un serveur ftp ou un chemin réseau, ce sont les différents modes proposés pour le déploiement ClickOnce (possible aussi depuis un cd-rom).

 

 

Vous pouvez ensuite spécifier le comportement de votre application, si elle peut fonctionner uniquement online ou alors si elle peut fonctionner en mode déconnecté.

 

 

Lorsque vous cliquez sur Application Files, vous pouvez gérer les fichiers qui seront copiés dans le répertoire de publication (par défaut Visual Studio met les fichiers nécessaires à l’application).

 

 

Lorsque vous cliquez sur Prerequisites, vous accédez à la boîte de dialogue qui liste les prérequis "classiques" qui accompagnent en général une application Windows (ex:Crystal Report, Windows Installer, SQLExpress …. ). Par défaut Visual Studio cochent ceux nécessaires à votre application. Vous avez aussi la possibilité de choisir l’endroit depuis lequel l’utilisateur final téléchargera ce(s) fichier(s) (ex:site du constructeur, même répertoire que celui de publication ou un autre répertoire).

 

 

Lorsque vous cliquez sur le bouton Updates…, vous pouvez gérer le comportement de mise à jour de l’application, si elle vérifie les Mises à jour disponibles, si elle se met à jour avant ou après que l’application ait démarrée, si elle regarde les mises à jour à chaque fois qu’elle est lancée ou alors avec un intervalle de temps. Vous pouvez aussi spécifier la version minimale requise pour l’application.

 

 

Lorsque vous cliquez sur Options…, vous avez quelques options supplémentaires à votre disposition comme la langue de publication, le nom de la personne qui publie, le nom du produit, l’URL de dépannage, la page web de déploiement etc…

 

 

Enfin, en bas de l’onglet Publish, vous pouvez contrôler votre numéro de version, et soit publier (avec tous vos réglages faits) soit passer par une boîte de dialogue qui vous fera définir le minimum pour publier.

 


Le déploiement

C’est l’utilisateur finale qui installe l’application (il n’a pas besoin d’être administrateur à moins que vous ayez affiné les permissions).

 

Si la publication est sur un serveur web, Visual Studio a généré une page web qui permet à l’utilisateur finale en cliquant sur un lien de lancer l’installation de l’application.

Celui-ci doit juste se connecter sur le site.

 

Si la publication a été fait sur un serveur ftp ou un répertoire réseau, l’utilisateur doit cliquer sur le fichier Setup.exe qui lancera l’installation.

 

Une fois l’application installée, une entrée est créée dans le menu Démarrer/Programmes, l’utilisateur a aussi la possibilité de la supprimer ou de revenir à une ancienne version depuis le panneau d’ajout/suppression des programmes.

 

 

Les Mises à jour

Dans l’onglet Publish, bouton Updates, vous avez défini un comportement automatique de mises à jour pour l’application. Vous pouvez aussi gérer manuellement ce comportement grâce au namespace: System.Deployment.

 

Par exemple, l’objet Application.ApplicationDeployment.CurrentDeployment met à notre disposition des propriétés, méthodes, évènements et Exceptions qui vont nous permettre de gérer nos téléchargements de mise à jour.

 

Nous allons observer quelques propriétés et méthodes utiles.

 

1.1 Propriétés:

IsNetWorkDeployed (dans Application.ApplicationDeployment): nous permet de savoir si l’application est déployée, utile pour ne pas effectuer des actions en mode Debug

 

IsFirstRun: permet de savoir si l’application est lancée pour la première fois depuis l’installation ou depuis la dernière mise à jour.

 

ActivationUri: Informations sur l’Uri d’activation ex: host, absolutePath, UserInfo, utile si l’on passe des paramètres à la page d’installation.

 

CurrentVersion: permet d’obtenir la version actuelle installée.

 

DataDirectory: répertoire où sont stockées les mises à jour téléchargées.

 

TimeOfLastUpdateCheck: nous donne une date qui est la date de dernière mise à jour.

 

UpdatedVersion: la dernière version disponible sur le serveur.

 

UpdateLocation: le chemin où se trouvent les fichiers à télécharger (répertoire de publication: soit serveur web, serveur ftp, chemin réseau).

 

1.2 Méthodes:

CheckForUpdate(): renvoie un booléen indiquant qu’une mise à jour est disponible.

 

Update(): télécharge les mises à jour.

 

1.3 Sécurité:

 

Pour gérer la sécurité, dans l’onglet Security, nous avons la possibilité d’activer la gestion de la sécurité (en cochant Enable ClickOnce Security Settings).

 

Ensuite, vous avez la possibilité, soit de donner tous les droits à votre application (Full Trust Application),

 

 

soit de gérer plus finement les droits.

Pour se faire, vous avez la possibilité de sélectionner la zone depuis laquelle votre application s’installera (Zone your application will be installed from), Local Intranet ou Internet. Ce sont des "zones" prédéfinies, les permissions seront gérées en fonction de la zone choisie. Vous pouvez aussi autoriser seulement les permissions nécessaires au bon fonctionnement de l’application (Custom),

Par exemple, si vous ne faites pas d’accès fichiers, vous pouvez exclure la FileIOPermission ou si vous n’utilisez pas de boîte de dialogue comme sélection de fichier, vous pouvez exclure FileDialogPermission. Chaque permission possède une boîte de dialogue permettant de définir clairement le comportement désiré. Dans Visual Studio, le bouton Calculate Permissions, comme son nom l’indique va vous définir les permissions en fonction de ce que fait votre application.

 

 


Liens

  • Une FAQ très complète sur ClickOnce (en anglais): Cliquez ici
  • Un tutorial très complet en anglais: Cliquez ici

 

Publié le  21/06/2006
Auteur:  SYL#

 

Commentaires

Pas de commentaires

Si vous souhaitez ajouter un commentaire vous devez être authentifié.

 

ASP-PHP.NET  C²I  ClubVSTS  CodePPC  CodeS-SourceS  Dotnet-News.com  Tech Head Brothers 

Dotnet-Project.com© tous droits réservés
Webmaster Aleks. Ont collaboré à l'aboutissement de ce projet :
CodeS-SourceS.com, ASP-PHP.Net, DotNet-FR.org, C2i.fr, Newsletter ASP.NET.