Estou tentando instalar um serviço usando o InstallUtil.exe, mas invocado Process.Start. Aqui está o código:
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
onde m_strInstallUtilé o caminho completo e exe para "InstallUtil.exe" e strExePathé o caminho / nome completo para o meu serviço.
A execução da sintaxe da linha de comando em um prompt de comando elevado funciona; a execução do meu aplicativo (usando o código acima) não. Suponho que estou lidando com algum problema de elevação de processo, então como eu executaria meu processo em um estado elevado? Preciso olhar ShellExecutepara isso?
Isso é tudo no Windows Vista. Estou executando o processo no depurador VS2008 elevado ao privilégio de administrador.
Eu também tentei configurar, startInfo.Verb = "runas";mas não parecia resolver o problema.
startInfo.UseShellExecute = true;, além dissostartInfo.Verb = "runas";, funcionou bem para mim.