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

Framework .NET Discussion :

[Autorisation Vista] UnauthorizedAccessException


Sujet :

Framework .NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 43
    Points
    43
    Par défaut [Autorisation Vista] UnauthorizedAccessException
    Bonjour à tous,

    Vista est entrain de me tuer! Je n'arrive pas à faire une simple création de fichier dans C:! Je sais que c'est à cause d'UAC et j'aimerais arriver à la contourner mais je ne trouve pas une manière simple! Avez vous des pistes, des liens ou des bouts de code pour résoudre cet épineux pbs? Merci!!

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    signe ton application avec un manifest. il y a plein d'articles et de livres blancs sur la msdn qui expliquent comment faire cela.
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  3. #3
    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
    Plusieurs solutions, de la plus simple à la plus pas simple :
    1. Ne pas créer de fichiers dans C: ... d'ailleurs pourquoi le faire ? Pour respecter les conseils de crosoft en matière de sécurité les fichiers primordiaux de l'application doivent être crées pendant l'installation dans le dossier Program Files, et tout le reste doit se trouver dans le profile de l'utilisateur et c'est donc là qu'il faut créer les fichiers voulus

    2. Si tu es sous Visual Studio 2008 en C++/CLI tu peut définir dans les options de ton projet que l'application a besoin des droits d'administrateur.

    3. Rajouter à la main dans l'application un manifest pour avoir les droits d'administrateurs.
    Le manifest doit être celui ci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <asmv3:trustInfo xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
        <asmv3:security>
          <asmv3:requestedPrivileges>
            <asmv3:requestedExecutionLevel
              level="requireadministrator"
              uiAccess="false" />
          </asmv3:requestedPrivileges>
        </asmv3:security>
      </asmv3:trustInfo>
    </assembly>
    Et il doit être intégré pendant le processus de build avec mt.exe (Manifest Tool). Google pour trouver plus d'infos
    Dans Visual Studio 2008 tu peut rajouter directement le manifest dans les options de l'application.

    4. Désactiver l'UAC (C'est TRES mal)

  4. #4
    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
    Euh... tu as vraiment besoin que ton fichier soit dans C: ? C'est pas très conforme aux normes Vista ça... évidemment tu peux le faire si tu lances le programme en mode admin, mais c'est pas très propre
    A moins que tu n'aies pas le choix, je te suggère de mettre le fichier ailleurs

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 43
    Points
    43
    Par défaut
    Bien je suis obligé car tout le monde n'a pas deux HDD... ;() Je vais explorer les différentes solutions

    Merci bcp

  6. #6
    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
    Quand on dit de pas le mettre dans C:, ça veut pas dire qu'il faut le mettre sur un autre disque... ça veut dire qu'il ne faut pas le mettre directement à la racine, où tu n'as pas le droit d'écrire si tu n'es pas administrateur. Il faut le mettre dans un répertoire où tu peux écrire, comme le répertoire de profil de l'utilisateur par exemple (C:\Users\<nom de l'utilisateur>).

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 43
    Points
    43
    Par défaut
    Effectivement c'est bcp mieux! Merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/07/2009, 13h34
  2. Réponses: 2
    Dernier message: 28/04/2008, 01h11
  3. [C#] Changer les Autorisations d'un dossier
    Par dips dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/06/2004, 13h29
  4. [Réseau] Autorisations d'accès aux fichiers
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 19/05/2004, 13h43
  5. [TForm] Ne pas autoriser l'ouverture d'un form
    Par sbeu dans le forum Composants VCL
    Réponses: 6
    Dernier message: 11/10/2002, 11h20

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