Estoy tratando de instalar un servicio usando InstallUtil.exe pero invocado a través de Process.Start
. Aquí está el código:¿Aumenta el privilegio del proceso programáticamente?
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
donde m_strInstallUtil
es la ruta completa y el exe para "InstallUtil.exe" y strExePath
es la ruta completa/nombre a mi servicio.
Ejecutar la sintaxis de la línea de comando desde un símbolo de sistema elevado funciona; ejecutar desde mi aplicación (utilizando el código anterior) no lo hace. Supongo que estoy lidiando con algún problema de elevación del proceso, entonces, ¿cómo podría ejecutar mi proceso en un estado elevado? ¿Tengo que mirar ShellExecute
para esto?
Esto es todo en Windows Vista. Estoy ejecutando el proceso en el depurador VS2008 elevado a privilegio de administrador.
También intenté configurar startInfo.Verb = "runas";
pero no pareció resolver el problema.
"runas" tampoco funcionó para mí. ¿Podría ser que solo funciona con UAC desactivado? –
Me ayudó, me pregunto si esto funciona para todos los SO de Windows. –
Esto no parece funcionar en Windows 8. Funcionó bien en versiones anteriores. – Despertar