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 :

où placer par défaut les fichiers créés par une application


Sujet :

C#

  1. #1
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 931
    Points : 1 975
    Points
    1 975
    Par défaut où placer par défaut les fichiers créés par une application
    Bonjour

    Je me suis fait une application qui crée 2 types de fichiers
    -1 fichier log.rtf (qui enregistre ce qui se passe dans l'application) que je placais à la racine ou se trouve le .exe
    -pleins de fichiers .dav (des données de traitement) que je mettais au même endroit. Ces fichiers seront utilisés par une autre application pour un autre traitement et seront également sauvegardés et ouverts manuellement très souvent par l'utilisateur.

    Problème, une fois l'application déployée dans un joli répertoire système, j'ai une exception à la création des fichiers sur des zones protégées (je suis sous seven)

    Où puis-je placer ce fichier log et les fichiers de données à usage de l'utilisateur ?
    C'est où l'emplacement "fait pour" ? Sous XP je pense à C:\Users\nomUtilisateur\Documents mais sous Seven je comprends rien à la logique !

    Comment accède t-on à cet endroit en C# ?

    Merci par avance
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    As tu testé en déployant ton application tout simplement dans un répertoire se trouvant par exemple dans le répertoire "Programme Files" ?
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 931
    Points : 1 975
    Points
    1 975
    Par défaut
    bonjour

    oui justement

    ça le place par défaut ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Program Files (x86)\TEST
    c'est à la racine de TEST que se trouve le .exe

    Les fichiers que je tente de créer à cette même racine déclenchent une exception.
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 44
    Points : 36
    Points
    36
    Par défaut
    UnhautorizedAccessException non ?

    Sinon tu peux obtenir directement les chemins qui seront propres à chaque système autre que par une variable string en 'clair'.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string d = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
    Qui fonctionnera sous Win XP, Vista, 7.
    AppData c'est le dossier ou les applications sauvegarde parfois leurs logs, configurations etc ... Et ce dossier est propre à chaque utilisateur (session) de l'ordinateur, ça peut être une alternative.

  5. #5
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    Pour le repertoire des documents de l'utilisateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

  6. #6
    Membre averti
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Août 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Irlande

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 98
    Points : 318
    Points
    318
    Par défaut
    De ce que j'ai compris, tous les fichiers se trouverons dans le même répertoire que l’exécutable ?

    Dans ce cas l'utilisation de Application.StartupPath ne marche pas ?

  7. #7
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Pour les données d'application que l'utilisateur n'a pas besoin de voir, c'est dans le dossier "Application data".
    Sous XP, ça se trouve par défaut dans C:\Documents and settings\<nom utilisateur>\Application data (données itinérantes d'une machine à l'autre) ou dans C:\Documents and settings\<nom utilisateur>\Local Settings\Application data (données locales uniquement)
    Sous Vista/7/8, c'est dans C:\Users\<nom utilisateur\AppData\Roaming (données itinérantes) ou C:\Users\<nom utilisateur\AppData\Local (données locales).

    De toutes façons, ne code pas le chemin en dur, utilise Environment.GetFolderPath pour le récupérer.

  8. #8
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 931
    Points : 1 975
    Points
    1 975
    Par défaut
    Salut,

    désolé d'avoir été si long, crève carabinée...

    Merci pour vos solutions et vos explications !
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

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

Discussions similaires

  1. Réponses: 82
    Dernier message: 30/06/2015, 09h10
  2. Réponses: 1
    Dernier message: 19/10/2014, 19h55
  3. Réponses: 1
    Dernier message: 26/09/2014, 14h49
  4. Réponses: 2
    Dernier message: 20/05/2014, 15h39
  5. Réponses: 3
    Dernier message: 08/11/2011, 16h32

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