Une fois une application cliente prête à être utilisée, il faut encore la mettre à disposition des utilisateurs et la maintenir. Pouvoir déployer et mettre à jour ce type d’application est crucial pour une entreprise performante. Ces processus se doivent d’être transparents pour l’utilisateur et simple pour l’administrateur afin de ne pas devenir une gêne pour l’entreprise.
La solution ClickOnce
Microsoft a mis à disposition dans Visual Studio 2005 la solution ClickOnce Deployment, également utilisable à partir du Windows SDK pour faciliter le déploiement et les mises à jour des applications basées sur Windows, c’est-à-dire les applications Windows Forms, Windows Presentation Foundation (WPF) et Console. À noter que ces applications doivent être réalisées en Visual Basic ou C#.
Stratégies de déploiement
Une application peut être déployée comme suit :
- s’installer à partir d’une page web ou d’un emplacement réseau.
- s’installer à partir d’un support d’installation physique (CD-ROM, clé USB …).
- s’exécuter à distance à partir d’un emplacement réseau.
L’application peut s’installer et fonctionner en mode hors-ligne ou nécessiter un accès permanent à l’emplacement réseau, sans installation sur l’ordinateur final.
Stratégies de mises à jour
Une application installée avec ClickOnce peut se mettre à jour automatiquement : vérifier la disponibilité d’une nouvelle version et replacer automatiquement les fichiers mis à jour. Les mises à jour peuvent être inversées par l’utilisateur ou un administrateur.
Les stratégies sont les suivantes :
- vérifier la disponibilité de mises à jour au démarrage de l’application.
- vérifier la disponibilité de mises à jour après le démarrage de l’application en tache de fond.
- utiliser une interface utilisateur spécifique.
Vous pouvez spécifier la fréquence des vérifications et si les mises à jour sont obligatoires.
Sécurité
Les mécanismes de sécurité de ClickOnce sont basés sur des certificats, des polices de sécurité d’accès par le code et une invite d’approbation. Les certificats permettent d’assurer à l’utilisateur que le programme provient bien de la source vérifiée et n’a pas été modifié. L’administrateur peut ainsi définir une liste blanche d’éditeurs. Le développeur peut enfin définir un périmètre d’exécution de l’application, afin de s’assurer que le code ne peut pas accéder à des ressources protégées. Enfin en dernier recours, si l’application a besoin d’une autorisation qui contrevient aux polices définies, l’utilisateur peut approuver la demande via une fenêtre qui apparaîtra.
Procédure de configuration de ClickOnce Deployement
Le moyen le plus simple pour configurer la publication, le déploiement et les mises à jour est d’aller dans l’onglet « Publier » des propriétés du projet.
C’est ici que vous spécifiez le dossier de sortie de la génération (dossier de publication) et le dossier d’accès aux livrables (dossier d’installation). Vous pouvez préciser la stratégie de déploiement (en ligne, hors ligne) ainsi que la version de publication (différente de la version d’Assembly).
Le développeur a la possibilité d’exclure certains fichiers des livrables avec la fenêtre « Fichiers d’application ».
Vous pouvez définir dans la fenêtre « Composants Requis » quels composants doivent être installés et à partir de quelle source (officielle en ligne, emplacement de l’application, emplacement spécifique).
La stratégie de mise à jour peut être configurée dans la fenêtre « Mises à jour des applications ». Le moment, ainsi que la fréquence des mises à jour, peuvent être spécifiés, de même que si l’application dispose d’une version minimale.
Dans les options, il est possible d’enrichir le livrable avec des informations sur l’éditeur, le nom du produit ou du groupe de produits qui s’afficheront dans la fenêtre d’installation/désinstallation des programmes ainsi que des URL de supports.
Il est également possible de préciser des comportements lors des déploiements, comme le fichier htm qui permet la récupération du livrable depuis une page Internet ou le démarrage automatique du setup à l’insertion du support d’installation.
Il est également possible de spécifier l’enregistrement de l’application dans le registre des associations de fichiers, si l’application propose l’ouverture de fichiers avec une extension particulière.
L’Assistant de Publication vous permet de faire une configuration rapide et minimale, et le bouton « Publier maintenant » de directement lancer le processus de publication.
Notez que le raccourci « Publier » de l’Explorateur de solutions vous amène sur l’Assistant de Publication mais vous autorise à directement publier si les informations requises sont déjà spécifiées.
Présentation des livrables
Après la publication, vous trouverez dans le dossier de publication divers fichiers que vous devrez déplacer dans le dossier d’installation.
- setup.exe : exécutable qui va installer l’application.
- MonApplication.application : manifeste de déploiement. Il s’agit d’un fichier XML de configuration du déploiement et des mises à jour. Vous y trouverez l’implémentation de la stratégie de déploiement ainsi que de la stratégie de mises à jour spécifiée plus tôt. Vous trouverez également des clés de sécurité qui permettent de s’assurer de l’authenticité des mises à jour.
- Application Files\MonApplication[VersionDePublication]\ : dossier qui va contenir les différentes versions des livrables, avec manifeste de déploiement. Vous pouvez supprimer les anciennes versions si vous êtes sûr de ne plus en avoir besoin.
o MonApplication.application : manifeste de déploiement.
o MonApplication.exe.config.deploy : fichier de configuration accessible par l’application (App.config par exemple).
o MonApplication.exe.deploy : exécutable.
o MonApplication.manifest : manifeste de l’application (Assembly, dépendances …)
Lors de l’installation hors-ligne, la dernière version sera placé dans les dossiers de cache ..\appdata\Local\Apps\…
Conclusion
Depuis Visual Studio 2005, la solution ClickOnce de déploiement et de mise à jour offre la possibilité aux développeurs, aux administrateurs et aux utilisateurs de profiter d’applications clientes disponibles et à jour de manière transparente et simple. Le gain d’efficacité apporté par une solution de déploiement et de mise à jour simple et puissante comme ClickOnce permet de réduire les frictions entre utilisateurs finaux et outils de même que les interactions entre utilisateurs et administrateurs, améliorant ainsi le fonctionnement d’une entreprise.