Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Paramètres utilisateur & application : ".settings" vs base de registre

3 réponses
Avatar
Gilles TOURREAU
Salut tout le monde !

J'ai une application ou je voudrais sauvegarder des paramètres niveau
utilisateurs (propre à chaque compte Windows) et des paramètres au niveau de
mon application (commun à tous les utilisateurs de mon application).

Normalement je devrais utiliser la base de registre avec LOCAL_MACHINE et
CURRENT_USER pour sauvegarder ces paramètres, mais je viens de m'apercevoir
que .NET permet de gérer des paramètres avec des fichiers .settings au
format XML.

Que me conseillez-vous d'utiliser ?

En vous remerciant par avance de vos réponses.

--
Gilles TOURREAU
Responsable Informatique
gilles.tourreau@pos.fr

Société P.O.S
Spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr

3 réponses

Avatar
Faust
/Dans son message précédent, _Gilles TOURREAU_ a écrit/ :
Salut tout le monde !



J'ai une application ou je voudrais sauvegarder des paramètres niveau
utilisateurs (propre à chaque compte Windows) et des paramètres au niveau de
mon application (commun à tous les utilisateurs de mon application).



Normalement je devrais utiliser la base de registre avec LOCAL_MACHINE et
CURRENT_USER pour sauvegarder ces paramètres, mais je viens de m'apercevoir
que .NET permet de gérer des paramètres avec des fichiers .settings au format
XML.



Que me conseillez-vous d'utiliser ?



que pour les paramètres utilisateur ça doit être kifkif, par contre,
pour les paramètres commun tu va te heurter au problème de droit
d'accès à la base de registre (Current_user est accessible sans
problème... ou presque, par contre, Local_Machine c'est moins evident)

en utilisant le .settings tu devrais rencontrer moins de problèmes

--
*/Teträm/*
http://www.tetram.org

"Avale tout sans réfléchir, ce qui n'est pas commestible resortira
toujours" - Proverbe Troll
Avatar
Arnaud Debaene
Faust wrote:
/Dans son message précédent, _Gilles TOURREAU_ a écrit/ :
Salut tout le monde !



J'ai une application ou je voudrais sauvegarder des paramètres niveau
utilisateurs (propre à chaque compte Windows) et des paramètres au
niveau de mon application (commun à tous les utilisateurs de mon
application).



Normalement je devrais utiliser la base de registre avec
LOCAL_MACHINE et CURRENT_USER pour sauvegarder ces paramètres, mais
je viens de m'apercevoir que .NET permet de gérer des paramètres
avec des fichiers .settings au format XML.



Que me conseillez-vous d'utiliser ?



que pour les paramètres utilisateur ça doit être kifkif, par contre,
pour les paramètres commun tu va te heurter au problème de droit
d'accès à la base de registre (Current_user est accessible sans
problème... ou presque, par contre, Local_Machine c'est moins evident)



Tu risques le même problème avec des fichiers XML ou INI si tu les écrits
n'importe où (par défaut, Program Files n'est accessible en écriture qu'aux
administrateurs et utilisateurs avec pouvoir).

La solution recomandée, c'est effectivement les fichiers xml en les placant
dans un sous-répertoire du répertoire désigné par Environment.SpecialFolder
:
- pour les données par utilisateur, LocalApplicationData ou Application
Data.
- pour les données du programme, CommonApplicationData

cf Environment.GetFolderPath pour récupérer le chemin effectif.

Arnaud
MVP -VC
Avatar
Gilles TOURREAU
Je vous remercie de votre réponse.
Je n'y avais pas du tout pensé à ses répertoires...

Cordialement

--
Gilles TOURREAU
Responsable Informatique


Société P.O.S
Spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
"Arnaud Debaene" a écrit dans le message de
news: %
Faust wrote:
/Dans son message précédent, _Gilles TOURREAU_ a écrit/ :
Salut tout le monde !



J'ai une application ou je voudrais sauvegarder des paramètres niveau
utilisateurs (propre à chaque compte Windows) et des paramètres au
niveau de mon application (commun à tous les utilisateurs de mon
application).



Normalement je devrais utiliser la base de registre avec
LOCAL_MACHINE et CURRENT_USER pour sauvegarder ces paramètres, mais
je viens de m'apercevoir que .NET permet de gérer des paramètres
avec des fichiers .settings au format XML.



Que me conseillez-vous d'utiliser ?



que pour les paramètres utilisateur ça doit être kifkif, par contre,
pour les paramètres commun tu va te heurter au problème de droit
d'accès à la base de registre (Current_user est accessible sans
problème... ou presque, par contre, Local_Machine c'est moins evident)



Tu risques le même problème avec des fichiers XML ou INI si tu les écrits
n'importe où (par défaut, Program Files n'est accessible en écriture
qu'aux administrateurs et utilisateurs avec pouvoir).

La solution recomandée, c'est effectivement les fichiers xml en les
placant dans un sous-répertoire du répertoire désigné par
Environment.SpecialFolder :
- pour les données par utilisateur, LocalApplicationData ou Application
Data.
- pour les données du programme, CommonApplicationData

cf Environment.GetFolderPath pour récupérer le chemin effectif.

Arnaud
MVP -VC