Estoy tratando de instalar un servicio usando InstallUtil.exe pero invoqué Process.Start
. Aquí está el código:
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
donde m_strInstallUtil
está la ruta totalmente calificada y exe a "InstallUtil.exe" y strExePath
es la ruta / nombre totalmente calificado a mi servicio.
Ejecutar la sintaxis de la línea de comandos desde un símbolo del sistema elevado funciona; desde mi aplicación (usando el código anterior) no. Supongo que estoy lidiando con un problema de elevación del proceso, entonces, ¿cómo ejecutaría mi proceso en un estado elevado? ¿Necesito mirar ShellExecute
esto?
Todo esto está 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.
startInfo.UseShellExecute = true;
además destartInfo.Verb = "runas";
que funcionó bien para mí.