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

Plateformes Discussion :

Connaître les droits d'écriture de "C:\Program Files" sous Windows 7 [Windows]


Sujet :

Plateformes

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Connaître les droits d'écriture de "C:\Program Files" sous Windows 7
    Bonjour,

    Je développe actuellement une ptite appli qui permet d'installer un logiciel n'importe où (tant que l'utilisateur a les droits d'écriture).
    Par défaut, j'ai le chemin "c:/Program Files" qui est proposé. Sur Windows XP, si l'utilisateur n'a pas les droits d'écriture, le bouton "Next" est grisé et un message d'erreur apparait ("No right to write in this directory").
    Mais sous Windows 7, je n'ai pas ce message et le bouton ne se grise pas. Le répertoire est considéré comme ok pour l'écriture alors que l'utilisateur n'a pas les droits.
    En cherchant un peu, j'ai vu que depuis Windows Vista, il y avait un virtual store qui permettait de mettre à jour des appli de Program Files sans impacter le répertoire. Et effectivement, en me déplaçant dans C:\Users\Username\AppData\Local\VirtualStore\Program Files je retrouve bien le logiciel que je voulais installer.

    Ma question est : y a-t-il un moyen de contourner ce virtual store et de connaitre réellement les droits du répertoire Program Files?

    Au fait, j'utilise Qt comme bibliothèque et l'utilisateur peut être un admin ou pas.

    Merci

  2. #2
    Candidat au Club
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai essayé en créant et ouvrant un fichier dans "c:/Program Files", mais ça ne me retourne rien qui puisse m'aider...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      QFile fooFile("c:/Program Files/test.txt");
      bool fileOpenResult;
      fileOpenResult = fooFile.open(QIODevice::ReadWrite); //or WriteOnly
      qDebug() << "Result of fooFile.open(QIODevice::ReadWrite):" << fileOpenResult;
      if(!fileOpenResult)
      {
      qDebug() << "Open file failed.";
      }
    Ce bout de code me retourne Result of fooFile.open(QIODevice::ReadWrite): true. Et le fichier est créé dans le virtual store...

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Bon ben...
    Aprés moult échanges avec le support Qt, ils en ont déduit qu'il y avait effectivement un bug dans Qt.
    La seule solution que je peux proposer est de tester si le fichier est créé dans le virtual store. Si oui, alors on a pas les droits en écriture dans le répertoire (notamment Program Files).

    Je ne vois pas d'autres workaround... Donc je passe le ticket a résolu!

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

Discussions similaires

  1. [Conception] donner les droits d'écriture sur un répertoire
    Par Mat_DZ dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 22/05/2007, 10h46
  2. [Clé usb]:changer les droits en écritures.
    Par JavaAcro dans le forum Périphériques
    Réponses: 3
    Dernier message: 17/05/2006, 11h53
  3. [Apache] donner les droits d'écriture pour PHP
    Par Torpedox dans le forum Apache
    Réponses: 4
    Dernier message: 07/01/2006, 15h01
  4. Tester les droits en écriture sur une table en VBA ?
    Par yerome60 dans le forum Access
    Réponses: 2
    Dernier message: 19/12/2005, 21h43
  5. Réponses: 5
    Dernier message: 06/03/2003, 13h27

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