Registre vs fichier INI pour stocker les paramètres d'application configurables par l'utilisateur

Je suis un nouveau programmeur Windows et je ne sais pas où stocker les paramètres d'application configurables par l'utilisateur. Je comprends la nécessité de fournir un moyen convivial permettant à l'utilisateur de modifier les paramètres de l'application, comme un bouton Modifier | Formulaire de paramètres ou similaire. Mais où dois-je stocker les valeurs une fois que l'utilisateur a cliqué sur le bouton Appliquer de ce formulaire ?

Quels sont les avantages et les inconvénients du stockage des paramètres dans le registre Windows par rapport à leur stockage dans un fichier INI local ou un fichier de configuration ou similaire ?

请先 登录 后评论

6 réponses

Community

Avantages du fichier de configuration :

  1. Facile à faire. Vous n'avez pas besoin de connaître les appels d'API Windows. Vous avez juste besoin de connaître l'interface d'E/S de fichier de votre langage de programmation.
  2. Portable. Si vous portez votre application sur un autre système d'exploitation, vous n'avez pas besoin de modifier le format de vos paramètres.
  3. Modifiable par l'utilisateur. L'utilisateur peut modifier le fichier de configuration en dehors de l'exécution du programme.

Avantages du registre :

  1. Sécurisé. L'utilisateur ne peut pas supprimer accidentellement le fichier de configuration ou corrompre les données à moins qu'il ne connaisse regedit. Et puis l'utilisateur demande juste des ennuis.
  2. Je ne suis pas un programmeur Windows expert, mais je suis sûr que l'utilisation du registre facilite d'autres tâches spécifiques à Windows (paramètres spécifiques à l'utilisateur, éléments d'administration réseau comme la stratégie de groupe, etc.).

Si vous avez juste besoin d'un moyen simple de stocker les informations de configuration, je recommanderais un fichier de configuration, en utilisant INI ou XML comme format. Je suggère d'utiliser le registre uniquement s'il y a quelque chose de spécifique que vous souhaitez retirer de l'utilisation du registre.

请先 登录 后评论
deadtime

Je suis d'accord avec Daniel. S'il s'agit d'une application volumineuse, je pense que je ferais des choses dans le registre. S'il s'agit d'une petite application et que vous souhaitez en avoir des aspects configurables par l'utilisateur sans créer de formulaire de configuration, optez pour un fichier INI rapide.

Je fais habituellement l'analyse comme ceci (si le format dans le fichier .ini est option = valeur, 1 par ligne, commentaires commençant par

请先 登录 后评论
Community

Comme Daniel l'a indiqué, le stockage des données de configuration dans le registre vous donne la possibilité d'utiliser des modèles d'administration. Autrement dit, vous pouvez définir un modèle d'administration, l'utiliser dans une stratégie de groupe et administrer la configuration de votre application à l'échelle du réseau. Selon la nature de l'application, cela peut être une aubaine.

请先 登录 后评论
On Freund

Il y a un autre avantage à utiliser un fichier INI sur le registre que je n'ai pas vu mentionné : Si l'utilisateur utilise une sorte de chiffrement basé sur le volume/fichier, il peut facilement chiffrer le fichier INI. Avec le registre, ce sera probablement plus problématique.

请先 登录 后评论
Mark Ransom

Le registre est optimisé pour un accès rapide et une mise à jour facile, et c'est le seul moyen de faire certaines choses spécifiques à Windows comme l'association à une extension. Et vous pouvez ignorer l'argument concernant la suppression d'un seul répertoire pour désinstaller votre programme - Windows Vista ne vous permettra pas de modifier les fichiers dans le répertoire Program Files, donc votre configuration devra de toute façon aller dans un dossier différent.

Il existe une directive générale pour la programmation Windows : faites les choses comme Microsoft s'y attend, et votre vie sera beaucoup plus facile.

Cela dit, je peux voir l'attrait du dossier INI, et je ne reprocherais à personne de l'examiner.

请先 登录 后评论
EvilTeach

L'utilisation d'un fichier ini, dans le même répertoire que l'application, permet de le sauvegarder avec l'application. Ainsi, après avoir rechargé votre système d'exploitation, il vous suffit de restaurer le répertoire de l'application et vous avez votre configuration comme vous le souhaitez.

请先 登录 后评论