Introduction au déploiement ClickOnce

Qu'est-ce que le déploiement ClickOnce ?

ClickOnce est une technologie de déploiement qui permet de créer des applications Windows à mise à jour automatique et pouvant être installées et exécutées avec un minimum d'intervention de l'utilisateur. Le déploiement ClickOnce permet de résoudre trois problèmes majeurs inhérents au déploiement :

  • Difficultés liées à la mise à jour des applications. Avec le déploiement de Microsoft Windows Installer, chaque fois qu'une application est mise à jour, l'utilisateur doit réinstaller l'application entière ; avec le déploiement ClickOnce, vous pouvez effectuer des mises à jour automatiquement. Seules les parties de l'application qui ont changé sont téléchargées, puis l'application complète, mise à jour, est réinstallée à partir d'un nouveau dossier côte à côte.
  • Impact sur l'ordinateur de l'utilisateur. Avec un déploiement Windows Installer, les applications dépendent souvent des composants partagés, d'où l'existence d'un risque potentiel de conflit de versions. Dans le cas d'un déploiement ClickOnce, chaque application est autonome et ne peut interférer avec d'autres applications.
  • Autorisations de sécurité. Un déploiement Windows Installer exige des autorisations administratives et n'autorise qu'une installation limitée de l'utilisateur ; le déploiement ClickOnce autorise les utilisateurs dépourvus de privilèges administratifs à effectuer l'installation et n'octroie que les autorisations de sécurité d'accès au code nécessaires à l'application.

Par le passé, il est arrivé que des développeurs choisissent de créer des applications Web plutôt que des applications Windows, privilégiant la facilité d'installation au détriment de l'interface utilisateur élaborée et de la réactivité Windows Forms. Avec les applications déployées à l'aide de ClickOnce, vous pouvez bénéficier du meilleur des deux technologies.

Qu'est-ce qu'une application ClickOnce ?

En termes simples, une application ClickOnce représente n'importe quelle application Windows Forms ou console publiée à l'aide de la technologie ClickOnce. Vous pouvez publier une application ClickOnce de trois façons différentes : à partir d'une page Web, d'un partage de fichiers réseau ou d'un support tel qu'un CD-ROM. Une application ClickOnce peut être installée sur l'ordinateur d'un utilisateur final et exécutée localement même si l'ordinateur est hors connexion, ou elle peut être exécutée en ligne sans nécessiter l'installation permanente d'éléments sur l'ordinateur de l'utilisateur final. Pour plus d'informations, consultez Choix d'une stratégie de déploiement ClickOnce.

Les applications ClickOnce peuvent se mettre à jour automatiquement ; elles peuvent vérifier l'existence de versions plus récentes dès qu'elles sont disponibles et remplacer automatiquement tous les fichiers mis à jour. Le développeur peut définir le comportement de mise à jour et un administrateur réseau peut contrôler les stratégies de mise à jour, par exemple en marquant une mise à jour comme étant obligatoire. Les mises à jour peuvent également être annulées et la version antérieure restaurée par l'utilisateur final ou par un administrateur. Pour plus d'informations, consultez Choix d'une stratégie de mise à jour ClickOnce.

Les applications ClickOnce étant fondamentalement isolées, l'installation ou l'exécution d'une application ClickOnce ne peut pas affecter les applications existantes. Les applications ClickOnce sont complètement autonomes ; chaque application ClickOnce est installée et exécutée à partir d'un cache sécurisé, spécifique à chaque utilisateur et à chaque application. Par défaut, les applications ClickOnce s'exécutent dans les zones de sécurité Internet ou Intranet. Le cas échéant, l'application peut demander des autorisations de sécurité élevées. Pour plus d'informations, consultez Déploiement et sécurité ClickOnce.

Fonctionnement du déploiement ClickOnce

L'architecture de déploiement ClickOnce de base repose sur deux manifestes XML : un manifeste d'application et un manifeste de déploiement.

Le manifeste d'application décrit l'application elle-même, y compris les assemblys, les dépendances et les fichiers qui composent l'application, les autorisations requises et l'emplacement dans lequel les mises à jour seront disponibles. Le développeur de l'application crée le manifeste d'application en utilisant l'Assistant Publication dans Visual Studio 2005 ou l'outil de génération de manifeste (Mage.exe) du Kit de développement .NET Framework SDK. Pour plus d'informations, consultez Comment publier une application ClickOnce.

