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

VB 6 et antérieur Discussion :

Mettre à jour un fichier dans ProgramData


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 254
    Points : 184
    Points
    184
    Par défaut Mettre à jour un fichier dans ProgramData
    Bonjour,
    J'ai un fichier installé dans ProgramData. Ce fichier n'est mis à jour que si mon appli est exécuté en tant qu'administrateur. Pourquoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim FileNumber
        FileNumber = FreeFile
        chemin = Environ("ALLUSERSPROFILE") +"\ApplicationData\MonAppl\MonFichier.txt"
    'C:\Documents and Settings\All Users\Application Data\MonAppli\MonFichier.txt SOUS XP
    'C:\ProgramData\MonAppli\MonFichier.txt sous win8
        Open chemin For Append As #FileNumber
        Print #FileNumber, "MonTexte"
        Close #FileNumber
    Merci pour votre aide

  2. #2
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Tous les utilisateurs ont normalement droit de lecture sur ce dossier ProgramData. Donc à priori, pas besoin d’avoir des droits admin pour écrire dans C:\ProgramData\NomDeTonApplication\.
    Cependant, si le dossier ou le fichier a été crée par un admin, alors dans ce cas, un utilisateur lambda ne pourra pas y écrire, ce qui est tout à fait normal.

    Faudrait faire attention aussi. Es-tu sûr d'écrire dans le bon répertoire. Parce qu'il peut arriver que tu te trompes de dossier. Si tu tentes d'écrire dans le répertoire de ton exécutable (C:\Program Files\NomDeTonApplication), alors là, c’est normal que Windows te refuse cette opération vu que seul quelqu'un avec les droits admin est autorisé à effectuer une telle opération. Un
    utilisateur courant aura un « access denied ». Assures-toi donc que ton programme accède au fichier au bon emplacement.
    Tu peux donc :
    - Soit exécuter votre programme en tant qu'administrateur (clic droit sur votre programme ou son raccourci et cliquez sur Exécuter en tant qu'administrateur) ou
    - Soit déplacer MonFichier.txt dans un autre emplacement comme C:\Users\\AppData\Local\.....
    N'oubliez pas le tag et

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 254
    Points : 184
    Points
    184
    Par défaut
    Merci pour la réponse,
    J'ai créé mon fichier texte sous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environ("APPDATA") & "\MonAppli\MonFichier.txt"
    et il se met bien à jour sous différents utilisateurs. Environ("APPDATA") correspond au dossier de l'utilisateur de l'appli.
    Du coup, j'ai envie d'installer toute mon appli dans ce dossier au lieu de le faire dans program files... Sachant que je copie mes fichiers avec inno setup. Qu'en pensez-vous ?

  4. #4
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    Je ne pense pas qu'installer ton application dans le dossier application d'un utilisateur soit une bonne idée.
    Là, ce sont tous tes fichiers qui sont suceptibles d'être victimes de fausses manips...

    Dans Inno Setup, tu pourrais essayer d'installer tes fichiers partagés entre tous les utilisateurs dans ProgramData avec le flag Permissions: everyone-modify ou Permissions: everyone-full.

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 254
    Points : 184
    Points
    184
    Par défaut
    Merci, dans le script inno setup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Permissions: everyone-full
    me permet effectivement de mettre à jour mon fichier par différents utilisateurs. Je marque résolu

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

Discussions similaires

  1. Importer et mettre à jour un fichier Excel dans d’autres
    Par Tho69 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 28/07/2013, 18h55
  2. Mettre à jour un fichier jar dans WEB-INF\lib
    Par sitirna dans le forum Développement Web en Java
    Réponses: 9
    Dernier message: 24/08/2011, 16h45
  3. Réponses: 2
    Dernier message: 09/03/2010, 18h23
  4. Mettre à jour des champs dans un sous formulaire
    Par Patros dans le forum Access
    Réponses: 3
    Dernier message: 09/08/2006, 15h16
  5. mettre à jour un fichier
    Par ibtisss dans le forum Langage
    Réponses: 1
    Dernier message: 02/02/2006, 10h50

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