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

Windows Discussion :

Comment obtenir les droits de lecture/écriture dans les dossiers de ProgramFiles sous VISTA ?


Sujet :

Windows

  1. #1
    Membre du Club Avatar de masterx_goldman
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 51
    Points
    51
    Par défaut Comment obtenir les droits de lecture/écriture dans les dossiers de ProgramFiles sous VISTA ?
    Bonjour tout le monde

    J'ai vista avec l'UAC activée, je veux écrire dans un dossier "C:\Program Files\monDossier" en utilisant un processus lancé dans mon compte user( qui n'est pas forcément Administrateur ) sans avoir la popup de l'UAC qui saute à l'écran et sans désactiver l'UAC.
    Le problème c'est que :
    N'importe quel code que j'utilise pour créer un fichier, le modifier et le supprimer échoue sauf si je lance l'exécutable en tant qu'Administrateur(ce qui n'est pas le cas chez les utilisateurs qui vont utiliser ce programme) ou bien je désactive l'UAC (ce qui ne correspond au besoin)


    merci pour toute information

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Même si c'est possible techniquement, je ne vois pas de justification pour modifier quelque chose dans "C:\Program Files\DossierDeLapplication".

    C'est un problème d'installation ou de configuration, il y a des API pour cela.

  3. #3
    Membre du Club Avatar de masterx_goldman
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Même si c'est possible techniquement, je ne vois pas de justification pour modifier quelque chose dans "C:\Program Files\DossierDeLapplication".
    J'utilise ce dossier pour y créer des fichiers qui contiennent le résultat de l'activité du programme sur le pc cible , pour tracer une log, ...
    ça m'étonne ce que tu dis vraiment , car y'a beaucoup de logiciels qui mettent leurs dossier "Out " ou "Completed" dans "C:\Program Files\DossierDeLapplication\Out", c'est l'exemple de emule ...

    Aussi, vous pouvez me dire que je peux mettre ça ailleurs, alors le problème c'est que je connais pas d'avance:
    1) l'utilisateur qui va utiliser ce programme aura un D:\ par exemple
    2) les droits qui seront affecté à ce user surtout s'il est logué sur une session d'un domaine ( je parle d'un réseau d'entreprise ici )


    C'est un problème d'installation ou de configuration, il y a des API pour cela.
    C'est pas un problème d'installation chez moi, je viens d'expliquer ...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    C'est pas un problème d'installation chez moi
    Bin si justement.
    Si l'executable a besoin d'avoir un répertoire pour ces traces perso (à lui et pas à l'utilisateur), il doit le créer et le configurer au niveau de la sécurité au moment de l'installation.

    Lors de l'installation avec un msi, l'utilisateur est celui du service "msinstaller" qui doit être "SYSTEM".
    Donc dans les routines d'installation, vous avez tous les pouvoir dont celui de créer un sous répertoire et de le rendre accessible en lecture et écriture à tous.

    Donc oui, c'est un problème d'installation.

    P.S.: Emule, c'est pas une référence en terme de savoir vivre inter-programme et avec l'OS.

    P.P.S.: Vista a peut-être mit la grouille aussi, c'est à vérifier, mais il faut être dans les clous avant de critiquer Vista.

  5. #5
    Membre du Club Avatar de masterx_goldman
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Bin si justement.
    Si l'executable a besoin d'avoir un répertoire pour ces traces perso (à lui et pas à l'utilisateur), il doit le créer et le configurer au niveau de la sécurité au moment de l'installation.

    Lors de l'installation avec un msi, l'utilisateur est celui du service "msinstaller" qui doit être "SYSTEM".
    Donc dans les routines d'installation, vous avez tous les pouvoir dont celui de créer un sous répertoire et de le rendre accessible en lecture et écriture à tous.
    Comment je fais cette config sous Visual Studio ?( préciser dans les propriété de l'msi installer ce droit d'accès lecture/écriture pour les users )

    Merci d'avance

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    La dernière fois que j'ai fais cela, c'était il y a longtemps.
    J'avais fait un programme de 100 lignes à peine pour modifier les droits sur les répertoires de la solution logicielle. Une "Custom Action" dans le projet msi sous VS pour le lancer lors de l'installation et zou, dans la boîte.

    Maintenant, si j'avais à le refaire, j'utiliserais l'Add-Ins VisualStudio WIX
    http://wix.sourceforge.net/

  7. #7
    Membre du Club Avatar de masterx_goldman
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par bacelar Voir le message

    Maintenant, si j'avais à le refaire, j'utiliserais l'Add-Ins VisualStudio WIX
    http://wix.sourceforge.net/
    1) est ce que les msi que génère ce Add-In wix va dépendre de la framework .NET ou pas ?
    2) Si c'est possible, une briève indication pour arriver à configurer le "MySetup.wxs file" afin de donner les droits d'écriture à tous les utilisateurs

    Entre temps, je lis la documentation sur ce lien http://wix.sourceforge.net/manual-wi...ve_project.htm

    Merci

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    1) pas du tous, il peut aussi servir à l'installer.
    2) je ne sais pas, mais wix permet toujours de faire la compine de lancer un exécutable pour faire le boulot.

  9. #9
    Membre du Club Avatar de masterx_goldman
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par bacelar Voir le message
    2) je ne sais pas, mais wix permet toujours de faire la compine de lancer un exécutable pour faire le boulot.
    Si j'ai bien compris, tu parles de lancer un exécutable que je dois coder et que wix doit lancer ?
    Dans ce cas et si on admet que je peux trouver ce bout de code, pourquoi aller lancer ça avec WIX ? je pense que Visual Studio permet de le faire dans Custom Action , non ?

    S'il s'agit d'une autre chose, merci de m'éclaircir ça

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    WiX est bien plus riche que les templates de projet d'installation de VS.
    Je n'ai pas fais la manip avec WiX, mais je pense que c'est probable.
    Si c'est pas possible, il reste toujours la même manipulation de l'exécutable en custom action en Wix comme en VS.

    Qui peut le plus peut le moins.

  11. #11
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    C'est quand même fou de vouloir mettre un log dans le dossier Program Files .
    Pour avoir un programme propre il suffirait de mettre ces rapports dans le dossier de l'utilisateurs, ie C:\Users\Utilisateur\AppData\... d'ailleurs c'est ce qui est recommandé dans les guidelines pour programmer sur Vista.
    C'est vraiment pas conseillé de modifier les droits et tout trafiquer juste pour pouvoir faire un programme "sale"

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Traffiquer Program Files entier est sale. Donner les droits sur un sous-dossier de son programme, ça peut avoir son intérêt, d'une part pour les programems "sales", d'autre part pour les informations censées être communes à tous les utilisateurs.

    Edit: Ah, j'avais oublié qu'il y avait aussi un Application Data partagé: On peut l'obtenir par SHGetFolderLocation()/SHGetFolderPath() et CSIDL_COMMON_APPDATA (ou par les Known Folders et FOLDERID_ProgramData).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [AC-2010] Gérer les droits de lecture/écriture
    Par hidiho dans le forum Sécurité
    Réponses: 4
    Dernier message: 26/01/2012, 21h12
  2. [SP-2007] Droit en lecture/ecriture dans les bibliothèques
    Par Celia003 dans le forum SharePoint
    Réponses: 3
    Dernier message: 12/02/2010, 10h09
  3. Droit de lecture/écriture dans un répertoire
    Par tnarol dans le forum Windows
    Réponses: 9
    Dernier message: 13/11/2007, 11h45
  4. lecture/écriture dans un dossier linux
    Par mariusapo dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 02/11/2007, 23h13

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