Maison >développement back-end >C++ >Comment puis-je élever par programme les privilèges de processus en C # pour exécuter installUtil.exe?

Comment puis-je élever par programme les privilèges de processus en C # pour exécuter installUtil.exe?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-31 09:51:10499parcourir

How Can I Programmatically Elevate Process Privileges in C# to Run InstallUtil.exe?

Améliorez les autorisations de processus C # par programmation pour exécuter installUtil.exe

Vous rencontrez des problèmes lorsque vous utilisez pour installer le service. Fragment de code fourni:

Il s'exécute avec succès sous l'invite de commande de promotion, mais échoue lors de l'appel dans votre application.

Process.Start Solution: promotion des autorisations InstallUtil.exe

<code class="language-csharp">ProcessStartInfo startInfo = new ProcessStartInfo(m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start(startInfo);</code>
Ce problème provient d'une autorité de processus insuffisante. Pour vous accorder les autorisations pour améliorer votre processus, vous pouvez définir l'attribut

de l'objet

à "runas":

Cette commande indique que Windows exécute le processus avec les autorisations de l'administrateur pour simuler l'effet d'appeler son effet via l'option "Exécuter en tant qu'administrateur" dans le gestionnaire de ressources.

Précautions UAC startInfo Verb

L'utilisation de "runas" déclenchera les invites de contrôle du compte utilisateur (UAC). Bien que cela soit acceptable pour les opérations jetables, cela peut entraîner des interférences pendant l'automatisation.
<code class="language-csharp">startInfo.UseShellExecute = true;
startInfo.Verb = "runas";</code>

Alternative: incorporé la liste

pour éviter les invites UAC, envisagez d'augmenter l'autorité en intégrant la liste. Cela affichera une invite UAC au moment de l'application et augmentera automatiquement les autorisations de tous ses sous-processus, donc aucune invite supplémentaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn