CN107315602B - 一种应用程序的升级方法及终端 - Google Patents
一种应用程序的升级方法及终端 Download PDFInfo
- Publication number
- CN107315602B CN107315602B CN201710335760.1A CN201710335760A CN107315602B CN 107315602 B CN107315602 B CN 107315602B CN 201710335760 A CN201710335760 A CN 201710335760A CN 107315602 B CN107315602 B CN 107315602B
- Authority
- CN
- China
- Prior art keywords
- application program
- upgrade
- upgrade package
- appid
- downloading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种应用程序的升级方法及终端,该方法包括以下步骤:从服务端下载升级包;运行所述升级包,并将所述应用程序的AppID值赋值给所述升级包的AppID参数,以使所述升级包根据所述AppID参数识别出对应的应用程序并完成升级操作。在多个不同应用程序更新内容相同的情况下,本发明可以减少创建升级包时的工作量以及杜绝因升级配置不正确造成的升级包和应用程序不匹配的情况。
Description
技术领域
本发明涉及计算机程序技术,具体涉及应用程序的升级技术。
背景技术
安装包制作工具是专业用于制作安装程序的打包类软件,单纯的使用脚本来编写安装程序对于大多数人来说不仅困难而且容易出错,而使用安装包制作工具具备初学者上手容易、制作的安装程序功能完善等优点。Inno Setup是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows风格的安装界面,足以完成一般安装任务。
使用Inno Setup创建应用程序安装包或者升级包,每一个应用程序需要对应一个唯一的标识id(即AppID),在进行版本升级时,一般一个升级包只能对应一个应用程序,而在某些情况下,需要使用一个通用更新包来对多个应用程序进行版本升级。
一般情况下,用inno setup工具创建的升级包,必须指定一个常量作为AppId,而不同的应用程序对应的AppId不同,这样就造成每升级一个应用程序,必须创建一个对应的升级包,升级包与应用程序唯一对应。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种应用程序的升级方法,其能解决每升级一个应用程序,必须创建一个对应的升级包的问题。
本发明的目的之二在于提供一种终端,其能解决每升级一个应用程序,必须创建一个对应的升级包的问题。
为了实现上述目的之一,本发明所采用的技术方案如下:
一种应用程序的升级方法,其包括以下步骤:
从服务端下载升级包;
运行所述升级包,并将所述应用程序的AppID值赋值给所述升级包的AppID参数,以使所述升级包根据所述AppID参数识别出对应的应用程序并完成升级操作。
优选的,所述升级操作包括以下步骤:
退出所述应用程序;
安装所述升级包,并完成注册表信息的更新,从而更新所述应用程序在注册表中的版本号;
重启所述应用程序,完成升级操作。
优选的,所述从服务端下载升级包具体包括以下步骤:当检查到服务端存在所述应用程序的版本更新信息,则从服务端下载升级包至本地临时目录。
优选的,在运行所述升级包时,判断所述应用程序是否有在本地安装,若有,则将所述应用程序的AppID值赋值给所述升级包的AppID参数,否则退出升级操作。
为了实现上述目的之二,本发明所采用的技术方案如下:
一种终端,其包括存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于运行所述程序指令,以执行以下步骤:
从服务端下载升级包;
运行所述升级包,并将所述应用程序的AppID值赋值给所述升级包的AppID参数,以使所述升级包根据所述AppID参数识别出对应的应用程序并完成升级操作。
优选的,所述升级操作包括以下步骤:
退出所述应用程序;
安装所述升级包,并完成注册表信息的更新,从而更新所述应用程序在注册表中的版本号;
重启所述应用程序,完成升级操作。
优选的,所述从服务端下载升级包具体包括以下步骤:当检查到服务端存在所述应用程序的版本更新信息,则从服务端下载升级包至本地临时目录。
优选的,在运行所述升级包时,判断所述应用程序是否有在本地安装,若有,则将所述应用程序的AppID值赋值给所述升级包的AppID参数,否则退出升级操作。
相比现有技术,本发明的有益效果在于:
在多个不同应用程序更新内容相同的情况下,本发明可以减少创建升级包时的工作量以及杜绝因升级配置不正确造成的升级包和应用程序不匹配的情况。
附图说明
图1为本发明较佳实施例的升级方法的流程图;
图2为本发明较佳实施例的终端的结构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
本实施例提出了一种应用程序的升级方法。在实施该升级方法前,先创建升级包。创建升级包的流程如下:
步骤1:打开inno setup软件,新建一个inno setup模板脚本,在模板脚本的起始处手动输入本次升级后的版本号、升级包中的发布信息以及升级包包含的更新文件等信息。
步骤2:在[code]段中手动输入获取命令行参数AppId的函数方法GetAppId相关代码。
步骤3:在[Setup]段中手动修改AppId参数值的获取方式,改为由函数GetAppId获取。这样升级包的AppId值将由命令行参数指定。
代码示例:
AppId={code:getAppId}
步骤4:在InitializeSetup函数中,添加判断应用程序是否安装的相关代码。通过AppId在注册表的指定位置进行查找,判断系统中是否安装过应用程序。如果没有安装过对应应用程序,则在弹出错误提示信息后退出升级操作。
步骤5:在CurStepChanged函数中,添加更新注册表中关于应用版本号的相关代码。通过更新注册表信息,可以更新应用程序在系统中的版本号等信息显示。
步骤6:使用前一个步骤创建的模板脚本和相关文件,通过inno setup工具编译生成此次的升级包。
步骤7:在服务端配置应用程序的升级信息,这样应用程序在进行版本检查时将从远程服务端上收到版本更新相关数据。
在升级包创建后,应用程序启动后,执行如图1所示的升级方法流程。
步骤S1、从服务端下载升级包。
具体为:当检查到服务端存在所述应用程序的版本更新信息,则从服务端下载升级包至本地临时目录,然后通过命令行参数运行所述升级包。
步骤S2、运行所述升级包,判断所述应用程序是否有在本地安装(由步骤4相关代码实现),若有,则将所述应用程序的AppID值赋值给所述升级包的AppID参数,即将应用程序的唯一AppID传给升级包(由步骤2、3的相关代码实现),以使所述升级包根据所述AppID参数识别出对应的应用程序并完成升级操作,否则退出升级操作。
也就是说,本实施例的升级包的AppID参数是由应用程序动态传入的,从而实现同一升级包对不同应用程序的升级操作,即本实施例的升级包是通用升级包。需要说明的是,现有技术中,普通升级包的AppId是一个常量,无法升级不同的应用程序。
具体的,所述升级操作包括以下步骤:
退出所述应用程序;
安装所述升级包,并完成注册表信息的更新,从而更新所述应用程序在注册表中的版本号(由步骤5相关代码实现);
重启所述应用程序,完成升级操作。
如图2所示,与上述方法对应提出一种一种终端,其包括存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于运行所述程序指令,以执行以下步骤:
从服务端下载升级包;
运行所述升级包,并将所述应用程序的AppID值赋值给所述升级包的AppID参数,以使所述升级包根据所述AppID参数识别出对应的应用程序并完成升级操作。
优选的,所述升级操作包括以下步骤:
退出所述应用程序;
安装所述升级包,并完成注册表信息的更新,从而更新所述应用程序在注册表中的版本号;
重启所述应用程序,完成升级操作。
优选的,所述从服务端下载升级包具体包括以下步骤:当检查到服务端存在所述应用程序的版本更新信息,则从服务端下载升级包至本地临时目录。
优选的,在运行所述升级包时,判断所述应用程序是否有在本地安装,若有,则将所述应用程序的AppID值赋值给所述升级包的AppID参数,否则退出升级操作。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (6)
1.一种应用程序的升级方法,其特征在于,包括以下步骤:
从服务端下载升级包;
运行所述升级包,判断应用程序是否有在本地安装,若有,则将所述应用程序的AppID值赋值给所述升级包的AppID参数以使所述升级包根据所述AppID参数识别出对应的应用程序并完成升级操作,以实现同一升级包对不同应用程序的升级操作,否则退出升级操作,其中AppId值由命令行参数指定。
2.如权利要求1所述的升级方法,其特征在于,所述升级操作包括以下步骤:
退出所述应用程序;
安装所述升级包,并完成注册表信息的更新,从而更新所述应用程序在注册表中的版本号;
重启所述应用程序,完成升级操作。
3.如权利要求1所述的升级方法,其特征在于,所述从服务端下载升级包具体包括以下步骤:当检查到服务端存在所述应用程序的版本更新信息,则从服务端下载升级包至本地临时目录。
4.一种终端,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于运行所述程序指令,以执行以下步骤:
从服务端下载升级包;
运行所述升级包,判断应用程序是否有在本地安装,若有,则将所述应用程序的AppID值赋值给所述升级包的AppID参数,以使所述升级包根据所述AppID参数识别出对应的应用程序并完成升级操作,以实现同一升级包对不同应用程序的升级操作,否则退出升级操作,其中AppId值由命令行参数指定。
5.如权利要求4所述的终端,其特征在于,所述升级操作包括以下步骤:
退出所述应用程序;
安装所述升级包,并完成注册表信息的更新,从而更新所述应用程序在注册表中的版本号;
重启所述应用程序,完成升级操作。
6.如权利要求4所述的终端,其特征在于,所述从服务端下载升级包具体包括以下步骤:当检查到服务端存在所述应用程序的版本更新信息,则从服务端下载升级包至本地临时目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710335760.1A CN107315602B (zh) | 2017-05-12 | 2017-05-12 | 一种应用程序的升级方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710335760.1A CN107315602B (zh) | 2017-05-12 | 2017-05-12 | 一种应用程序的升级方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107315602A CN107315602A (zh) | 2017-11-03 |
CN107315602B true CN107315602B (zh) | 2021-02-12 |
Family
ID=60181565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710335760.1A Active CN107315602B (zh) | 2017-05-12 | 2017-05-12 | 一种应用程序的升级方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107315602B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502263B (zh) * | 2019-08-14 | 2023-04-07 | 深圳市东微智能科技股份有限公司 | 升级包制作方法、系统及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902299A (zh) * | 2012-12-24 | 2014-07-02 | 航天信息股份有限公司 | 一种软件版本的更新方法和系统 |
CN106126290A (zh) * | 2016-06-27 | 2016-11-16 | 微梦创科网络科技(中国)有限公司 | 应用程序优化方法、装置及系统 |
CN106485153A (zh) * | 2016-10-10 | 2017-03-08 | 聚好看科技股份有限公司 | 版本升级方法及终端设备 |
CN106648810A (zh) * | 2017-01-24 | 2017-05-10 | 东软集团股份有限公司 | 应用程序资源的获取方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054293A1 (en) * | 2001-01-05 | 2002-07-11 | Detto Corporation | Function/service based data export and import/distribution |
US6754895B1 (en) * | 2001-04-26 | 2004-06-22 | Palm Source, Inc. | Method and system for automatic firmware updates in a portable hand-held device |
CN102147723A (zh) * | 2010-02-05 | 2011-08-10 | 北京金山数字娱乐科技有限公司 | 软件包生成方法及系统 |
CN102033771B (zh) * | 2010-12-24 | 2013-09-25 | 北京握奇数据系统有限公司 | 一种在Java Card中应用补丁程序的方法及装置 |
CN102567078B (zh) * | 2011-12-28 | 2014-12-24 | 华为数字技术(成都)有限公司 | 一种注册表虚拟化方法及装置 |
CN103218242B (zh) * | 2013-04-19 | 2016-04-06 | 飞天诚信科技股份有限公司 | 一种自动更新的方法 |
CN104866341B (zh) * | 2015-05-07 | 2018-10-09 | 北京金山安全软件有限公司 | 一种组件升级方法、装置及终端 |
-
2017
- 2017-05-12 CN CN201710335760.1A patent/CN107315602B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902299A (zh) * | 2012-12-24 | 2014-07-02 | 航天信息股份有限公司 | 一种软件版本的更新方法和系统 |
CN106126290A (zh) * | 2016-06-27 | 2016-11-16 | 微梦创科网络科技(中国)有限公司 | 应用程序优化方法、装置及系统 |
CN106485153A (zh) * | 2016-10-10 | 2017-03-08 | 聚好看科技股份有限公司 | 版本升级方法及终端设备 |
CN106648810A (zh) * | 2017-01-24 | 2017-05-10 | 东软集团股份有限公司 | 应用程序资源的获取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107315602A (zh) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108399083B (zh) | 一种系统部署方法、装置、电子设备和存储介质 | |
CN107992308B (zh) | 一种安卓终端应用程序的插件化管理方法 | |
CN109451472B (zh) | Android智能设备上多蓝牙芯片的动态管理方法 | |
US20120210317A1 (en) | Method and apparatus for updating data card | |
CN108874437B (zh) | 一种android应用程序的在线云更新方法 | |
CN105389187B (zh) | 一种系统更新的方法 | |
CN105975298A (zh) | 远程控制Android终端应用的方法及系统 | |
CN104113430A (zh) | 一种云计算数据中心自动化部署软件架构设计 | |
CN111427594B (zh) | 应用程序运行方法及装置 | |
US20170262263A1 (en) | Process and system for the generation of an operating program in the form of a mobile application that is capable of operating on a mobile device | |
CN106775876B (zh) | 安卓系统快速启动应用的方法 | |
CN112615747B (zh) | 一种网络设备自动部署配置的方法及装置 | |
CN106502685B (zh) | 一种数据库的升级方法及系统 | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN107315602B (zh) | 一种应用程序的升级方法及终端 | |
CN106681759A (zh) | 软件更新的方法及移动终端 | |
WO2023226670A1 (zh) | 一种eSIM固件升级方法、装置、设备及介质 | |
US20170199733A1 (en) | Method for terminal to update operating system, terminal and system | |
CN104090805B (zh) | 一种更新终端操作系统的方法、设备及系统 | |
CN113434164B (zh) | 一种车载娱乐主机的设置项云端配置更新方法和系统 | |
CN113656063A (zh) | 一种系统版本更换方法、装置、设备及计算机可读介质 | |
CN108874405B (zh) | 一种OpenStack环境升级方法 | |
JP2000035879A (ja) | クライアントアプリケーションのバージョンアップシステム | |
CN112667255A (zh) | 更新方法、装置、电子设备及存储介质 | |
CN111586484A (zh) | 显示设备的副屏系统升级方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20210922 Granted publication date: 20210212 |