自动更新,应用程序自动更新解决方案"/>
linux应用程序自动更新,应用程序自动更新解决方案
本文将讨论一种桌面程序自动更新方案,其步骤比较多,但原理非常简单,通用性尚可。如果你有更完美的解决方案,欢迎留言探讨。
获取新版本程序获取服务器上的的应用程序信息(最好有一个应用程序唯一ID);
服务器返回应用程序ID、应用程序英文名、应用程序中文名、应用程序描述、应用程序版本号、更新包文件名、发布时间、HTTP下载链接(url)、Zip更新包(程序只有一个可执行时可以不用安装包)的MD5或SHA1等信息
判断当前应用程序版本是否小于服务器上的版本(谨慎起见最好不要判断不等于),如果小于服务器上的版本则下载新版本的应用程序;
下载Zip包(非安装包,安装包无法做到静默升级)或新版本的应用程序。
直接部署
Windows系统下可以重命名/移动正在运行的文件和它依赖的动态链接库,但是不能删除。Linux系统下可以删除正在运行的程序。
如果应用程序只有一个可执行文件,更新操作会简单一点。假设可执行文件名为app.exe ,Linux系统下的部署过程如下:下载 update.exe
删除正在运行的 app.exe
将 update.exe 重命名为 app.exe
重新启动应用程序
Windows系统下部署过程如下:下载 update.exe
将正在运行的 app.exe 重命名为app.exe.old
将 update.exe 重命名为 app.exe
重启应用程序后删除 app.exe.old
解压部署
如果程序中包含多个文件,则需要将应用程序及其依赖放到压缩包中,这样更新操作会复杂一点,以下是Windows版本的的解压部署过程(Li
更多推荐
linux应用程序自动更新,应用程序自动更新解决方案
发布评论