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;
                }