Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 16 sur 16
  1. #1
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    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
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    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 Expert
    Avatar de laedit
    Homme Profil pro Jérémie Bertrand
    Consultant études et développement
    Inscrit en
    décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérémie Bertrand
    Âge : 27
    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 350
    Points
    2 350

    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 :
    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
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    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 Expert
    Avatar de laedit
    Homme Profil pro Jérémie Bertrand
    Consultant études et développement
    Inscrit en
    décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérémie Bertrand
    Âge : 27
    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 350
    Points
    2 350

    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
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    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 Expert
    Avatar de laedit
    Homme Profil pro Jérémie Bertrand
    Consultant études et développement
    Inscrit en
    décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérémie Bertrand
    Âge : 27
    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 350
    Points
    2 350

    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
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    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
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    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 Expert
    Avatar de laedit
    Homme Profil pro Jérémie Bertrand
    Consultant études et développement
    Inscrit en
    décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérémie Bertrand
    Âge : 27
    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 350
    Points
    2 350

    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
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    Par défaut

    oui, c'est ça, il faut passer par le clic droit.

  12. #12
    Membre Expert
    Avatar de laedit
    Homme Profil pro Jérémie Bertrand
    Consultant études et développement
    Inscrit en
    décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérémie Bertrand
    Âge : 27
    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 350
    Points
    2 350

    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
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    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 Expert
    Avatar de laedit
    Homme Profil pro Jérémie Bertrand
    Consultant études et développement
    Inscrit en
    décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérémie Bertrand
    Âge : 27
    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 350
    Points
    2 350

    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
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    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
    Invité de passage
    Inscrit en
    septembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : septembre 2009
    Messages : 11
    Points : 2
    Points
    2

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •