ClickOnce et paramètres d’application
La fonctionnalité de paramètres d’application de Windows Forms simplifie la création, le stockage et la gestion des applications personnalisées et des préférences utilisateur sur le client. Le document suivant décrit le fonctionnement des fichiers de paramètres d’application dans une application ClickOnce, et comment ClickOnce migre les paramètres lorsque l’utilisateur effectue une mise à niveau vers la version suivante.
Les informations ci-dessous s’appliquent uniquement au fournisseur de paramètres d’application par défaut, la classe LocalFileSettingsProvider. Si vous fournissez un fournisseur personnalisé, ce dernier détermine comment il stocke ses données et met à niveau ses paramètres entre les versions. Pour plus d’informations sur les fournisseurs de paramètres d’application, consultez Architecture des paramètres d’application.
Fichiers de paramètres d’application
Les paramètres d’application consomment deux fichiers : <app>.exe.config et user.config, où app est le nom de votre application Windows Forms. user.config est créé sur le client la première fois que votre application stocke des paramètres étendus à l’utilisateur. <app>.exe.config, en revanche, existera avant le déploiement si vous définissez des valeurs par défaut pour les paramètres. Visual Studio inclut automatiquement ce fichier lorsque vous utilisez sa commande Publier. Si vous créez votre application ClickOnce à l’aide de Mage.exe ou MageUI.exe, vous devez vous assurer que ce fichier est inclus dans les autres fichiers de votre application lorsque vous remplissez votre manifeste d’application.
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.
Dans une application Windows Forms non déployée à l’aide de ClickOnce, le fichier <app>.exe.config de l’application est stocké dans le répertoire de l’application, tandis que le fichier user.config est stocké dans le dossier Documents et paramètres de l’utilisateur. Dans une application ClickOnce, <app>.exe.config réside dans le répertoire de l’application à l’intérieur du cache de l’application ClickOnce, et user.config se trouve dans le répertoire de données ClickOnce pour cette application.
Quelle que soit la façon dont vous déployez votre application, les paramètres de l’application garantissent un accès en lecture sécurisé à <app>.exe.config et un accès sécurisé en lecture/écriture à user.config.
Dans une application ClickOnce, la taille des fichiers de configuration utilisés par les paramètres d’application est limitée par la taille du cache ClickOnce. Pour plus d’informations, consultez Vue d’ensemble du cache ClickOnce.
.NET Core et .NET 5+
Actuellement, un assembly .NET Core à publier doit être signé avec un fichier de clé de nom fort. Si ce n’est pas le cas, la méthode ApplicationSettingsBase.Upgrade
ne copie pas correctement les paramètres après une nouvelle publication ClickOnce. Vous pouvez spécifier l’utilisation d’un nom fort dans les propriétés du projet .NET Core, sous l’option Créer > Affectation de noms forts.
Mises à niveau de la version
De la même manière que chaque version d’une application ClickOnce est isolée de toutes les autres, les paramètres d’application d’une application ClickOnce sont également isolés des paramètres des autres versions. Lorsque votre utilisateur effectue une mise à niveau vers une version ultérieure de votre application, les paramètres de l’application comparent les paramètres de la version la plus récente (numérotée) aux paramètres fournis avec la version mise à jour, et les paramètres sont fusionnés dans un nouvel ensemble de fichiers de paramètres.
Le tableau suivant décrit comment les paramètres d’application déterminent les paramètres à copier.
Type de modification | Action de mise à niveau |
---|---|
Paramètre ajouté à <app>.exe.config | Le nouveau paramètre est fusionné dans <app>.exe.config pour la version actuelle |
Paramètre supprimé d’<app>.exe.config | L’ancien paramètre est supprimé de la version actuelle d’<app>.exe.config |
La valeur par défaut du paramètre a été modifiée ; paramètre local toujours défini sur la valeur par défaut d’origine dans user.config | Le paramètre est fusionné dans user.config pour la version actuelle avec la nouvelle valeur par défaut |
La valeur par défaut du paramètre a été modifiée ; paramètre défini sur une valeur autre que celle par défaut dans user.config | Le paramètre est fusionné dans user.config pour la version actuelle avec la valeur autre que celle par défaut conservée |
Si vous avez créé votre propre classe wrapper de paramètres d’application et que vous souhaitez personnaliser la logique de mise à jour, vous pouvez remplacer la méthode Upgrade.
Paramètres ClickOnce et itinérance
ClickOnce ne fonctionne pas avec les paramètres d’itinérance, qui permettent à votre fichier de paramètres de vous suivre sur les ordinateurs d’un réseau. Si vous avez besoin de paramètres d’itinérance, vous devez soit implémenter un fournisseur de paramètres d’application qui stocke les paramètres sur le réseau, soit développer vos propres classes de paramètres personnalisées pour le stockage des paramètres sur un ordinateur distant. Pour plus d’informations sur les fournisseurs de paramètres, consultez Architecture des paramètres d’application.