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;
                }
02-14 04:45