J'essaye d'installer un service utilisant InstallUtil.exe mais invoqué par Process.Start
. Voici le code:
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
où m_strInstallUtil
est le chemin d'accès complet et l'exe vers "InstallUtil.exe" et strExePath
est le chemin d'accès complet / nom à mon service.
L'exécution de la syntaxe de ligne de commande à partir d'une invite de commande élevée fonctionne; l'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é? Dois-je regarder ShellExecute
pour cela?
Tout cela est sous Windows Vista. J'exécute le processus dans le débogueur VS2008 élevé au privilège d'administrateur.
J'ai également essayé le réglage startInfo.Verb = "runas";
mais cela ne semblait pas résoudre le problème.
startInfo.UseShellExecute = true;
en plusstartInfo.Verb = "runas";
cela a bien fonctionné pour moi.