2 votes

WaitForExit() s'active en cas d'UAC ou d'avertissement de sécurité

Je suis assez novice en c# et sur ce forum en général, mais en ce qui me concerne, je n'ai pas vu de question comme la mienne qui puisse résoudre mon problème.

J'appelle la méthode Process.WaitForExit() pour attendre la fin de l'installation d'un fichier d'installation. Cependant, la méthode semble considérer l'UAC comme le "processus" et s'active après que j'ai cliqué sur OK dans l'UAC. Existe-t-il un meilleur moyen d'attendre la fin d'un processus d'installation avant de poursuivre le code ? Ou est-ce que je m'y prends mal ? La désactivation manuelle de l'UAC (si c'est possible) n'est pas envisageable à moins qu'elle ne soit également programmée.

Voici la partie du code :

Edit : appel correct du processus

Process netInstall = Process.Start(filePath + "\\Installer.exe");
netInstall.WaitForExit();
Console.WriteLine("Installation Finished!");

Edit 2 : Est-ce que cela aiderait si je disais que j'installe MySQL Server 5.6 ? Il semble qu'en plus de l'avertissement de sécurité, le programme affiche et ferme certaines fenêtres avant de démarrer. Cordialement.

0voto

BayStallion Points 64

Le code n'est pas correct. Vous créez une instance de la classe Process, mais vous appelez ensuite la méthode statique Process.Start, qui crée une nouvelle instance de Process.

Votre code devrait ressembler à ceci :

Process netInstall = Process.Start(filePath + "\\Installer.exe");
netInstall.WaitForExit();
Console.WriteLine("Installation Finished!");

0voto

Sam Aleksov Points 1199

Exécutez votre application avec des privilèges élevés :

<requestedExecutionLevel level="requireAdministrator">

Prenez également en compte la réponse de BasyStallion et lancez correctement netInstall.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X