Я создаю автоматическое обновление для приложения. Приложение запускается пользователем и запускается без прав администратора. Автоудатчик запускается с правами администратора и убивает приложение до того, как он загрузит новые файлы.
Проблема возникает, когда я хочу запустить обновленное приложение после завершения работы autoupdater. Если я использую обычный System.Diagnostics.Process.Start(файл), приложение также запускается с правами администратора, и он должен работать на текущем пользователе для работы по назначению.
Итак, как я могу заставить autoupdater запускать приложение как текущего пользователя, а не администратора?
Я пробовал использовать следующее:
var pSI = new ProcessStartInfo() {
UseShellExecute = false,
UserName = Environment.UserName,
FileName = file
};
System.Diagnostics.Process.Start(pSI);
Но это вызывает ошибку "Недопустимое имя пользователя или пароль". Я проверил, что имя пользователя правильно, и я понимаю, что пароль, вероятно, недействителен, поскольку я его не включил. Но не обязательно спрашивать пользователя о вводе его пароля, так как вся причина запуска приложения автоматически заключается в том, чтобы сделать его проще для пользователя.
Любые предложения?