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

Visual Studio Discussion :

comment éviter les problèmes de droit d'administrateur ?


Sujet :

Visual Studio

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut comment éviter les problèmes de droit d'administrateur ?
    Bonjour à tous

    J'ai fait une application windows Form avec visual C# 2008 express.
    j'ai récupéré en release le fichier .exe et le fichier .exe.config.

    En installant ces deux fichiers dans le même dossier sur le pc cible (après installation du framework 3.5), tout fonctionne bien sur certains pc (sous XP ou vista)

    Dernièrement, j'ai voulu l'installer sur 2 autres pc (1 XP et 1 vista) et là, ça ne marche plus avec le message
    "l'application a rencontré un problème et doit fermer"

    J'ai alors essayé avec clickonce et même constat, le programme ne démarre pas.

    Je suis allé jusqu'à reprendre entièrement la conception du projet (le premier avait été fait sous 2 pc différents en +sieurs étapes), sans résultat.
    Si quelqu'un a une idée, moi je sèche !

  2. #2
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bon en fait, c'est un problème de niveau de privilège.

    Pour executer le programme il faut choisir "executer en tant qu'administrateur". (je n'y avais pas pensé, ça m'est revenu en parcourant le forum)

    Y-a-t-il une solution pour éviter cela ?

  3. #3
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Il faut que tu crée un manifest sous Visual Studio en faisant attention à la partie concernant la sécurité, spécialement la ligne suivante :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" />
    </requestedPrivileges>

    PS: la réponse était sur le forum
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Merci ,
    en fait je ne savais pas trop quoi chercher sur le forum au départ.

    c'est bizarre ces fichiers manifest avec visual studio 2008:
    clickonce n'accepte pas autre chose que level="asInvoker", si on met autre chose, le fichier manifest n'est pas créé.

    J'ai donc créé le fichier avec level="asInvoker" et j'ai changé ensuite manuellement.
    J'espère que ç'est convenable comme procédure, je n'ai pas encore pu tester.

  5. #5
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Ce n'est pas convenable avec ClickOnce.
    Car comme il s'installe par le biais du web, il n'a pas autant de droit qu'une application installé par un autre biais (CD, lecteur réseau, exécutable...) et ne peux donc pas être exécuté avec des droits administrateurs.

    Donc il faut que tu change ton mode d'installation, ou que tu refasse ton appli afin qu'elle n'est pas besoin des droits administrateurs...
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  6. #6
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    en fait, je n'utilise pas clickonce puisque je récupere l'executable et le fichier config pour les coller dans un dossier

    Ce que je ne comprend pas, c'est que j'ai testé sur un pc XP avec un compte utilisateur limité et l'executable fonctionne très bien à partir d'une clef usb.
    En faisant la même chose sur le pc de mon ami (sous xp aussi) qui lui a un compte administrateur, ça ne marche pas, il faut choisir executer en tant qu'admin.

    Excuse moi pour mon ignorance mais je débute en programmation donc c'est un peu la galère pour ce fichier manifest : je ne sais pas trop comment le créer (avec visual studio, ça ne fonctionne pas pour les raisons invoquées plus haut)

    Et si on le crée à part avec notepad, est ce que ça suffit ou pas ?

  7. #7
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Je ne comprends pas pourquoi tu parle de ClickOnce si tu ne l'utilise pas...

    Tu n'as pas besoin de passer par ClickOnce pour créer un manifest, tu peux très bien le créer directement avec Visual Studio ou le créer à la main et le joindre ensuite à l'exécutable.

    Tu as plusieurs lien et façons de procéder ici : http://www.developpez.net/forums/d48...ibilite-vista/
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  8. #8
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bon,
    J'ai bien réussi à extraire le manifest, le modifier et le réinsérer avec mt.exe.

    J'attends de pouvoir tester sur le pc de mon ami.

    Merci beaucoup pour tous ces conseils. C'est sympa quand on débute de trouver quelqu'un d'expérimenté et patient.

  9. #9
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    et bien ça ne fonctionne toujours pas.

    Je ne comprends pas. j'ai bien extrait le fichier manifest, modifié la ligne concernant le niveau d'autorisation et réintégré le manifest avec mt.exe

    il doit toujours exécuter en tant qu'admin pour faire fonctionner l'application.
    En plus c'est sous xp donc en principe pas autant de problème que sous vista.

  10. #10
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Tu veux dire qu'il faut toujours que tu fasse clic-droit-> exécuter en tant qu'administrateur ?

    Parce que sinon il est normal que tu doive l'exécuter en tant qu'admin, la différence étant que tu as juste à double-cliquer dessus et à rentrer le pass admin, sans avoir à faire d'autres manip.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  11. #11
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    oui, c'est ça, il faut passer par le clic droit.

  12. #12
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Tu as essayé les différentes manières décrites dans le post ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  13. #13
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    je pense que oui, j'ai intégré mon fichier manifest à l'executable avec mt.exe

    j'aimerais quand même comprendre une chose:

    j'ai testé mon programme sous xp et ça fonctionne impeccablement que je sois sur un compte administrateur ou un compte limité. Il n'y a pas de clic droit à faire. Ceci sur plusieurs ordinateurs

    J'ai aussi testé sous vista et ça marche aussi très bien dans tous les cas et aussi sur +sieurs pc.

    Il n'y a que sur les 2 pc de mon ami (1 xp et 1 vista) sur lesquels ça ne fonctionne pas si on ne fait pas ce satané clic droit.

    Si c'était un problème de niveau d'exécution, je devrais en principe le rencontrer sur tous les pc non ? Surtout sur un compte limité

    Au passage, par rapport à ce que tu m'as dit plus haut, je n'ai jamais essayé de faire en sorte que mon appli demande des droits administrateurs ou autre.
    Je ne le souhaite pas justement et si je l'ai fait c'est totalement à mon insu (auquel cas je serai bien incapable de le défaire)

    Il m'est revenu autre chose encore:
    quand j'ai fait la première version de mon application il me semble que c'était avec visual studio 2005 que j'ai ensuite désinstallé pour passer à la version 2008.
    Et bien la première version effectuée sous VS2005 fonctionne très bien. ??

  14. #14
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Effectivement, si tu ne le rencontre que sur certains ordinateurs, c'est assez bizarre...

    On ne demande pas directement à notre application de demander des droits administrateur, c'est selon ce qu'on lui fait exécuter. Si tu accède à certains fichiers ou autre, tu auras forcément besoin des droits d'aministrateur.

    Par contre, je ne pense pas que le fait de changer de version de Visual Stuio change quoi que ce soit.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  15. #15
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bon, j'ai passé ma soirée à faire des essais.

    Je rencontre un autre problème qui je crois doit être le même.

    quand j'installe le programme, le fichier .exe.config est protégé en écriture pour les utilisateurs limités. Comme mon application enregistre les paramètres à la fermeture, le programme plante à la fermeture sur un compte limité.

    ce problème est réglé si l'administrateur donne les droits de modification au fichier .config.

    Y-a-t-il un moyen de donner d'emblée l'autorisation d'écriture pour tous les utisateurs lors de la conception du projet ? (pour éviter que l'admin le fasse manuellement)

    En fait ma première version devait fonctionner car elle n'avait pas de fichier de config.

    J'ai envisagé d'autres solutions qui me plaisent moins comme

    utiliser un fichier de paramètres pour chaque utilisateur mais je ne sais pas comment contrôler son emplacement sur le pc client

    ou encore passer par un fichier XML ou un .ini (mouaih!!)

  16. #16
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    En définitive, j'ai adopté la solution du fichier de paramètres qui lui ne pose aucun problème d'écriture.

    Pour le fichier config, ça marche aussi mais il faut que l'administrateur accorde les droits manuellement aux autres utilisateurs.

    ... [Résolu]

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

Discussions similaires

  1. Comment éviter les pages blanches dans un état?
    Par Noline dans le forum Access
    Réponses: 2
    Dernier message: 31/07/2006, 17h30
  2. publipostage : comment éviter les doublons?
    Par Christophe93250 dans le forum Access
    Réponses: 15
    Dernier message: 03/01/2006, 13h08
  3. Comment gérer les problèmes de connexion sur un idFTP ?
    Par giloutho dans le forum Web & réseau
    Réponses: 2
    Dernier message: 05/12/2005, 19h42
  4. Réponses: 3
    Dernier message: 05/07/2005, 19h07
  5. Comment éviter les doublons dans ma table
    Par einegel dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/11/2004, 13h18

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