Le manifeste de déploiement décrit comment l'application est déployée, y compris l'emplacement du manifeste d'application et la version de l'application que les clients doivent exécuter. Un administrateur crée le manifeste de déploiement à l'aide de l'outil de génération de manifeste (Mage.exe) du Kit de développement .NET Framework SDK.

Après sa création, le manifeste de déploiement est copié vers l'emplacement de déploiement. Il peut s'agir d'un serveur Web, d'un partage de fichiers réseau ou d'un support tel qu'un CD-ROM. Le manifeste d'application et tous les fichiers de l'application sont également copiés vers un emplacement de déploiement spécifié dans le manifeste de déploiement. Il peut s'agir du même emplacement que celui du déploiement ou d'un autre. Lors de l'utilisation de l'Assistant Publication de Microsoft Visual Studio 2005, les opérations de copie sont exécutées automatiquement.

Après le déploiement de l'application dans l'emplacement de déploiement, les utilisateurs finaux peuvent la télécharger et l'installer en cliquant sur une icône représentant le manifeste de déploiement sur une page Web ou dans un dossier. Dans la plupart des cas, l'utilisateur final voit s'afficher une simple boîte de dialogue lui demandant de confirmer l'installation, après quoi l'installation continue et l'application est lancée sans autre intervention. Dans les cas où l'application nécessite des autorisations élevées, la boîte de dialogue demande également à l'utilisateur d'octroyer l'autorisation pour que l'installation puisse se poursuivre.

L'application est ajoutée au menu Démarrer de l'utilisateur et au groupe Ajout/suppression de programmes dans le Panneau de configuration. Contrairement à d'autres technologies de déploiement, rien n'est ajouté au dossier Program Files, au Registre ou au bureau, et aucun droit d'administration n'est requis pour l'installation.

Lorsque le développeur de l'application crée une version mise à jour de l'application, il génère également un nouveau manifeste d'application et copie des fichiers vers un emplacement de déploiement, généralement un dossier frère du dossier de déploiement de l'application d'origine. L'administrateur met à jour le manifeste de déploiement pour qu'il pointe vers l'emplacement de la nouvelle version de l'application.

Outre l'emplacement de déploiement, le manifeste de déploiement contient également un emplacement de mise à jour (une page Web ou un partage de fichiers réseau) au niveau duquel l'application vérifie l'existence de versions mises à jour. Les propriétés Publish de ClickOnce sont utilisées pour spécifier le moment et le mode de vérification des mises à jour effectuées par l'application. Le comportement de mise à jour peut être spécifié dans le manifeste de déploiement ou il peut être présenté sous la forme d'un choix d'options utilisateur dans l'interface utilisateur de l'application au moyen des API ClickOnce. En outre, les propriétés Publish peuvent être utilisées pour configurer la mise à jour obligatoire ou restaurer une version antérieure. Pour plus d'informations, consultez Choix d'une stratégie de mise à jour ClickOnce.

ClickOnce et le tableau de comparaison de Windows Installer

Le tableau suivant compare les fonctionnalités d'un déploiement ClickOnce et d'un déploiement Windows Installer :

Fonctionnalité ClickOnce Windows Installer
Mise à jour automatique1 Oui Oui
Restauration après installation2 Oui Non
Mise à jour à partir du Web Oui Non
N'affecte pas les composants partagés ou d'autres applications Oui Non
Autorisations de sécurité octroyées Octroie uniquement les autorisations nécessaires à l'application (sécurité accrue) Octroie un niveau de confiance totale par défaut (sécurité moindre)
Autorisations de sécurité requises Zone Internet ou Intranet (confiance totale pour l'installation à partir de CD-ROM) Administrateur
Signature du manifeste d'application et de déploiement Oui Non
Interface utilisateur au moment de l'installation Invite unique Assistant fractionné
Installation d'assemblys à la demande Oui Non
Installation de fichiers partagés Non Oui
Installation de pilotes Non Oui (avec actions personnalisées)
Installation dans le Global Assembly Cache Non Oui
Installation pour plusieurs utilisateurs Non Oui
Ajout de l'application au menu Démarrer Oui Oui
Ajout de l'application au groupe Démarrage Non Oui
Ajout de l'application au menu Favoris Non Oui
Inscription des types de fichier Non Oui
Accès au Registre lors de l'installation3 Limité Oui
Correctif de fichier binaire Non Oui
Emplacement d'installation de l'application Cache de l'application ClickOnce Dossier Program Files

En savoir plus sur le déploiement ClickOnce

Pour plus d'informations sur le déploiement ClickOnce, consultez la bibliothèque ClickOnce sur windowsforms.net.