如何实现程序的自我更新

如何实现程序的自我更新,第1张

B>升级程序从网络上下载相关的更新文件,如果下载的更新程序包括主程序,则下载到本地硬盘后更名后保存.

C>下载更新完成后,结束主程序,并用下载的新文件替换原来的旧文件.

D>替换完成后重新调用主程序,完成此次更新.2.内部更新程序此处的内部更新程序是与上面的相比而言的,上面的是调用外部的更新升级程序,,此处只是把更新升级程序模块写在主程序中.不需要调用外部程序.A>主程序下载更新文件,如果更新文件中包含主程序,则把下载的程序更名后保存在本地硬盘.

B>此处需要用以一个临时程序文件,放在服务器上下载到本地硬盘.此文件的作用就是更名,内部更新的关键就在这里,此文件是一个临时文件,更新过程完成后需要删除.

C>下载完成所有文件后,主程序结束自身进程前调用下载的临时文件,临时文件删除旧主程序后,把下载的新主程序更名,并调用新主程序.调用后结束自身进程.D>新主程序运行时需要删除下载的临时文件.

使用GitHub进行Go命令的自我更新机制

_且桓_o库,可为命令行工具提供自更新机制。 Go不提供安装/更新工具稳定版本的方法。

_锨榭鱿?,Go命令行工具已更新: 使用go get -u ,但是不稳定,因为构建了存储库的HEAD

_褂孟低车娜砑芾砥?,但由于平台而异,因此很难发布...”

代码木有..

思路一堆..

如果您的程序想删除原本的..

友情提示.看看百度影音的做法吧.

直接新建了一个文件夹.

删除原本的文件夹..

这个是比较极端的

您可以尝试这次的更新程序下载下来2个EXE.一个是主程序_TEMP.EXE一个是UPDATE.EXE

然后执行UPDATE.EXE

关闭自己

Update.EXE

删除原本的内容

更改主程序_TEMP.EXE

为主程序.exe

这下就把原本的程序完美替换了..

/*切割*/

但是以前见过单文件自己更新自己的,不知道是否是经过打包

但文件自己更新自己是这样子滴...动态生成一个BAT...然后执行他就好了..执行完了BAT自行删除..这个就很简易了..

但是您要考虑到BAT要是删除失败..可就比较恶心了

如果您不关心原本的程序.

或不关心原本程序的废除DALL.冗余的文件

那么就简单了..

但是也有前提:

前提是你的主程序.EXE

也就是你执行更新这一段代码的EXE程序自己不更新.否则由于进程锁无法更新

其实也能仿.

例如..下载的新的EXE名字改一下..生成BAT删除原本EXE更改名字.BAT自行删除.

/*再割..*/

您说的自己更新自己是CLICKONCE吧..

他是微软自己实现的.通过WINDOWS的一个组件

前提当然也就是您说的..打包了.

而且整个打包方式都不同..


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11344666.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存