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 :

Répertoire de sortie pour mon application


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 14
    Par défaut Répertoire de sortie pour mon application
    Bonsoir,

    j'ai une application qui doit ecrire en sortie plusieurs types de fichiers :
    - des journaux (log) de traitement
    - fichiers de projet (different fichier contenant des données)
    - fichier de configuration

    mon application est en C# / VS2010 framework 4 et je developpe sous seven

    Apres un 1er test, il est impossible d'ecrire dans le repertoire d'installation de l'application (program files)

    il existe plusieurs repertoires
    - C:\ProgramData
    - users\compte\appdata\local
    - users\compte\appdata\roaming
    - users\compte\appdata\localLow

    je n'arrive pas trop a comprendre quel repertoire je dois utiliser et comment les gerer depuis mon application, et lors de l'installation de l'application par le setup

    Certains setup propose installer cette application pour moi ou pour tout le monde utilisant cet ordinateur, comment gerer ces options ?
    si je crée par setup pour moi seul, comment l'application doit elle s'installer ? quel repertoire utiliser

    idem si c'est pour tout le monde utilisant cet ordinateur ?

    je ne trouve pas trop de post sur le sujet ?

    merci de votre aide !

  2. #2
    Invité
    Invité(e)
    Par défaut
    T'as deux solutions :
    1. Tu désactive la protection imposée par Seven c'est à dire le User Account Control (UAC). Pour comment le désactiver une bonne fois pour toute suis ce lien.
    2. Tu exécutes VS2008 en tant qu'administrateur. Clique droit sur l'icône de VS2008 et choisir "Exécuter en tant que"


    Moi j'ai utilisé plutôt la première solution vu qu'avec la deuxième il m'arrive souvent d'exécuter VS en tant qu'Administrateur.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    J'ai l'impression que tu mélanges un peu tout...

    Les fichiers du programme (exe, dll, ressources statiques, etc) se mettent dans Program Files. L'installeur s'exécute en mode administrateur et a donc le droit d'écrire dans ce répertoire. Par contre, quand le programme s'exécutera il n'aura pas le droit d'écrire dans ce répertoire, il doit donc écrire ailleurs.

    Les fichiers de données (fichiers de travail, paramètres utilisateurs, logs, etc) se mettent donc dans le répertoire de données d'application, en général dans "c:\users\compte\appdata\roaming".

    La différence entre Roaming et Local n'a de sens que pour les ordinateurs qui appartiennent à un domaine : les fichiers qui sont dans "Roaming" font partie du profil itinérant de l'utilisateur, c'est à dire que si le même utilisateur se connecte sur une autre machine du domaine, il retrouvera ces fichiers. On y met typiquement les fichiers de configuration. Les fichiers qui sont dans "Local", par contre, font partie du profil local : il sont spécifiques à une machine et ne seront pas copiés sur une autre. Typiquement, on y met des "gros" fichiers qui ne sont pas indispensables, genre le cache internet pour un navigateur. "LocalLow", je sais pas trop ce que c'est...

    Quand à "C:\ProgramData", ça sert à mettre les données d'application communes à tous les utilisateurs.

    Le chemin exact de ces répertoires varie selon l'OS, pour le récupérer il faut utiliser la méthode Environment.GetFolderPath :

    - Données d'application itinérantes de l'utilisateur ("Roaming") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
    - Données d'application locales de l'utilisateur ("Local") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
    - Données d'application partagées ("C:\ProgramData") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string path = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 14
    Par défaut


    Voila qui est tres bien expliqué et tres clair Merci Beaucoup

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

Discussions similaires

  1. Images, gifs et icones gratuites pour mon application
    Par Doctor Z dans le forum Windows
    Réponses: 2
    Dernier message: 03/10/2005, 00h10
  2. Création d'un CD d'installation pour mon application
    Par chrisis dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 02/06/2005, 16h46
  3. oracle ou interabse pour mon application ?
    Par nytmare dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 22/04/2004, 11h17
  4. Choix de technologies pour mon application
    Par Franco dans le forum Java EE
    Réponses: 5
    Dernier message: 21/10/2003, 14h10

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