Elevando privilégio de processo de forma programática?

Estou tentando instalar um serviço usando InstallUtil.exe, mas invocado atravésProcess.Start. Aqui está o código:

ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);

Ondem_strInstallUtil é o caminho completo e exe para "InstallUtil.exe" estrExePath é o caminho / nome totalmente qualificado para o meu serviço.

Executar a sintaxe da linha de comando a partir de um prompt de comando elevado funciona; correndo do meu aplicativo (usando o código acima) não. Eu suponho que estou lidando com algum problema de elevação de processo, então, como eu executaria meu processo em um estado elevado? Eu preciso olhar paraShellExecute por esta?

Isso tudo é no Windows Vista. Eu estou executando o processo no depurador VS2008 elevado ao privilégio de administrador.

Eu também tentei definirstartInfo.Verb = "runas"; mas não pareceu resolver o problema.

questionAnswers(5)

yourAnswerToTheQuestion