Problème avec l'UAC

Résolu
koutiiii Messages postés 5 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 19 juillet 2010 - 15 juil. 2010 à 13:29
koutiiii Messages postés 5 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 19 juillet 2010 - 19 juil. 2010 à 12:02
Bonjour,

Suite à une longue bataille contre l'UAC de Windows 7 & Vista. Je viens vers la communauté pour demander du renfort!

Depuis une application exécutée en mode user, je dois lancer plusieurs applications en mode admin après avoir cliquer sur un bouton.

Cependant, je n'ai pas envie que l'utilisateur clique plusieurs fois sur le "Oui"/"Yes" de l'UAC pour que ces applications soient exécutées. D'autant plus qu'il sait très bien ce qui va se passer et que cela se fait en arrière plan (Installation silencieuse. Hey non, je ne crée pas un trojan ).

J'ai trouvé une astuce:

Lancer depuis mon application user une application en mode admin qui elle même lancera toutes les autres applications. Cependant je n'arrive pas à faire communiquer mon application user avec l'application admin, à part récupérer l'exit code. Je n'arrive pas à rediriger l'Output du programme admin.

Voilà la raison de ma guerre, j'espère que j'ai été assez claire.

Si vous avez des solutions, je suis à l'écoute :)

3 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
19 juil. 2010 à 00:31
Bonjour,

Je ne suis pas sur que cela soit possible simplement.

La solution de l'application "launcher" me semble la solution la plus adaptée.
Afin de faire communiquer 2 applications entre elles, tu as plusieurs solutions :

1. par un named pipe : tu peux utiliser WCF et les bindings NamedPipe :)
2. par l'écriture d'un fichier + FileSystemWatcher : l'application "manager" écrit dans un fichier, l'application "launcher" utilise un FileSystemWatcher pour lire les données du "manager"


Bien sur, la solution N°1 est un peu plus complexe à mettre en oeuvre mais beaucoup plus propre.

____________________________________________
Cyril - MVP ASP.net - webSite
3
koutiiii Messages postés 5 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 19 juillet 2010
19 juil. 2010 à 12:02
Effectivement la solution du named Pipe marche très bien. Un super lien qui explique cela:

http://omegacoder.com/?p=101

Merci beaucoup Jesus
3
koutiiii Messages postés 5 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 19 juillet 2010
19 juil. 2010 à 00:44
Merci, je vais essayer ça dès demain ;)
0
Rejoignez-nous