J'essaye d'installer un service using InstallUtil.exe mais invoqué par Process.Start
. Voici le code:Elevating privilege de processus par programme?
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
où m_strInstallUtil
est le chemin complet et exe « InstallUtil.exe » et strExePath
est le chemin complet/nom à mon service. L'exécution de la syntaxe de ligne de commande à partir d'une invite de commande élevée fonctionne;
en cours d'exécution à partir de mon application (en utilisant le code ci-dessus) ne fonctionne pas. Je suppose que je suis confronté à un problème d'élévation de processus, alors comment exécuter mon processus dans un état élevé? Ai-je besoin de regarder ShellExecute
pour cela?
Tout est sous Windows Vista. Je cours le processus dans le débogueur VS2008 élevé au privilège d'admin.
J'ai également essayé de régler startInfo.Verb = "runas";
mais cela n'a pas semblé résoudre le problème.
"runas" n'a pas fonctionné pour moi non plus. Peut-être que cela fonctionne seulement avec UAC éteint? –
Cela m'a aidé, je me demande si cela fonctionne pour tous les systèmes d'exploitation Windows? –
Cela ne semble pas fonctionner sur Windows 8. Fonctionne correctement sur les versions précédentes. – Despertar