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

C# Discussion :

Déploiement de properties.Settings


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 317
    Points : 2 507
    Points
    2 507
    Par défaut Déploiement de properties.Settings
    Bonjour tout le monde,

    Je suis en train de mettre à jour un programme WinForms ... carrément pour .Net Framework 2.

    Pour déployer la version précédente je ne me suis pas cassé la tête : j'ai copié le répertoire de l'exécutable vers un sous-répertoire de Program Files sur la machine de l'utilisateur (en passant par un répertoire temporaire, sinon je me serais fait jeter par Windows pour raisons de sécurité.

    Ça a très bien fonctionné.

    Seulement, maintenant, dans la nouvelle version, j'utilise des Properties.Settings.Default ...

    L'application n'a pas protesté, tout le reste s'est exécuté correctement, mais les propriétés n'ont pas été sauvegardées.

    Il y aurait bien la solution de créer un programme de déploiement, en acceptant la lourdeur de la procédure (surtout que maintenant, chacun propose son programme de déploiement, et ne le teste pas forcément avant de le mettre en ligne).

    Et à la main, est-ce que c'est raisonnable ?
    En sachant ce qu'il faut mettre dans quel répertoire ...

    J'ai essayé de bricoler un truc dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoaming);
    et avec config.FilePath, si j'ai bien lu dans différents fils, je suis supposé trouver le chemin du fichier user.config, où sont stockés les réglages de portée utilisateur.

    Alors, j'ai essayé de remonter au répertoire parent, et de l'ouvrir dans l'explorateur, dans le genre Process.Start("explorer", strPath).

    Hum ... On dirait que Windows n'a pas apprécié : je me suis retrouvé dans mon répertoire de documents.

    Donc, je suppose que ce n'est pas la peine que je lance la même chose sur la machine utilisatrice, pour voir si user.config est dedans.

    Hum, ma recherche était "WinForms déployer Properties.Settings".

    Hum, étant donné ce qu'a donné la première page de résultats, j'hésite à trop insister sur les suivantes. Quelqu'un aura peut-être une meilleure idée.

    Aurais-je dû rédiger la requête différemment ?

  2. #2
    Membre confirmé Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 343
    Points : 493
    Points
    493
    Par défaut
    concrétement c'est quoi l'idée ? mettre à jour un executable sur des postes clients?

  3. #3
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 317
    Points : 2 507
    Points
    2 507
    Par défaut
    " j'ai copié le répertoire de l'exécutable vers un sous-répertoire de Program Files sur la machine de l'utilisateur"

    Citation Envoyé par licardentaistor Voir le message
    concrétement c'est quoi l'idée ? mettre à jour un executable sur des postes clients?
    Euh ... oui.
    Et autant que possible en lui maintenant la possibilité d'enregistrer des propriétés.


    Ah, peut-être le mot important était-il "des" ?
    Auquel cas on aurait accordé une priorité plus importante à automatiser le déploiement.

    Le sujet est intéressant, mais pour le moment je déploie sur une seule machine, via une prise de contrôle à distance.

    Sur la machine de développement, il a fallu se rappeler d'aller dans les propriétés du projet, onglet Paramètres, et saisir les propriétés là. OK impec.

    Seulement après, encore s'agit-il que les paramètres suivent, en tout cas pour ce qui est de leur structure, sur la machine utilisatrice.


    Au-dessus on trouve un lien vers de la documentation.

    Peut-être une de ces pages contient-elle le mot "déploiement", mais pas la première, à laquelle on accède avec ce lien, au-dessus des paramètres de l'application.

    Bon, je vais naviguer ...
    Mais quelqu'un sera peut-être plus rapide que moi.

    Je dirais bien que je l'ai fait il y a 20 ans, mais là si on pouvait souffler un peu ...

  4. #4
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 317
    Points : 2 507
    Points
    2 507
    Par défaut
    Bon, j'étais mal barré avec ce que j'ai trouvé.

    La page pour modifier les paramètres entre les sessions dit de "trouver le fichier user.config". C'était bien ce que je cherchais, simplement il ne fallait pas chercher quelque chose de plus carré.

    Le bricolage logiciel dont je parlais était une mauvaise pioche, puisqu'il mène à %userprofile%\AppData\Roaming, où il n'y a rien sur la machine de développement, alors que le fichier config est dans %userprofile%\AppData\Local.

    En partant de AppData, j'ai tapé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DIR user.config /S | FIND %nomapplication%
    ce qui m'a bien affiché le chemin du fichier user.config

    Je vais maintenant voir, lors de la prochaine connexion, en suivant le même chemin sur la machine de l'utilisateur, si ça me mène à quelque chose, comme un répertoire vide où il faudrait que je mette une copie de user.config.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 232
    Points : 1 798
    Points
    1 798
    Par défaut
    Les données users peuvent se trouver dans c\users\[utilisateur]\appdata\local\virtualStore\program files\[nom de ton appli] (ou quelque chose dans ce style) et cela depuis au moins windows Vista.
    La différence entre la machine de dev et l'autre, c'est que tu es sans doute administrateur sur la 1ère et pas dans l'autre.

    Une autre solution c'est de donner les droits en écriture sur le répertoire de l'application dans Program Files (uniquement celui de l'application).
    Une autre alternative, c'est de l'installer dans un répertoire autre que Program Files (c:\[nom application] pour faire simple) dans lequel il n'y a pas de problème de droits.

  6. #6
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 317
    Points : 2 507
    Points
    2 507
    Par défaut
    Surprise en ouvrant le répertoire : le fichier user.config était bien dedans.

    Et en fait, le remède était plus simple que prévu : il suffisait de prendre son mal en patience. Aujourd'hui les propriétés semblaient enregistrées.

    Merci pour la précision sur VirtualStore.
    Dans AppData on avait déjà Local, Roaming, et LocalLow.
    Avec VirtualStore ça permet de s'amuser encore mieux

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

Discussions similaires

  1. Path dossier Properties.Settings.Default
    Par sebRD dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/08/2010, 10h25
  2. Properties setting problème
    Par Panaméen dans le forum Windows Forms
    Réponses: 5
    Dernier message: 29/10/2009, 16h49
  3. Les Property settings
    Par Gregory.M dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 24/06/2009, 23h30
  4. Acces à app.Properties.Settings
    Par olibara dans le forum C#
    Réponses: 4
    Dernier message: 28/10/2008, 20h52
  5. Comment modifier Properties.Settings ?
    Par Sunsawe dans le forum C#
    Réponses: 3
    Dernier message: 02/08/2007, 14h37

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