Я добавил средство обновления для приложения (Myapp.exe). Когда я запускаю Myapp.exe , он проверяет новую доступную версию и загружает ее в соответствии с инструкцией пользователя в каталог Windows Temp . После загрузки обновления в каталог Temp запускается новая программа replacer.exe , которая отвечает за получение Myapp.exe , завершение процесса, удаление Myapp.exe и скопируйте новую версию (Myapp.exe) из каталога Temp в старый путь Myapp.exe. replacer.exe имеет следующий код.
class Program
{
static void Main(string[] args)
{
try
{
Process myProcess = Process.GetProcessesByName("Myapp")[0];
myProcess.Kill();
File.Delete(args[0]);
File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Temp\\Myapp.exe", args[0], false);
}
catch (Exception e)
{
Console.Write(e.ToString() + "");
//return;
}
//Console.Write( "Success");
try
{
Process.Start(args[0]);
}
catch (Exception es)
{
Console.Write(es.ToString() + "");
//return;
}
Console.ReadLine();
}
}
Но replacer.exe не может удалить Myapp.exe и выдать исключение System.UnauthorizedAccessException . Это означает, что replacer.exe не может получить доступ к пути, указанному Myapp.exe при удалении Myapp.exe.
Примечание: я запустил UserAccount, Myapp.exe и replacer.exe от имени администратора и обычного пользователя.
Как я могу решить это. Пожалуйста, помогите мне.
Заранее спасибо. , .