winform开发软件在线升级的实现思路(简单版)
做winform桌面端软件开发的小伙伴都会碰到软件在线升级的需求吧,我来讲下我的的实现思路,只是针对简单的在线升级功能.
一.服务端
1.定义一个配置文件,配置文件中写上软件当前最新的版本,以及当前版本是否当前版本是否需要强制升级,以及需要升级的文件.
二.客户端
1.软件在启动的时候(具体是软件启动时还是其他的形式得根据你的场景而定了),软件异步获取最新的版本号信息与当前软件的版本号进行对比,如果版本号不一致,则再检测本次最新版是否需要强制升级,如果是要强制升级,则弹出升级窗口并下载服务端最新的升级模块.下载后再启动升级模块.一般都是将最新的升级模块替换现存的升级模即可.
2.一般软件都会有一个处理升级的exe,该文件的作用就是用来处理替换文件的.这个文件在主程序调用起来后再讲主程序的进程杀掉,再执行替换操作.
以上的一个方式,只是针对一个比较简单的软件进行升级处理的.通常情况下,如果软件本地有数据库的话可能存在不同版本的程序数据库的字段或表不一致的情况,甚至还有需要替换数据的情况,建议最好在升级的时候将本地的数据库先备份一次,避免升级失败导致数据丢失.备份了至少升级失败用户的数据还能回滚.
一.服务端
1.定义一个配置文件,配置文件中写上软件当前最新的版本,以及当前版本是否当前版本是否需要强制升级,以及需要升级的文件.
二.客户端
1.软件在启动的时候(具体是软件启动时还是其他的形式得根据你的场景而定了),软件异步获取最新的版本号信息与当前软件的版本号进行对比,如果版本号不一致,则再检测本次最新版是否需要强制升级,如果是要强制升级,则弹出升级窗口并下载服务端最新的升级模块.下载后再启动升级模块.一般都是将最新的升级模块替换现存的升级模即可.
2.一般软件都会有一个处理升级的exe,该文件的作用就是用来处理替换文件的.这个文件在主程序调用起来后再讲主程序的进程杀掉,再执行替换操作.
以上的一个方式,只是针对一个比较简单的软件进行升级处理的.通常情况下,如果软件本地有数据库的话可能存在不同版本的程序数据库的字段或表不一致的情况,甚至还有需要替换数据的情况,建议最好在升级的时候将本地的数据库先备份一次,避免升级失败导致数据丢失.备份了至少升级失败用户的数据还能回滚.
上一篇: 解决TextBox属性Multiline设置为True后无法Ctrl+A全选
下一篇: 已经是最后一篇了
相关文章
文章评论
热门评论
暂无评论


asp.net发布到服务器IIS,打开直接报:未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。试图...
更新新版本酷狗后,发现后我经常听的歌曲全变成了VIP才能听的歌曲..我以为就我一个人出现的这样,结果查了一下...
一个新站终于有来自搜索引擎的流量了.严格来讲也不能说是新站了,已经快半年了吧.虽然收录还是非常的少,浏览量...
有些网站上的内容非常不错,想保存下来,但是网站却又通过javascript禁止了复制和右键,虽然在设置里可以禁用指...
昨晚去看血战钢锯岭,第一次在电影院看到战争还原度这么高的电影了。惨叫声、残肢、血腥、爆炸声。。。。自己...
