2010-06-13 22 views
2

J'utilise le Windows Forms Application settings architecture (ou je suppose que vous êtes censé y faire référence) et enregistre avec succès les paramètres utilisateur dans AppData. Ce que je veux faire, c'est avoir quelques paramètres communs à tous les utilisateurs d'une machine particulière et certains paramètres qui errent avec les utilisateurs sur les machines. Par exemple, j'ai quelques paramètres relatifs à un périphérique attaché à l'ordinateur (modèle, paramètres, etc.) et certaines préférences de l'utilisateur, comme les couleurs de l'interface utilisateur.Paramètres C# en utilisant ApplicationSettingsBase - itinérant et commun

Les préférences de couleurs doivent être transmises à l'utilisateur, mais les paramètres du périphérique doivent rester sur l'ordinateur local, quel que soit le type de connexion.

Comment puis-je marquer ces types de paramètres afin que certains soient stockés dans All Users/AppData/... et d'autres dans [user name]/AppData/...?

Notez que je ne pas voulez les paramètres de niveau d'application - chaque ordinateur sur lequel l'application sera installée aura des paramètres différents.

Je cible Net 3.0 si cela fait une différence.

Répondre

2

Cela se fait via l'attribut [SettingsManageability]. La classe LocalFileSettingsProvider le vérifie, la présence de l'attribut semble être suffisante, tant que l'application n'est pas déployée ClickOnce. Cela semble plutôt inutile, le concepteur de paramètres n'a aucun support pour cela.

+0

Ah c'est fait. Merci :) –

0

Sur la page vous avez accédé à:

Paramètres Emplacements des fichiers

L'emplacement du app.exe.config et fichiers user.config différeront en fonction comment l'application est installée. Pour une application Windows Forms copié sur l'ordinateur local, app.exe.config résidera dans le même répertoire que le répertoire de base du principal fichier exécutable de l'application , et user.config résidera dans le emplacement spécifié par la propriété Application.LocalUserAppDataPath . Pour une application installée au moyen de ClickOnce, ces deux fichiers se trouvent dans le répertoire de données ClickOnce situé sous % InstallRoot% \ Documents et Settings \ nom_utilisateur \ Local Settings.

L'emplacement de stockage de ces fichiers est légèrement différente si un utilisateur a activé les profils d'itinérance qui permet à un utilisateur de définir différents paramètres Windows et application lorsque il utilise d'autres ordinateurs dans un domaine. Dans ce cas, les deux applications ClickOnce et applications non ClickOnce auront leur app.exe.config et user.config fichiers stockés sous % InstallRoot% \ Documents and Settings \ nom d'utilisateur \ Application Data.

Pour plus d'informations sur la fonction des paramètres d'application fonctionne avec la nouvelle technologie de déploiement, voir ClickOnce et application Paramètres. Pour plus d'informations sur le répertoire de données ClickOnce, voir Accès aux données locales et distantes dans ClickOnce Applications.

+0

C'est bien, mais les paramètres de l'application ne sont pas inscriptibles à l'exécution - http://msdn.microsoft.com/en-us/library/aa730869%28VS.80%29.aspx - et les paramètres de l'utilisateur lorsque l'itinérance est activée vont se déplacer avec l'utilisateur. Puis-je différencier les paramètres utilisateur «locaux» (spécifiques à la machine) des paramètres utilisateur «itinérants» (spécifiques à l'utilisateur)? –