Como iniciar um novo processo sem privilégios de administrador de um processo com privilégios de administrador?

Estou criando um atualizador automático para um aplicativo. O aplicativo é iniciado pelo usuário e é executado sem privilégios de administrador. O autoupdater é iniciado com privilégios de administrador e mata o aplicativo antes de fazer o download dos novos arquivos.

O problema surge quando quero iniciar o aplicativo atualizado depois que o autoupdater é concluído. Se eu uso regular System.Diagnostics.Process.Start (arquivo), o aplicativo inicia com privilégios de administrador também, etem para executar no usuário atual para funcionar como pretendido.

Então, como posso fazer o autoupdater iniciar o aplicativo como o usuário atual em vez do administrador?

Eu tentei usar o seguinte:

var pSI = new ProcessStartInfo() { 
    UseShellExecute = false, 
    UserName = Environment.UserName, 
    FileName = file 
};
System.Diagnostics.Process.Start(pSI);

Mas isso gera o erro "Nome de usuário ou senha inválido". Verifiquei se o nome de usuário está correto e entendo que a senha provavelmente é inválida, pois não a incluí. Mas não é uma opção pedir ao usuário que insira sua senha, uma vez que todo o motivo para iniciar o aplicativo automaticamente é facilitar para o usuário.

Alguma sugestão?

questionAnswers(9)

yourAnswerToTheQuestion