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 ShellExecute
para 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.