Déploiement et sécurité ClickOnce
ClickOnce est une technologie de déploiement qui vous permet de créer des applications windows auto-mises à jour qui peuvent être installées et exécutées avec une interaction utilisateur minimale. Visual Studio offre une prise en charge complète de la publication et de la mise à jour d’applications déployées avec la technologie ClickOnce si vous avez développé vos projets avec Visual Basic et Visual C#. Pour plus d’informations sur le déploiement d’applications Visual C++, consultez Déploiement ClickOnce pour les applications Visual C++.
Le déploiement ClickOnce résout trois problèmes majeurs dans le déploiement :
Difficultés de mise à jour des applications. Avec le déploiement de Microsoft Windows Installer, chaque fois qu’une application est mise à jour, l’utilisateur peut installer une mise à jour, un fichier msp et l’appliquer au produit installé ; avec le déploiement ClickOnce, vous pouvez fournir automatiquement des mises à jour. 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 le déploiement de Windows Installer, les applications s’appuient souvent sur des composants partagés, avec le risque de conflits de contrôle de version ; avec le déploiement ClickOnce, chaque application est autonome et ne peut pas interférer avec d’autres applications.
Autorisations de sécurité. Le déploiement de Windows Installer nécessite des autorisations d’administration et autorise uniquement une installation limitée de l’utilisateur ; Le déploiement ClickOnce permet aux utilisateurs non administratifs d’installer et d’accorder uniquement les autorisations de sécurité d’accès au code nécessaires pour l’application.
Dans le passé, ces problèmes ont parfois provoqué la décision des développeurs de créer des applications web au lieu d’applications Windows, en sacrifiant une interface utilisateur riche pour faciliter l’installation. À l’aide d’applications déployées à l’aide de ClickOnce, vous pouvez avoir le meilleur des deux technologies.
Qu’est-ce qu’une application ClickOnce ?
Une application ClickOnce est une application Windows Presentation Foundation (.xbap), Windows Forms (.exe), une application console (.exe) ou une solution Office (.dll) 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 média hérité tel qu’un CD-ROM. Une application ClickOnce peut être installée sur l’ordinateur d’un utilisateur final et s’exécuter localement même quand l’ordinateur est hors connexion, ou il peut être exécuté en mode en ligne uniquement sans installer définitivement quoi que ce soit sur l’ordinateur de l’utilisateur final. Pour plus d’informations, consultez Choisir une stratégie de déploiement ClickOnce.
Les applications ClickOnce peuvent être mises à jour automatiquement ; ils peuvent rechercher des versions plus récentes dès qu’elles deviennent disponibles et remplacent automatiquement les fichiers mis à jour. Le développeur peut spécifier le comportement de mise à jour ; Un administrateur réseau peut également contrôler les stratégies de mise à jour, par exemple, marquer une mise à jour comme obligatoire. Les mises à jour peuvent également être restaurées vers une version antérieure par l’utilisateur final ou par un administrateur. Pour plus d’informations, consultez Choisir une stratégie de mise à jour ClickOnce.
Étant donné que les applications ClickOnce sont isolées, l’installation ou l’exécution d’une application ClickOnce ne peut pas interrompre les applications existantes. Les applications ClickOnce sont autonomes ; chaque application ClickOnce est installée et exécutée à partir d’un cache sécurisé par utilisateur et par application. Les applications ClickOnce s’exécutent dans les zones de sécurité Internet ou Intranet. Si nécessaire, l’application peut demander des autorisations de sécurité élevées. Pour plus d’informations, consultez applications ClickOnce sécurisées.
Fonctionnement de la sécurité ClickOnce
La sécurité ClickOnce principale est basée sur les certificats, les stratégies de sécurité d’accès au code et l’invite d’approbation ClickOnce.
Certificats
Les certificats Authenticode sont utilisés pour vérifier l’authenticité de l’éditeur de l’application. En utilisant Authenticode pour le déploiement d’applications, ClickOnce permet d’empêcher un programme dangereux de se présenter comme un programme légitime provenant d’une source établie et fiable. Si vous le souhaitez, les certificats peuvent également être utilisés pour signer les manifestes d’application et de déploiement pour prouver que les fichiers n’ont pas été falsifiés. Pour plus d’informations, consultez ClickOnce et Authenticode. Les certificats peuvent également être utilisés pour configurer les ordinateurs clients afin qu’ils disposent d’une liste d’éditeurs approuvés. Si une application provient d’un éditeur approuvé, elle peut être installée sans aucune interaction utilisateur. Pour plus d’informations, consultez vue d’ensemble du déploiement d’applications approuvées.
Sécurité de l’accès au code
La sécurité d'accès au code aide à limiter l'accès que le code a aux ressources protégées. Dans la plupart des cas, vous pouvez choisir les zones Internet ou Intranet local pour limiter les autorisations. Utilisez la page Sécurité dans le concepteur de projets pour demander la zone appropriée pour l’application. Vous pouvez également déboguer des applications avec des autorisations restreintes pour émuler l’expérience de l’utilisateur final. Pour plus d'informations, consultez Sécurité d'accès au code pour les applications ClickOnce.
Remarque
Dans ClickOnce pour .NET Core et .NET 5 ou version ultérieure, cette fonctionnalité n’est pas prise en charge. Pour plus d'informations, consultez ClickOnce pour .NET.
Invite d’approbation ClickOnce
Si l’application demande plus d’autorisations que la zone, l’utilisateur final peut être invité à prendre une décision d’approbation. L’utilisateur final peut décider si des applications ClickOnce telles que des applications Windows Forms, des applications Windows Presentation Foundation, des applications console, des applications de navigateur XAML et des solutions Office sont approuvées pour s’exécuter. Pour plus d’informations, consultez Guide pratique pour configurer le comportement de l’invite d’approbation ClickOnce.
Fonctionnement du déploiement ClickOnce
L’architecture de déploiement ClickOnce principale est basée sur deux fichiers manifeste XML : un manifeste d’application et un manifeste de déploiement. Les fichiers sont utilisés pour décrire l’emplacement à partir duquel les applications ClickOnce sont installées, comment elles sont mises à jour et quand elles sont mises à jour.
Publier des applications ClickOnce
Le manifeste de l’application décrit l’application elle-même. Cela inclut les assemblys, les dépendances et les fichiers qui composent l’application, les autorisations requises et l’emplacement où les mises à jour seront disponibles. Le développeur d’applications crée le manifeste de l’application à l’aide de l’Assistant Publication dans Visual Studio (outil de publication pour .NET Core et .NET 5+) ou de l’outil de génération et d’édition de manifeste (Mage.exe) dans le Kit de développement logiciel (SDK) Windows. Pour plus d’informations, consultez :
Déployer une application de bureau .NET à l’aide de ClickOnce
Déployer une application de bureau .NET Framework à l’aide de ClickOnce.
Le manifeste de déploiement décrit comment l’application est déployée. Cela inclut l’emplacement du manifeste de l’application et la version de l’application que les clients doivent exécuter.
Remarque
Dans ClickOnce pour .NET Core 3.1 et .NET 5 ou version ultérieure, utilisez dotnet-mage.exe au lieu de Mage.exe. Pour plus d'informations, consultez ClickOnce pour .NET.
Déployer des applications ClickOnce
Une fois créé, le manifeste de déploiement est copié à l’emplacement du déploiement. Il peut s’agir d’un serveur web, d’un partage de fichiers réseau ou d’un média hérité tel qu’un CD. Le manifeste de l’application et tous les fichiers d’application sont également copiés dans un emplacement de déploiement spécifié dans le manifeste de déploiement. Cela peut être le même que l’emplacement de déploiement, ou il peut s’agir d’un autre emplacement. Lorsque vous utilisez l’Assistant Publication dans Visual Studio, les opérations de copie sont effectuées automatiquement.
Installer des applications ClickOnce
Une fois qu’il a été déployé sur l’emplacement de déploiement, les utilisateurs finaux peuvent télécharger et installer l’application en cliquant sur une icône représentant le fichier manifeste de déploiement sur une page Web ou dans un dossier. Dans la plupart des cas, l’utilisateur final est présenté avec une boîte de dialogue simple demandant à l’utilisateur de confirmer l’installation, après quoi l’installation se poursuit et l’application est démarrée sans intervention supplémentaire. Dans les cas où l’application nécessite des autorisations élevées ou si l’application n’est pas signée par un certificat approuvé, la boîte de dialogue demande également à l’utilisateur d’accorder l’autorisation avant que l’installation puisse continuer. Bien que les installations ClickOnce soient par utilisateur, l’élévation d’autorisations peut être requise s’il existe des conditions préalables qui nécessitent des privilèges d’administrateur. Pour plus d’informations sur les autorisations élevées, consultez Sécurisation des applications ClickOnce.
Les certificats peuvent être approuvés au niveau de l’ordinateur ou de l’entreprise, afin que les applications ClickOnce signées avec un certificat approuvé puissent être installées en mode silencieux. Pour plus d’informations sur les certificats approuvés, consultez vue d’ensemble du déploiement d’applications approuvées.
L’application peut être ajoutée au menu Démarrer de l’utilisateur et au groupe Ajouter ou supprimer des programmes dans le panneau de configuration . Contrairement à d’autres technologies de déploiement, rien n’est ajouté au dossier program Files ou au Registre, et aucun droit d’administration n’est requis pour l’installation
Remarque
Il est également possible d'empêcher l'ajout de l'application au menu Démarrer et au groupe Ajouter ou supprimer des programmes, ce qui la fait se comporter comme une application Web. Pour plus d’informations, consultez Choisir une stratégie de déploiement ClickOnce.
Mettre à jour les applications ClickOnce
Lorsque les développeurs d’applications créent une version mise à jour de l’application, ils génèrent un manifeste d’application et copient des fichiers dans un emplacement de déploiement, généralement un dossier frère dans le dossier de déploiement d’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.
Remarque
L’Assistant Publication dans Visual Studio peut être utilisé pour effectuer ces étapes. Pour .NET Core et .NET 5+, l’outil Publier fournit ces étapes.
En plus de 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) où l’application recherche les versions mises à jour. Les propriétés de publication ClickOnce sont utilisées pour spécifier quand et à quelle fréquence l'application doit vérifier des mises à jour. Le comportement de mise à jour peut être spécifié dans le manifeste de déploiement, ou il peut être présenté en tant que choix 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 rendre les mises à jour obligatoires ou pour revenir à une version antérieure. Pour plus d’informations, consultez Choisir une stratégie de mise à jour ClickOnce.
Programmes d’installation tiers
Vous pouvez personnaliser votre programme d’installation ClickOnce pour installer des composants tiers avec votre application. Vous devez disposer du package redistribuable (.exe ou .msi fichier) et décrire le package avec un manifeste de produit neutre en langage et un manifeste de package spécifique à la langue. Pour plus d’informations, consultez Création de packages de programme d’amorçage.
Outils ClickOnce
Le tableau suivant présente les outils que vous pouvez utiliser pour générer, modifier, signer et signer à nouveau les manifestes d’application et de déploiement. Pour .NET Core et .NET 5+, les options similaires aux attributs MSBuild sont définies à l’aide du profil de publication.
Outil | Description |
---|---|
Page de sécurité , Concepteur de projet | Signe les manifestes d’application et de déploiement. Pour .NET Core et .NET 5+, ces paramètres se trouvent dans le profil de publication. |
Page de publication , Concepteur de projets | Génère et modifie les manifestes d’application et de déploiement pour les applications Visual Basic et Visual C#. Pour .NET Core et .NET 5+, ces paramètres se trouvent dans le profil de publication. |
Mage.exe (outil de génération de manifeste et d’édition) | Génère les manifestes d’application et de déploiement pour les applications Visual Basic, Visual C# et Visual C++. Signe et re-signe les manifestes d’application et de déploiement. Peut être exécuté à partir de scripts de traitement par lots et de l'interface en ligne de commande. |
dotnetmage.exe (outil de génération de manifeste et d’édition) | Génère les manifestes d’application et de déploiement pour les applications .NET 5+ C# et Visual Basic. L’utilisation équivaut à Mage.exe. Signe et contre-signe les manifestes d’application et de déploiement. Peut être exécuté à partir de scripts par lots et de l’invite de commandes. |
MageUI.exe (outil de génération de manifeste et d’édition, client graphique) | Génère et modifie les manifestes d’application et de déploiement. Signe et signe à nouveau les manifestes d’application et de déploiement. |
GenerateApplicationManifest, tâche | Génère le manifeste de l’application. Peut être exécuté à partir de MSBuild. Pour plus d’informations, consultez Informations de référence sur MSBuild. |
Tâche GenerateDeploymentManifest | Génère le manifeste de déploiement. Peut être exécuté à partir de MSBuild. Pour plus d’informations, consultez Informations de référence sur MSBuild. |
SignFile, tâche | Signe les manifestes d’application et de déploiement. Peut être exécuté à partir de MSBuild. Pour plus d’informations, consultez la référence MSBuild . |
Microsoft.Build.Tasks.Deployment.ManifestUtilities | Développez votre propre application pour générer les manifestes d’application et de déploiement. |
Le tableau suivant présente la version .NET Framework requise pour prendre en charge les applications ClickOnce dans ces navigateurs.
Navigateur | Version du .NET Framework |
---|---|
Firefox | 2.0 SP1, 3.5 SP1, 4 |
Chrome | 3.5 |
Microsoft Edge | 3.5 |
Contenu connexe
- Publier des applications ClickOnce
- applications ClickOnce sécurisées
- Déployer des composants COM avec clickOnce
- Créer des applications ClickOnce à partir de la ligne de commande
- Déboguer des applications ClickOnce qui utilisent System.Deployment.Application
- Déploiement ClickOnce sur les versions antérieures de Windows