IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Conservation des settings lors d'un upgrade de version


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 47
    Points : 60
    Points
    60
    Par défaut Conservation des settings lors d'un upgrade de version
    Bonjour,

    Je travaille sur un projet winform C# avec VS2008 + framework .net 2.0 et j'utilise le wizard par défaut de VS2008 pour réaliser mes installations .msi .

    Mon application possède un fichier de Settings dans lequel les préférences utilisateur sont stoquées .
    Lorsque je désinstalle et réinstalle la même version de l'application, aucun souci : les préférences sont conservées .
    En revanche lorsque je réalise un upgrade de l'application (par exemple j'installe une version 1.0.0 et je l'upgrade en version 2.0.0), les préférences ne sont pas gardées et donc remplacées par leurs valeurs par défaut (dans un sens ce n'est pas si étonnant car le format du fichier de settings a pu changer entre les 2 versions).

    Ma question est donc la suivante : Comment faire pour permettre de conserver tout ou partie des préférences d'une ancienne version lorsqu'on réalise une upgrade d'application ?

    N.B. : J'ai essayé de jouer un peu avec les méthodes Properties.Settings.Default.GetPreviousVersion() et Properties.Settings.Default.Upgrade() mais sans résultat.

    N.B. 2 : J'imagine qu'il y a éventuellement moyen de passer par un override de la classe System.Configuration.Install.Installer et d'aller lire/écrire le fichier xml de settings, mais ça me semble très fastidieux et pas forcément viable comme méthode.

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Aha, je connais ce problème

    Mes recherches sur le net m'avaient amené là : http://cs.rthand.com/blogs/blog_with...12/09/246.aspx

    Testé, approuvé.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 47
    Points : 60
    Points
    60
    Par défaut
    Merci beaucoup, j'avais déjà lu cette solution et j'avais des problèmes à la faire fonctionner pour les raisons suivantes :

    - La property "Copy to Output Directory" du fichier de Settings était en "Do not copy", j'ai dû le passer en "Copy always" (peut-être parce que mon setup n'était pas assez clean ?).
    - Soit 2 versions qu'on nommera communément v1 et v2 . Si on installe v1 et qu'on upgrade en v2 ça fonctionne. Si ensuite on désinstalle v1 et v2, puis qu'on recommence toute l'opération, les préférences de v2 seront celles de l'ancienne v2 et pas celles de la v1 réinstallée (ce qui m'a un peu fait tourner en rond).

    Voilà en tout cas ça fonctionne, encore merci .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/06/2009, 16h38
  2. Réponses: 3
    Dernier message: 14/05/2008, 14h07
  3. [Débutant] Conserver la couleur lors d'un copier coller
    Par ADIDASman dans le forum JBuilder
    Réponses: 2
    Dernier message: 21/05/2003, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo