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

Contribuez Discussion :

La Vitualisation des fichier sous Windows 7 et Vista


Sujet :

Contribuez

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut La Vitualisation des fichier sous Windows 7 et Vista
    L'UAC de Windows 7 et Vista renforce la sécurité du système. Sur le principe, rien à dire. Mais dans les fait, cela se complique quand le fonctionnement n'est pas celui que l'on en attend.

    Essayez de placer des fichiers de données dans le répertoire "ProgramData" prévu à cet effet et vous découvrirez que Windows décidera peut être de virtualiser vos fichiers ! En d'autres termes, il en fera une copie dans le dossier "VirtualStore". Cela peut ne pas poser de problème sauf si vous décidez de mettre à jour les fichiers par exemple. Là, vous découvrirez très probablement que les fichiers Visualisés ne sont pas actualisés, seul l'original l'est ! Vous aurez beau essayer de forcer cette actualisation, rien ni fera car le répertoire VirtualStore est géré directement et seulement par Windows.

    Une des solutions pour résoudre le problème, les Manifestes de Windows mais ils ne sont pas sans imposer quelques contraintes (droits limités, demande de confirmation de lancement d'application...). Personnellement, je n'opte pas pour cela.

    Autre solution, composer avec les contraintes et les libertés que vous accorde Windows. A l'installation de l'application, stockez les fichiers de données dans un répertoire dédié à la racine de "C:" (vous pouvez le rendre invisible pour éviter les mauvaises manipulation de l'utilisateur). Ensuite, dans le code d'initialisation de votre application, utilisez la fonction "Hchangerep" pour rediriger l'application vers le répertoire en question. Et voilà, plus de problèmes de Virtualisation des fichiers de données, plus de problèmes de droits et pas besoin de manifeste.

    Cette solution n'est pas idéal car elle oblige à ne pas utiliser le répertoire ProgramData de Windows mais Pcsoft n'étant pas en mesure de me fournir une explication qui tienne la route, il faut bien trouver une autre solution propre.

    A disposition.

    lololebricoleur

  2. #2
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    732
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 732
    Par défaut
    Bonjour,

    Je n'ai absolument rien compris.
    Vous utilisez bien fRepDonnéesUtilisateur et fRepDonnéesCommun ?
    Pourquoi créer un répertoire à la racine de C: ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Et bien je vais tenter de vous ré expliquer :

    Les applications que je développe, exploitent des fichiers de données. En toute logique et selon les conseils de Pcsoft, je stocke ces fichiers dans le répertoire prévus à cet effet ("C:\Documents and Settings\All Users\Application Data" sous Windows Xp et "C:\ProgramData" sous Windows 7 et Vista). Cela correspond à la constante système "srAppDataCommun" pour répondre à votre question.

    Les applications, quand à elles, sont stockées dans le dossier "ProgramFiles" sous Xp et "Program".

    Le problème c'est que quand je stocke les fichiers de données dans ce répertoire "ProgramData", Windows les virtualise et en fait une copie dans le "VirtualStore" alors qu'il n'y a pas lieu ! C'est même confirmé par Pcsoft pour info. De plus, ils ne trouvent pas la raison !

    Voilà pourquoi je suis obligé de laisser tomber le dossier "ProgramData", que je ne veux pas utiliser le dossiers destiné à stocker les documents de l'utilisateur (ce n'est pas fait pour cela et les mauvaises manipulations sont vites arrivées) et que donc je crée mon propre répertoire caché à la racine de C:.

    C'est plus clair cette fois ?
    Si vous avez la réponse au mystère, merci de me la transmettre.

    Cordialement,

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Citation Envoyé par Hibernatus34 Voir le message
    Vous utilisez bien fRepDonnéesUtilisateur et fRepDonnéesCommun ?
    Selon moi, les "fRepDonnéesUtilisateur" et "fRepDonnéesCommun" ne sont pas fait pour y stocker les données directement gérée par les applications. Ils correspondent au dossier "Mes documents" en fait. C'est d'ailleurs pour cela que le répertoire "srAppDataCommun" existe et qu'il est caché. J'ai effectivement réalisé des test avec ces dossier Données et le problème de virtualisation ne se pose pas. Mais personnellement, cette solution ne me convient pas.

  5. #5
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    732
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 732
    Par défaut
    Bonjour,

    Je suis sous XP dans la journée donc je ne peux pas tester, mais pour moi les choses paraissent simples :
    - fRepDonnéesUtilisateur() : 1 utilisateur, 1 application
    - fRepDonnéesCommun() : tous les utilisateurs, 1 application
    - fRepGlobalUtilisateur() : 1 utilisateur, N applications
    - fRepGlobalCommun() : tous les utilisateurs, N applications

    La grande différence avec "Mes Documents", c'est que l'utilisateur n'est pas censé aller dans ces répertoires avec l'explorateur, même s'il le peut s'il est avisé.
    Prenez un ordinateur d'utilisateur lambda, et allez dans ces répertoires avec l'explorateur. C'est beaucoup moins rapide et facile que "Mes Documents". Du moins, pour l'utilisateur lambda. Et pour les autres, répertoires cachés ou pas, ils trouveront toujours.

  6. #6
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    732
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 732
    Par défaut
    Citation Envoyé par lololebricoleur Voir le message
    Selon moi, les "fRepDonnéesUtilisateur" et "fRepDonnéesCommun" ne sont pas fait pour y stocker les données directement gérée par les applications.
    Il sont dédiés à ça pourtant.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Je prend note des informations et je refais des tests.

    A suivre...

  8. #8
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut Résultats de mes derniers tests...
    J'ai utilisé fRepDonnéesCommun() comme chemin de stockage de mes fichiers de données.

    Sous Windows 7 et Vista, fRepDonnéesCommun() correspond au répertoire ProgramData présent à la racine du disque système.

    Après installation, mes fichiers de données sont installés au bon endroit.
    Au lancement de l'application, j'utilise la fonction "ChangeRep" pour diriger l'application vers fRepDonnéesCommun().

    Résultat :
    Dès que j'apporte une modification à un des fichier de données, il est automatiquement dupliqué par Windows dans le VirtualStore !

    Conclusion, j'en suis toujours au même point et j'ai toujours le même soucis.

Discussions similaires

  1. Virtualisation des fichiers sous Windows 7 et Vista
    Par lololebricoleur dans le forum Contribuez
    Réponses: 0
    Dernier message: 17/06/2011, 12h12
  2. Réponses: 24
    Dernier message: 26/02/2009, 16h17
  3. Routines de gestion des ports sous Windows XP
    Par wiccanhelios dans le forum Windows
    Réponses: 2
    Dernier message: 14/11/2003, 08h02
  4. utilisation des sockets sous windows
    Par Tupac dans le forum Réseau
    Réponses: 2
    Dernier message: 21/12/2002, 18h24
  5. Détourner des IRQ sous Windows
    Par Blustuff dans le forum Assembleur
    Réponses: 15
    Dernier message: 06/12/2002, 10h16

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