一种零代码集成自动升级方法

文档序号:6382428阅读:246来源:国知局
专利名称:一种零代码集成自动升级方法
技术领域
本发明涉及软件的更新升级技术领域,特别是涉及一种零代码集成自动升级的方法。
背景技术
现在越来越多的软件都希望具有自动升级功能,用户在使用软件的过程中,软件 自动通过网络从指定的服务器获得软件最新版本的信息,并自动下载相应的升级文件来实 现软件版本的更新,免去了用户自己上网检查和下载软件的最新版本的麻烦,这是一项很 贴心的功能,在一定程度上增加了软件的易用性和友好度。而纵观天空软件、华军软件收录 的所有软件,99%以上的软件自动升级功能做得都过于粗陋,只有腾讯软件、360软件、金山 软件等大型的软件企业,这个功能点做得相对完善。
但这些传统的自动升级方法具有一个弊端,需要通过预升级主程序调用升级程 序,即在主程序中加入少许代码,用以调用升级程序,从而实现升级过程,这将不可避免地 需要修改预升级软件的源代码,从而破坏了预升级软件的完成性和安全性,容易出现不可 预判的不安全因素。
图2是传统的软件集成自动升级功能的方法,这里面有一个升级环节就是主程 序调用升级程序,在主程序中加入少许代码,用以调用升级程序,目前大多软件都是采用这 种方案,例如QQ、360安全卫士、金山的wps-office等,很显然,要为软件集成自动升级功 能,需要在主程序中加入调用代码,新增升级功能的程序,需要修改软件的源代码,以增加 这个升级环节。
传统升级方案的问题1.开发软件使用的语言多种多样,有powerbuild、C++、C#、Basic等,用传统的方法,不 能够一篮子解决不同语言开发的软件集成自动升级功能的问题,而是需要针对不同语言开 发的软件开发与其各自相应的升级程序;2.集成升级功能的软件需要修改源代码,调用繁琐,对那些没有源码的用户无法实现 升级功能的集成;3.使得自动升级的软件功能推广使用变得比较困难,不利于在普通用户中普及使用。 发明内容
针对上述问题,本发明公开了一种零代码集成自动升级的方法,该方法至少解决 了上述对软件开发语言的限制、需要修改源代码才可以升级以及操作繁杂的问题,从而使 得普通用户就可以对现有的程序进行升级,且不需要对现有程序的源代码进行更改、也不 需要复杂操作,极大方便普通用户对现有程序自动升级的维护和使用。
工作原理为,软件启动的入口设置为自动升级程序而不是通常的主程序,自动升 级程序获得了优先运行权,在自动升级程序运行过程中,他首先检查软件是否有更新,如果 有更新,就弹出自己的升级界面,实现文件的下载和更新,如果软件没有更新则直接启动主程序。应用本发明可以解决二目前升级程序不能解决了两个问题,一是不编写一行代码实 现软件自动升级功能的集成,二是用同一个方法、同一个软件模块,为不同语言(C++,C#、 delph1、powerbuild、basic等)开发出来的软件产品集成自动升级功能。
该方法包括步骤1:将预升级软件的入口设置为自动升级程序,当执行该预升级软件时,直接启动 该预升级软件安装目录下的自动升级程序,而不必启动该预升级软件的主程序;步骤2 :自动升级程序启动后,立即联网查找该软件是否有更新,如果没有更新则直接 启动主程序,如果有更新就弹出界面引导用户下载可以执行更新的软件文件、并执行更新 改下载的软件文件,更新完毕再启动该预升级程序的主程序;其中,自动升级程序是一个通用的程序模块,其图标不能适应不同的软件、在做预升级 软件的安装包时将预升级软件的程序文件指向自动升级程序,且该图标指向自己的程序。
进一步地,自动升级程序首先连接网络判断软件是否有更新,如果没有更新,则直 接调用主程序,实现软件控制器的正常回归;如果有更新则弹出界面,下载软件文件到临时 目录、检查软件文件是否被占用、从临时目录拷贝文件覆盖到软件目录,升级完毕再启动主 程序。
进一步地,自动升级程序发现无更新或者更新完毕,再调用主程序,设置预升级软 件发布时要有个配置文件,在这个配置文件中指明从何处下载软件文件、主程序的程序名 称、主程序的文件名称,以便自动升级程序能够正常下载软件文件、调用并将软件控制器正 常回归给主程序。
进一步地,自动升级程序的程序有自己的图标,并不因为服务于不同的软件而改 变,在制作软件的安装包时,软件的快捷入口程序文件指向自动升级程序,图标文件指向其 他文件。
通过上述技术方案,本发明至少具有技术效果(I)不需要修改主程序源代码即可实现程序的自动升级。应用本发明可以实现应用程 序快速集成自动升级功能,不修改一行代码,同时可以为不同的开发环境开发语言服务。
(2)可以将自动升级功能单独出来做,进而可以形成软件产业的规模经济效益,不 必每个软件企业都做自己的自动升级功能,从而为软件企业减轻了开发成本和负担,也更 好地实现了程序的自动升级,提高了用户对程序使用的良好体验。


图1是采用本发明零代码集成软件自动升级功能时,自动升级程序和主程序协作关系 及协作流程图。图2是用传统方式集成自动升级功能时,自动升级程序和主程序协作关系及协作流程图。
权利要求
1.一种零代码集成自动升级的方法,其特征在于,该方法包括以下步骤步骤1:将预升级软件的入口设置为自动升级程序,当执行该预升级软件时,直接启动该预升级软件安装目录下的自动升级程序,而不必启动该预升级软件的主程序;步骤2 :自动升级程序启动后,立即联网查找该软件是否有更新,如果没有更新则直接启动主程序,如果有更新就弹出界面引导用户下载可以执行更新的软件文件、并执行更新改下载的软件文件,更新完毕再启动该预升级程序的主程序;其中,自动升级程序是一个通用的程序模块,其图标不能适应不同的软件、在做预升级软件的安装包时将预升级软件的程序文件指向自动升级程序,且该图标指向自己的程序。
2.如权利要求1所述的自动升级方法,其特征在于该预升级软件的入口指向自动升级程序,而非主程序。
3.如权利要求1所述的自动升级方法,其特征在于自动升级程序首先连接网络判断软件是否有更新,如果没有更新,则直接调用主程序, 实现软件控制器的正常回归;如果有更新则弹出界面,下载软件文件到临时目录、检查软件文件是否被占用、从临时目录拷贝文件覆盖到软件目录,升级完毕再启动主程序。
4.如权利要求1所述的自动升级方法,其特征在于自动升级程序发现无更新或者更新完毕,再调用主程序,设置预升级软件发布时要有个配置文件,在这个配置文件中指明从何处下载软件文件、主程序的程序名称、主程序的文件名称,以便自动升级程序能够正常下载软件文件、调用并将软件控制器正常回归给主程序。
5.如权利要求1所述的自动升级方法,其特征在于自动升级程序的程序有自己的图标,并不因为服务于不同的软件而改变,在制作软件的安装包时,软件的快捷入口程序文件指向自动升级程序,图标文件指向其他文件。
全文摘要
本发明公开一种零代码集成自动升级方法,包括将预升级软件的入口设置为自动升级程序,当执行该预升级软件时,直接启动该预升级软件安装目录下的自动升级程序,而不必启动该预升级软件的主程序;自动升级程序启动后,立即联网查找该软件是否有更新,如果没有更新则直接启动主程序,如果有更新就弹出界面引导用户下载可以执行更新的软件文件、并执行更新改下载的软件文件,更新完毕再启动该预升级程序的主程序。由于本发明实现了不修改源代码即可实现程序的自动升级,大大方便了程序的升级和维护。
文档编号G06F9/445GK103064700SQ20121049240
公开日2013年4月24日 申请日期2012年11月28日 优先权日2012年11月28日
发明者杜春辉 申请人:镇江为天下信息服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1