WPF Core发布有个文件发布选项:生成单个文件,自动升级就比较方便了。
一、下载新版本程序,保存为...Exe~,并运行
Process currentProcess = Process.GetCurrentProcess();
File.WriteAllBytes(currentProcess.MainModule.FileName + "~", buffer);
Process p = new Process();
p.StartInfo.FileName = Path.Combine(pathDesktop, filename);
p.StartInfo.UseShellExecute = false;
p.Start();
二、替换老版本并运行
if (currentProcess.MainModule.FileName.EndsWith("~"))
{
File.Copy(currentProcess.MainModule.FileName, currentProcess.MainModule.FileName.TrimEnd('~'), true);
Process p = new Process();
p.StartInfo.FileName = currentProcess.MainModule.FileName.TrimEnd('~');
p.StartInfo.UseShellExecute = false;
p.Start();
return;
}