CN103677937A - 升级软件和运行软件的方法及装置 - Google Patents

升级软件和运行软件的方法及装置 Download PDF

Info

Publication number
CN103677937A
CN103677937A CN201310719813.1A CN201310719813A CN103677937A CN 103677937 A CN103677937 A CN 103677937A CN 201310719813 A CN201310719813 A CN 201310719813A CN 103677937 A CN103677937 A CN 103677937A
Authority
CN
China
Prior art keywords
file
version
software
business module
business
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.)
Granted
Application number
CN201310719813.1A
Other languages
English (en)
Other versions
CN103677937B (zh
Inventor
欧瑞清
万茂武
罗学成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310719813.1A priority Critical patent/CN103677937B/zh
Publication of CN103677937A publication Critical patent/CN103677937A/zh
Application granted granted Critical
Publication of CN103677937B publication Critical patent/CN103677937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种升级软件和运行软件的方法及装置,方法包括:获取软件的升级文件,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;将获取的所述升级文件存储到所述终端系统的第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域;修改所述软件的配置文件,所述配置文件由所述软件安装时生成于所述第二区域,修改后的配置文件包括所述升级文件的存储路径信息及所述升级文件的版本信息,用于使所述软件启动时运行所述升级文件。通过将升级文件存储到终端系统中除敏感区域以外的区域中,并修改运行软件所需的配置文件,降低了升级软件的复杂度。

Description

升级软件和运行软件的方法及装置
技术领域
本发明涉及计算机技术,尤其涉及一种升级软件和运行软件的方法及装置。
背景技术
软件开发者在编写某一软件时,往往会考虑不全面而导致该软件的功能不完善。为弥补这个缺陷,在该软件发行后,还会对程序进行修改或在该软件中加入新的功能,形成该软件的升级版本,供用户升级。
现有技术中,软件升级时,首先把升级文件从网络侧下载到本地,然后提示用户有版本升级。如果用户选择升级,则终端强杀正在运行的程序,把下载到本地的升级文件复制到安装目录下,实现升级。
但是,对于安全性较高的终端操作系统,如引入了UAC(User AccountControl,用户帐户控制)技术的Windows Vista、Win7等系统,要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员密码。而现有技术中程序升级过程中将本地的升级文件复制到安装目录下,可能会影响计算机运行的操作,因此,在系统执行复制操作之前,需要UAC认证,提示用户对升级操作进行确认,而这不利于降低软件升级的复杂度。
发明内容
本发明的目的在于提出一种升级软件和运行软件的方法及装置,以降低软件升级的复杂度。
为达此目的,本发明采用以下技术方案:
一种升级软件的方法,包括:
获取软件的升级文件,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
将获取的所述升级文件存储到所述终端系统的第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域;
修改所述软件的配置文件,所述配置文件由所述软件安装时生成于所述第二区域,修改后的配置文件包括所述升级文件的存储路径信息及所述升级文件的版本信息,用于使所述软件启动时运行所述升级文件。
一种运行软件的方法,包括:
接收用于启动软件的启动指令;其中,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
在所述启动指令的触发下,读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,所述配置文件由所述软件安装时生成于第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域。
一种升级软件的装置,包括:
文件获取单元,用于获取软件的升级文件,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
存储执行单元,用于将所述文件获取单元获取的所述升级文件存储到所述终端系统的第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域;
修改单元,用于修改所述软件的配置文件,所述配置文件由所述软件安装时生成于所述第二区域,修改后的配置文件包括所述升级文件的存储路径信息及所述升级文件的版本信息,用于使所述软件启动时运行所述升级文件。
一种运行软件的装置,包括:
指令接收单元,用于接收用于启动软件的启动指令;其中,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
软件运行单元,用于在所述启动指令的触发下,读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,所述配置文件由所述软件安装时生成于第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域。
上述升级软件的方法及装置,通过将升级文件存储到终端系统中除敏感区域以外的区域中,并修改运行软件所需的配置文件,使得升级软件过程完全无需用户参与,降低了升级软件的复杂度,达到了快速发布软件版本的目的。
上述运行软件的方法及装置,通过在启动时读取配置文件,利用配置文件中提供的存储路径信息加载软件的业务文件的最新版本,使得当软件通过上述升级软件的方法升级后,软件启动时调用业务文件的最新版本,直接运行升级版本,提高了软件运行的灵活性和多样性。
附图说明
图1为本发明实施例提供的一种升级软件的方法的流程图;
图2为本发明实施例提供的一种运行软件的方法的流程图;
图3为本发明实施例提供的运行软件的方法中软件安装时生成的一种目录结构示意图;
图4为本发明实施例提供的运行软件的方法中软件安装时生成的另一种目录结构示意图;
图5为本发明实施例提供的升级和运行软件的方法中QTalk软件安装时生成的一种目录结构示意图;
图6为本发明实施例提供的升级和运行软件的方法中QTalk软件安装时生成的另一种目录结构示意图;
图7为本发明实施例提供的升级和运行软件的方法中QTalk软件升级后的运行流程示意图;
图8为本发明实施例提供的一种升级软件的装置的结构示意图;
图9为本发明实施了提供的一种运行软件的装置的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
图1为本发明实施例提供的一种升级软件的方法的流程图。如图1所示,升级软件的方法包括:
步骤11、获取软件的升级文件,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要UAC认证的敏感区域。
假设操作系统采用了UAC技术的终端中安装了某一软件,该软件安装在程序文件(program files)目录中,属于终端系统中需要UAC认证的敏感区域。
一般来说,涉及到访问系统磁盘的根目录(例如C:\),访问Windows目录、Windows系统目录和Program Files目录,访问Windows安全信息以及读写系统登录数据库(Registry)等程序访问动作,都需要通过UAC的认证,被访问的区域即上述第一区域。
当该软件可升级时,说明在网络侧已经有升级文件供用户下载升级。升级程序升级该软件时,可自行从网络侧获取该软件的升级文件,而无需用户参与。
其中,升级文件可以是单独的业务模块文件如业务模块a.dll,也可以是业务包文件,即包含业务模块入口文件和运行该软件所需的所有业务模块文件。假设上述软件通过上述升级文件升级后运行所需的相关业务文件包括S.exe、业务模块1.dll、业务模块2.dll、…、业务模块n.dll,则可将S.exe、业务模块1.dll、业务模块2.dll、…、业务模块n.dll压缩在一起,形成业务包文件。
步骤12、将获取的所述升级文件存储到所述终端系统的第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域。
例如,升级程序自行将从网络侧获取的升级文件存储到所述终端系统的第二区域,完成升级文件的下载。可以看到,由于升级文件存储在第二区域,因此,该存储操作无需UAC认证,即无需用户授权。也就是说,下载过程采用静默方式,无需用户参与。
步骤13、修改所述软件的配置文件,所述配置文件由所述软件安装时生成于所述第二区域,修改后的配置文件包括所述升级文件的存储路径信息及所述升级文件的版本信息,用于使所述软件启动时运行所述升级文件。
本实施例中,软件在安装时还会产生一个配置文件,该配置文件中可以如表1所示存储不同业务模块文件的存储路径信息、版本信息、文件信息及三者之间的对应关系,也可以如表2所示存储同一业务模块文件的不同版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,还可以如表3所示存储业务包文件的最新版本的存储路径信息及版本信息,还可以如表4所示存储业务包文件的不同版本的存储路径信息、版本信息及二者之间的对应关系。
表1
业务模块文件名 存储路径 版本
业务模块1.dll d:\download 3.1
业务模块2.dll d:\download 2.1
业务模块n.dll e:\download 3.1
表1中,没有相同的业务模块文件,每个业务模块文件的版本都是自身最新的版本。由于软件升级到最新版本时,有的业务模块文件可延用前一版本如业务模块2.dll,因此,假设对应的软件的最新版本为3.1,则该软件的3.1版本运行时加载的业务模块2.dll的最新版本为2.1,加载业务模块1.dll和业务模块2.dll的最新版本为3.1。
表2
业务模块文件名 存储路径 版本
业务模块1.dll d:\download\3 3.2
业务模块1.dll d:\download\2 3.1
业务模块1.dll d:\download\1 2.1
业务模块n.dll e:\download\3 3.1
业务模块n.dll e:\download\2 2.1
业务模块n.dll c:\program files\Y 1.0
表2中给出了每个业务模块的所有版本的存储路径信息。由于软件升级到最新版本时,有的业务模块文件可延用前一版本,因此,业务模块1.dll的最新版本为3.2,业务模块n.dll的最新版本为3.1。
表3
存储路径 版本
d:\download\S3.2 3.2
表3中文件夹S3.2中存储了版本3.2的业务包文件。
表4
存储路径 版本
d:\download\S3.2 3.2
d:\download\S3.1 3.1
d:\download\S2.1 2.1
c:\program files\X 1.0
表4中,文件夹S3.2中存储了版本3.2的业务包文件,文件夹S3.1中存储了版本3.1的业务包文件,文件夹S2.1中存储了版本2.1的业务包文件。
上述配置文件的作用在于,当运行生成该配置文件的软件时,系统首先会读取配置文件,并根据配置文件中的存储路径信息找到升级文件并运行。也就是说,修改完配置文件后,运行的软件即最新版本的软件。因此,当配置文件中包含了升级文件的存储路径信息和版本信息时,实际上已经完成的软件的升级。并且由于配置文件存储在上述第二区域中,使得软件的升级完全不需要用户的参与,实现了用户无感知的软件升级,降低了软件升级的复杂度,使得软件升级更加快捷。
示例性的,上述将获取的所述升级文件存储到所述终端系统的第二区域,可包括:
识别所述升级文件是否为业务模块文件或业务包文件,所述业务包文件包括业务模块入口文件及运行所述软件所需的所有业务模块文件;
当所述升级文件为业务模块文件时,将所述业务模块文件存储到所述第二区域;当所述升级文件为业务包文件时,将所述业务包文件存储到所述第二区域的升级版本文件夹中,所述升级版本文件夹的版本与所述业务包文件的版本相对应。
例如,升级文件为业务模块a.dll,则识别升级文件为业务模块文件;升级文件包含多个文件或升级文件为一个压缩文件包文件,则识别升级文件为业务包文件。
当升级文件为业务模块文件时,直接将该业务模块文件存储到上述第二区域,如将业务模块a.dll存储到d:\download。当升级文件为业务包文件时,在上述第二区域中为业务包文件建立文件夹,将业务包文件存储到建立的文件夹中,如将业务包文件存储到d:\download\S3.1中。文件夹S3.1的版本可与业务包文件的版本相同,也可以不相同,只要二者对应即可。如业务包文件的版本为3.2,存储该业务包文件的文件夹可用a2与业务包文件的版本相对应,将文件夹命名为Sa2。
示例性的,上述将获取的所述升级文件存储到所述终端系统的第二区域,可包括:
将所述升级文件,存储到所述终端系统的系统目录中的应用程序数据(appdata)目录中。
示例性的,上述修改所述软件的配置文件,可包括:
当所述升级文件为业务模块文件时,在所述配置文件中,将所述业务模块文件升级前的存储路径信息及版本信息,替换为所述升级文件的存储路径信息及版本信息,或者,在所述配置文件中添加所述升级文件的存储路径信息、版本信息、文件信息及三者之间的对应关系;
当所述升级文件为业务包文件时,在所述配置文件中,将所述业务包文件升级前的存储路径信息及版本信息替换为所述升级文件的存储路径信息及版本信息,或者,在所述配置文件中添加所述升级文件的存储路径信息、版本信息及二者之间的对应关系。
例如,当配置文件如表1和表3所示给出存储路径信息和版本信息等时,则升级软件时,用升级文件的存储路径信息和版本信息替换表1和表3中的存储路径信息和版本信息。如,假设某一软件的升级文件为业务模块1.dll的版本3.2,且业务模块1.dll的版本3.2的存储路径为d:\download\Soft,则将表1中的业务模块1.dll的存储路径和版本进行替换,其余内容不变,得到表5:
业务模块文件名 存储路径 版本
业务模块1.dll d:\download\Soft 3.2
业务模块2.dll d:\download 2.1
业务模块n.dll e:\download 3.1
假设该软件的升级文件为业务包文件的4.1版本,且存储在文件夹d:\download\S4.1中,则将表3中的存储路径和版本进行替换,得到表6:
存储路径 版本
d:\download\S4.1 4.1
当配置文件如表2和表4所示给出存储路径信息和版本信息等时,则升级软件时,将升级文件的存储路径信息和版本信息添加到表2和表4中。如,某一软件的升级文件为业务模块1.dll的版本4.1,且业务模块1.dll的版本4.1的存储路径为d:\download\Soft,则将业务模块1.dll的存储路径和版本4.1添加到表2中,得到表7:
业务模块文件名 存储路径 版本
业务模块1.dll d:\download\Soft 4.1
业务模块1.dll d:\download 3.2
业务模块1.dll d:\download 3.1
业务模块1.dll d:\download 2.1
业务模块n.dll e:\download 3.1
业务模块n.dll e:\download 2.1
假设该软件的升级文件为业务包文件的4.1版本,且存储在文件夹d:\download\S4.1中,则将业务包文件的4.1版本和存储路径添加到表3中,得到表8:
存储路径 版本
d:\download\S4.1 4.1
d:\download\S3.2 3.2
d:\download\S3.1 3.1
d:\download\S2.1 2.1
上述实施例提供的升级软件的方法,通过将升级文件存储到终端系统中除敏感区域以外的区域中,并修改运行软件所需的配置文件,使得升级软件过程完全无需用户参与,降低了升级软件的复杂度,达到了快速发布软件版本的目的。
图2为本发明实施例提供的一种运行软件的方法的流程图,包括:
步骤21、接收用于启动软件的启动指令;其中,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域。
例如,用户点击某一终端的桌面上某一软件的快捷图标,即发起启动该软件的操作,该终端系统根据该操作接收到启动该软件的启动指令。
该终端如上述升级软件的方法实施例中给出的终端,操作系统采用了UAC技术,因此安全性较高。
其中,第一区域详见图1所示实施例中的说明。
步骤22、在所述启动指令的触发下,读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用并执行所述软件的业务文件的最新版本;所述配置文件由所述软件安装时生成于第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域。
其中,配置文件及第二区域详见图1所示实施例中的说明。所述软件的业务文件至少包括所述软件的业务模块文件。例如可以是单独的业务模块文件,也可以是包括业务模块入口文件和业务模块文件的业务包文件等。业务包文件详见图1所示实施例中的说明。
所述软件安装时生成的配置文件仅包括业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,或者可仅包括业务包文件的安装版本的存储路径信息、版本信息及二者之间的对应关系。
当所述软件通过上述升级软件的方法升级后,配置文件可至少包含业务模块文件的升级版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,或者可至少包括业务包文件的升级版本的存储路径信息、版本信息及二者之间的对应关系。
当所述软件通过上述升级软件的方法经过多次升级后,配置文件可至少包含业务模块文件的最新版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,或者可至少包括业务包文件的最新版本的存储路径信息、版本信息及二者之间的对应关系。例如,当所述软件未被升级时,所述软件的业务文件可为业务包文件,所述业务包文件包括所述软件的业务模块入口文件及运行所述软件所需的所有业务模块文件,所述业务包文件的最新版本为所述业务包文件的安装版本,所述业务包文件的安装版本存储于所述第一区域中的安装版本文件夹中;
所述配置文件中的存储路径信息为所述业务包文件的安装版本的存储路径信息;
读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,包括:
通过调用所述软件的版本选择器,读取所述配置文件,并根据所述配置文件中的存储路径信息启动所述安装版本文件夹中的业务模块入口文件;其中,所述软件的版本选择器在所述软件安装时生成于所述第一区域,所述第一区域中还包含所述软件的公共模块文件;
通过运行启动的所述安装版本文件夹中的业务模块入口文件,读取所述终端系统的注册表,并根据读取的注册表从所述第一区域中找到对应的公共模块文件,加载所述安装版本文件夹中的业务模块文件。
如,某一软件X安装时生成配置文件和版本选择器。该软件安装时生成的配置文件如表3所示,不同的是,表3中的版本在这里应该为版本1.0即该软件的安装版本或安装版本。
该软件安装时生成的目录结构如图3所示,安装版本文件夹、版本选择器和所有公共模块文件都直接保存在该软件的安装目录下。其中,安装版本文件夹中保存了业务包文件的安装版本即安装版本,其中,业务包文件详见上述图1所示实施例中的说明,包括业务模块入口文件X.exe和所有的业务模块文件业务模块1.dll、…、业务模块n.dll。
公共模块文件包括:公共模块1.dll、…、公共模块n.dll。
版本选择器的作用是读取配置文件中的存储路径信息,找到并启动最所述软件的业务文件的最新版本。这里,业务文件为业务包文件。
当所述软件未升级时,其业务包文件的最新版本即安装版本。终端系统在接收到该软件的启动指令后,从配置文件中找到并调用业务包文件的安装版本的存储路径信息指向的安装版本文件夹中的业务模块入口文件。
或者,当所述软件未被升级时,所述软件的业务文件可为业务模块文件,所述业务模块文件的最新版本为所述业务模块文件的安装版本,所述业务模块文件的安装版本存储于所述第一区域;
所述配置文件中包含所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件,包括:
通过调用所述软件的业务模块入口文件,读取所述配置文件,并根据所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,加载所述业务模块文件的安装版本。
假设一软件Y,安装时生成的配置文件如表1所示,不同的是,这里表1中所有业务模块文件的版本都应替换为版本1.0即安装版本。该软件Y安装时生成的目录结构如图4所示,业务模块入口文件Y.exe、所有的业务模块文件和公共模块文件都直接保存在软件Y的安装目录下。
软件Y未升级时,所有业务模块文件的最新版本均为安装版本,终端系统接收到启动指令后,调用业务模块入口文件Y.exe,读取配置文件的各业务模块文件的存储路径信息,并加载存储路径信息指向的业务模块文件的安装版本。
当所述软件在利用上述升级软件的方法升级的过程中,通过替换的方式修改配置文件,即只在配置文件中给出业务文件的最新版本的存储路径信息时,所述软件的业务文件可为业务包文件,所述业务包文件包括所述软件的业务模块入口文件及运行所述软件所需的所有业务模块文件,所述业务包文件的最新版本为所述业务包文件的升级版本,所述业务包文件的升级版本存储于所述第二区域中的升级版本文件夹中;
所述配置文件中的存储路径信息为所述业务包文件的升级版本的存储路径信息;
读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,包括:
通过调用所述软件的版本选择器,读取所述配置文件,并根据所述配置文件中的存储路径信息启动所述升级版本文件夹中的业务模块入口文件;其中,所述版本选择器在所述软件安装时生成于所述第一区域,所述第一区域中还包含所述软件的公共模块文件和安装版本文件夹,所述安装版本文件夹中包括所述业务包文件的安装版本;
通过运行启动的所述升级版本文件夹中的业务模块入口文件,读取所述终端系统的注册表,并根据读取的注册表从所述第一区域中找到对应的公共模块文件,加载所述升级版本文件夹中的业务模块文件。
例如,当上述软件X的升级程序已经下载了业务包文件的升级版本,且配置文件如表3所示时,表3中的版本即业务包文件升级后的最新版本。
终端系统通过调用版本选择器,读取表3,获得业务包文件的最新版本3.2的存储路径d:\download\S3.2,进而调用文件夹S3.2中的业务模块入口文件X.exe,运行并加载文件夹S3.2中的所有业务模块文件。当需要通过公共模块文件加载业务模块文件时,则终端系统调用业务模块入口文件读取注册表,根据注册表中的信息从软件X的安装目录下找到对应的公共模块文件进行加载。
其中,文件夹S3.2属于升级版本文件夹。
或者,当所述软件利用上述升级软件的方法升级过程中,通过添加的方式修改配置文件时,所述配置文件中还包含所述业务包文件的升级版本的版本信息、所述业务包文件的升级版本的版本信息与所述业务包文件的升级版本的存储路径信息之间的对应关系、以及所述业务包文件的安装版本的存储路径信息、版本信息及二者之间的对应关系;
根据所述配置文件中的存储路径信息启动所述升级版本文件夹中的业务模块入口文件,包括:
通过调用所述版本选择器,按照最新版本优先的原则,选择调用所述业务包文件的升级版本的版本信息对应的存储路径信息指向的所述升级版本文件夹中的业务模块入口文件。其中,最新版本优先的原则,即当业务文件有多个版本供调用时,选择调用其中的最新版本。如当业务模块a.dll在配置文件中有多个版本的存储路径信息时,则选择调用业务模块a.dll的最新版本;或者如业务包文件在配置文件中有多个版本的存储路径信息时,则选择调用业务包文件的最新版本。下同。
例如,软件X通过上述升级软件的方法升级后,配置文件如表4所示,给出了业务包文件的所有版本的存储路径信息和版本信息时,软件X安装时生成的版本选择器需要从配置文件中找到业务包文件的最新版本的存储路径信息。
具体地,终端系统可通过调用版本选择器,首先从表4的“版本”一列中选择最高的版本3.2,然后根据版本信息与存储路径信息之间的对应关系,找到业务包文件的最新版本的存储路径,找到并调用文件夹S3.2下的业务模块入口文件。
或者,当所述软件在利用上述升级软件的方法升级的过程中,通过替换的方式修改配置文件,即只在配置文件中给出业务文件的最新版本的存储路径信息时,所述软件的业务文件还可为业务模块文件,所述业务模块文件的最新版本为所述业务模块文件的升级版本,存储于所述第二区域;
所述配置文件中包含所述业务模块文件的升级版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,包括:
通过调用所述业务模块入口文件,读取所述配置文件,并根据所述业务模块文件的升级版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本。
例如,软件Y通过上述升级软件的方法升级后,配置文件如表1所示,用各业务模块的升级版本替换了安装版本,配置文件只包含所有业务模块文件的最新版本的存储路径信息和版本信息。
运行软件Y时,由终端系统调用业务模块入口文件来读取配置文件,根据配置文件给出的存储路径信息、版本信息、文件信息及三者之间的对应关系,来加载各个业务模块文件的最新版本。
或者,当所述软件利用上述升级软件的方法升级过程中,通过添加的方式修改配置文件时,所述配置文件还包含所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
根据所述业务模块入口文件的存储路径信息、版本信息、文件信息及三者之间的对应关系,调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本,包括:
通过调用所述业务模块入口文件,按照最新版本优先的原则,并根据存储路径信息、版本信息、文件信息及三者之间的对应关系,选择调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本。
例如,软件Y通过上述升级软件的方法升级后,配置文件如表2所示,给出了所有业务模块文件的所有版本的存储路径信息和版本信息,业务模块入口文件加载业务模块文件时,需要从配置文件中找到各个业务模块文件的最新版本,然后根据版本信息与存储路径信息的对应关系,找到并加载对应的业务模块文件。
以表4为例,业务模块入口文件首先在“版本”一列中找到业务模块1.dll的最新版本3.2,然后根据与存储路径信息的对应关系找到存储路径d:\download\3,加载该路径下的业务模块1.dll。之后依次加载到最后一个业务模块n.dll,找到业务模块n.dll的最新版本3.1,然后根据与存储路径信息的对应关系找到存储路径e:\download\3,加载该路径下的业务模块n.dll。
需要说明的是,当所述软件利用上述升级软件的方法进行多次升级时,所述软件的业务文件的升级版本可能有多个,如同一个业务模块文件可能有多个升级版本保存在第二区域中,或者如业务包文件有多个升级版本,对应保存于第二区域中不同的升级版本文件夹中。这种情况下,当配置文件在升级的过程中通过替换的方式被修改时,则版本选择器或业务模块入口文件不需要进行选择,直接调用配置文件中存储路径信息指向的业务文件即可;当配置文件在升级的过程中通过添加的方式被修改时,则版本选择器或业务模块入口文件可按照上述最新版本优先的原则,选择调用配置文件中存储路径信息指向的业务文件的最新版本,具体运行方法同上述例子,这里不再赘述。
示例性的,上述业务模块文件、业务包文件的升级版本可位于所述终端系统的系统目录下的应用程序数据appdata目录中。
上述运行软件的方法的实施例中,业务模块文件、业务包文件的升级版本即上述升级软件的方法中的升级文件。
上述运行软件的方法的实施例通过在启动时读取配置文件,利用配置文件中提供的存储路径信息加载软件的业务文件的最新版本,使得当软件通过上述升级软件的方法升级后,软件启动时调用业务文件的最新版本,直接运行升级版本,提高了软件运行的灵活性和多样性。
下面以QTalk软件为例,对升级软件和运行软件的方法作进一步详细说明。
QTalk软件安装在Win7系统时,可生成结构如图5或图6所示的安装目录,还可生成配置文件。
当QTalk软件生成如图5所示的安装目录时,该软件的升级文件可为单独的业务模块文件的升级版本。运行QTalk软件时由业务模块入口文件QTalk.exe读取配置文件来加载各个业务模块文件的最新版本。
当QTalk软件生成如图6所示的安装目录时,该软件的升级文件为业务包文件的升级版本,运行QTalk软件时,由版本选择器QT.exe读取配置文件来加载业务包文件的最新版本。具体地,QTalk软件安装时,产生需要注册表注册的公共模块文件、版本目录生成与版本选择器如QT.exe(命名不限),且三者平行保存在QTalk软件的安装目录下。其中,公共模块文件为公共模块1.dll、…、公共模块n.dll等,需由QTalk安装包向终端系统的注册表注册。版本目录即版本文件夹,以版本号命名。业务模块1.dll、…、业务模块n.dll等业务模块文件与业务模块入口文件即业务入口QTalk.exe程序生成在版本目录下。QTalk软件安装后用户的软件快捷方式指向版本选择器QT.exe。当配置文件中包含多个版本目录的路径信息时,由版本选择器通过读取配置文件来确定拉起哪个版本。
QTalk软件可升级时,升级程序将新版本文件通过静默方式下载(即下载过程不需要通知用户),将下载的文件放置在系统目录下的应用程序数据(appdata)文件夹中,具体详见上述升级软件的方法实施例中的说明。
这样,虽然Win7系统对用户操作权限有严格控制,但appdata目录中的读写操作不需要权限确认。下载完文件后,升级程序修改版本配置文件(也可放置在appdata下),实现QTalk软件的升级。可以看出,整个升级过程中用户无感知,实现了QTalk软件的快节奏的发布新版本,且每次升级都无需用户参与,解决了目前软件升级,需要不断用户确认,打断用户使用的问题。
QTalk软件升级后运行流程如图7所示,包括:
步骤71、接收用户点击桌面快捷方式产生的启动指令。
如,QTalk软件安装在Win7系统中后,终端系统的桌面上生成QTalk软件的快捷图标,用户用鼠标点击该快捷图标后,终端系统根据该操作得到启动QTalk软件的指令。
步骤72、终端系统在启动指令的触发下启动版本选择器QT.exe。
步骤73、终端系统通过运行版本选择器QT.exe读取appdata目录下的配置文件,该配置文件可如表4所示。
步骤74、终端系统通过运行版本选择器QT.exe从配置文件中获取业务包文件的最新版本的运行路径。这里业务包文件详见上述实施例中的说明,包含了业务模块入口文件和业务模块文件。业务包文件的最新版本保存在以最新版本的版本号命名的版本文件夹中。
步骤75、终端系统通过运行版本选择器QT.exe,根据获取的最新版本的运行路径启动最新版本的版本文件夹中的业务模块入口文件QTalk.exe。
步骤76、终端系统通过运行业务模块入口文件QTalk.exe加载业务模块1.dll、…、业务模块n.dll等业务模块文件。
当加载的业务模块文件需要通过公共模块文件加载时,终端系统通过运行业务模块入口文件QTalk.exe查找注册表找到相应的公共模块文件,进行加载。
可以看出,QTalk软件的升级完全无需用户参与,且QTalk软件的运行始终以最新版本运行,实现了QTalk软件的升级版本的快速发布和使用。
图8为本发明实施例提供的一种升级软件的装置的结构示意图。本实施例提供的装置用于实现图1所示的方法,包括:
文件获取单元81,用于获取软件的升级文件,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
存储执行单元82,用于将所述文件获取单元81获取的所述升级文件存储到所述终端系统的第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域;
修改单元83,用于修改所述软件的配置文件,所述配置文件由所述软件安装时生成于所述第二区域,修改后的配置文件包括所述升级文件的存储路径信息及所述升级文件的版本信息,用于使所述软件启动时运行所述升级文件。
示例性的,所述存储执行单元82可包括:
文件识别子单元,用于识别所述升级文件是否为业务模块文件或业务包文件,所述业务包文件包括业务模块入口文件及运行所述软件所需的所有业务模块文件;
存储执行子单元,用于当所述升级文件为业务模块文件时,将所述业务模块文件存储到所述第二区域;当所述升级文件为业务包文件时,将所述业务包文件存储到所述第二区域的升级版本文件夹中,所述升级版本文件夹的版本与所述业务包文件的版本相对应。
示例性的,将所述存储执行单元82具体用于:
将所述升级文件,存储到所述终端系统的系统目录中的应用程序数据appdata目录中。
示例性的,所述修改单元83可具体用于:
当所述升级文件为业务模块文件时,在所述配置文件中,将所述业务模块文件升级前的存储路径信息及版本信息,替换为所述升级文件的存储路径信息及版本信息,或者,在所述配置文件中添加所述升级文件的存储路径信息、版本信息、文件信息及三者之间的对应关系;
当所述升级文件为业务包文件时,在所述配置文件中,将所述业务包文件升级前的存储路径信息及版本信息替换为所述升级文件的存储路径信息及版本信息,或者,在所述配置文件中添加所述升级文件的存储路径信息、版本信息及二者之间的对应关系。
上述升级软件的装置实施例,通过存储执行单元将升级文件存储到终端系统中除敏感区域以外的区域中,并通过修改单元修改运行软件所需的配置文件,使得升级软件过程完全无需用户参与,降低了升级软件的复杂度,达到了快速发布软件版本的目的。
图9为本发明实施了提供的一种运行软件的装置的结构示意图。本实施例提供的装置用于实现图2所示的方法,包括:
指令接收单元91,用于接收用于启动软件的启动指令;其中,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
软件运行单元92,用于在所述启动指令的触发下,读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,所述配置文件由所述软件安装时生成于第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域。
示例性的,所述软件的业务文件可为业务包文件,所述业务包文件包括所述软件的业务模块入口文件及运行所述软件所需的所有业务模块文件,所述业务包文件的最新版本为所述业务包文件的安装版本,所述业务包文件的安装版本存储于所述第一区域中的安装版本文件夹中;
所述配置文件中的存储路径信息可为所述业务包文件的安装版本的存储路径信息;
所述软件运行单元92可具体用于:
通过调用所述软件的版本选择器,读取所述配置文件,并根据所述配置文件中的存储路径信息启动所述安装版本文件夹中的业务模块入口文件;其中,所述软件的版本选择器在所述软件安装时生成于所述第一区域,所述第一区域中还包含所述软件的公共模块文件;
通过运行启动的所述安装版本文件夹中的业务模块入口文件,读取所述终端系统的注册表,并根据读取的注册表从所述第一区域中找到对应的公共模块文件,加载所述安装版本文件夹中的业务模块文件。
示例性的,所述软件的业务文件可为业务包文件,所述业务包文件包括所述软件的业务模块入口文件及运行所述软件所需的所有业务模块文件,所述业务包文件的最新版本为所述业务包文件的升级版本,所述业务包文件的升级版本存储于所述第二区域中的升级版本文件夹中;
所述配置文件中的存储路径信息可为所述业务包文件的升级版本的存储路径信息;
所述软件运行单元92可具体用于:
通过调用所述软件的版本选择器,读取所述配置文件,并根据所述配置文件中的存储路径信息启动所述升级版本文件夹中的业务模块入口文件;其中,所述版本选择器在所述软件安装时生成于所述第一区域,所述第一区域中还包含所述软件的公共模块文件和安装版本文件夹,所述安装版本文件夹中包括所述业务包文件的安装版本;
通过运行启动的所述升级版本文件夹中的业务模块入口文件,读取所述终端系统的注册表,并根据读取的注册表从所述第一区域中找到对应的公共模块文件,加载所述升级版本文件夹中的业务模块文件。
示例性的,所述配置文件中还可包含所述业务包文件的升级版本的版本信息、所述业务包文件的升级版本的版本信息与所述业务包文件的升级版本的存储路径信息之间的对应关系、以及所述业务包文件的安装版本的存储路径信息、版本信息及二者之间的对应关系;
所述软件运行单元92可具体用于:
通过调用所述版本选择器,按照最新版本优先的原则,选择调用所述业务包文件的升级版本的版本信息对应的存储路径信息指向的所述升级版本文件夹中的业务模块入口文件。
示例性的,所述软件的业务文件可为业务模块文件的安装版本,所述业务模块文件的安装版本存储于所述第一区域;
所述配置文件中可包含所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
所述软件运行单元92可具体用于:
通过调用所述软件的业务模块入口文件,读取所述配置文件,并根据所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,加载所述业务模块文件的安装版本。
示例性的,所述软件的业务文件可为业务模块文件的升级版本,存储于所述第二区域;
所述配置文件中包含所述业务模块文件的升级版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
所述软件运行单元92可具体用于:
通过调用所述业务模块入口文件,读取所述配置文件,并根据所述业务模块文件的升级版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本。
示例性的,所述配置文件还可包含所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
所述软件运行单元92可具体用于:
通过调用所述业务模块入口文件,按照最新版本优先的原则,并根据存储路径信息、版本信息、文件信息及三者之间的对应关系,选择调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本。
示例性的,上述业务模块文件或业务包文件的升级版本可位于所述终端系统的系统目录下的应用程序数据appdata目录中。
上述运行软件的装置实施例通过软件运行单元在启动时读取配置文件,利用配置文件中提供的存储路径信息加载软件的业务文件的最新版本,使得当软件通过上述升级软件的方法升级后,软件启动时调用业务文件的最新版本,直接运行升级版本,提高了软件运行的灵活性和多样性。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、计算机只读存储器、光盘或软盘等。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (24)

1.一种升级软件的方法,其特征在于,包括:
获取软件的升级文件,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
将获取的所述升级文件存储到所述终端系统的第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域;
修改所述软件的配置文件,所述配置文件由所述软件安装时生成于所述第二区域,修改后的配置文件包括所述升级文件的存储路径信息及所述升级文件的版本信息,用于使所述软件启动时运行所述升级文件。
2.根据权利要求1所述的方法,其特征在于,将获取的所述升级文件存储到所述终端系统的第二区域,包括:
识别所述升级文件是否为业务模块文件或业务包文件,所述业务包文件包括业务模块入口文件及运行所述软件所需的所有业务模块文件;
当所述升级文件为业务模块文件时,将所述业务模块文件存储到所述第二区域;
当所述升级文件为业务包文件时,将所述业务包文件存储到所述第二区域的升级版本文件夹中,所述升级版本文件夹的版本与所述业务包文件的版本相对应。
3.根据权利要求1或2所述的方法,其特征在于,将获取的所述升级文件存储到所述终端系统的第二区域,包括:
将所述升级文件,存储到所述终端系统的系统目录中的应用程序数据appdata目录中。
4.根据权利要求1所述的方法,其特征在于,修改所述软件的配置文件,包括:
当所述升级文件为业务模块文件时,在所述配置文件中,将所述业务模块文件升级前的存储路径信息及版本信息,替换为所述升级文件的存储路径信息及版本信息,或者,在所述配置文件中添加所述升级文件的存储路径信息、版本信息、文件信息及三者之间的对应关系;
当所述升级文件为业务包文件时,在所述配置文件中,将所述业务包文件升级前的存储路径信息及版本信息替换为所述升级文件的存储路径信息及版本信息,或者,在所述配置文件中添加所述升级文件的存储路径信息、版本信息及二者之间的对应关系,所述业务包文件包括业务模块入口文件及运行所述软件所需的所有业务模块文件。
5.一种运行软件的方法,其特征在于,包括:
接收用于启动软件的启动指令;其中,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
在所述启动指令的触发下,读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,所述配置文件由所述软件安装时生成于第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域。
6.根据权利要求5所述的方法,其特征在于,所述软件的业务文件为业务包文件,所述业务包文件包括所述软件的业务模块入口文件及运行所述软件所需的所有业务模块文件,所述业务包文件的最新版本为所述业务包文件的安装版本,所述业务包文件的安装版本存储于所述第一区域中的安装版本文件夹中;
所述配置文件中的存储路径信息为所述业务包文件的安装版本的存储路径信息;
读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,包括:
通过调用所述软件的版本选择器,读取所述配置文件,并根据所述配置文件中的存储路径信息启动所述安装版本文件夹中的业务模块入口文件;其中,所述软件的版本选择器在所述软件安装时生成于所述第一区域,所述第一区域中还包含所述软件的公共模块文件;
通过运行启动的所述安装版本文件夹中的业务模块入口文件,读取所述终端系统的注册表,并根据读取的注册表从所述第一区域中找到对应的公共模块文件,加载所述安装版本文件夹中的业务模块文件。
7.根据权利要求5所述的方法,其特征在于,所述软件的业务文件为业务包文件,所述业务包文件包括所述软件的业务模块入口文件及运行所述软件所需的所有业务模块文件,所述业务包文件的最新版本为所述业务包文件的升级版本,所述业务包文件的升级版本存储于所述第二区域中的升级版本文件夹中;
所述配置文件中的存储路径信息为所述业务包文件的升级版本的存储路径信息;
读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,包括:
通过调用所述软件的版本选择器,读取所述配置文件,并根据所述配置文件中的存储路径信息启动所述升级版本文件夹中的业务模块入口文件;其中,所述版本选择器在所述软件安装时生成于所述第一区域,所述第一区域中还包含所述软件的公共模块文件和安装版本文件夹,所述安装版本文件夹中包括所述业务包文件的安装版本;
通过运行启动的所述升级版本文件夹中的业务模块入口文件,读取所述终端系统的注册表,并根据读取的注册表从所述第一区域中找到对应的公共模块文件,加载所述升级版本文件夹中的业务模块文件。
8.根据权利要求7所述的方法,其特征在于,所述配置文件中还包含所述业务包文件的升级版本的版本信息、所述业务包文件的升级版本的版本信息与所述业务包文件的升级版本的存储路径信息之间的对应关系、以及所述业务包文件的安装版本的存储路径信息、版本信息及二者之间的对应关系;
根据所述配置文件中的存储路径信息启动所述升级版本文件夹中的业务模块入口文件,包括:
通过调用所述版本选择器,按照最新版本优先的原则,选择调用所述业务包文件的升级版本的版本信息对应的存储路径信息指向的所述升级版本文件夹中的业务模块入口文件。
9.根据权利要求5所述的方法,其特征在于,所述软件的业务文件为业务模块文件的安装版本,所述业务模块文件的安装版本存储于所述第一区域;
所述配置文件中包含所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,包括:
通过调用所述软件的业务模块入口文件,读取所述配置文件,并根据所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,加载所述业务模块文件的安装版本。
10.根据权利要求5所述的方法,其特征在于,所述软件的业务文件为业务模块文件的升级版本,存储于所述第二区域;
所述配置文件中包含所述业务模块文件的升级版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,包括:
通过调用所述业务模块入口文件,读取所述配置文件,并根据所述业务模块文件的升级版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本。
11.根据权利要求10所述的方法,其特征在于,所述配置文件还包含所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
根据所述业务模块入口文件的存储路径信息、版本信息、文件信息及三者之间的对应关系,调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本,包括:
通过调用所述业务模块入口文件,按照最新版本优先的原则,并根据存储路径信息、版本信息、文件信息及三者之间的对应关系,选择调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本。
12.根据权利要求7、8、10-11任一项所述的方法,其特征在于,所述升级版本位于所述终端系统的系统目录下的应用程序数据appdata目录中。
13.一种升级软件的装置,其特征在于,包括:
文件获取单元,用于获取软件的升级文件,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
存储执行单元,用于将所述文件获取单元获取的所述升级文件存储到所述终端系统的第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域;
修改单元,用于修改所述软件的配置文件,所述配置文件由所述软件安装时生成于所述第二区域,修改后的配置文件包括所述升级文件的存储路径信息及所述升级文件的版本信息,用于使所述软件启动时运行所述升级文件。
14.根据权利要求13所述的装置,其特征在于,所述存储执行单元包括:
文件识别子单元,用于识别所述升级文件是否为业务模块文件或业务包文件,所述业务包文件包括业务模块入口文件及运行所述软件所需的所有业务模块文件;
存储执行子单元,用于当所述升级文件为业务模块文件时,将所述业务模块文件存储到所述第二区域;当所述升级文件为业务包文件时,将所述业务包文件存储到所述第二区域的升级版本文件夹中,所述升级版本文件夹的版本与所述业务包文件的版本相对应。
15.根据权利要求13或14所述的装置,其特征在于,所述存储执行单元具体用于:
将所述升级文件,存储到所述终端系统的系统目录中的应用程序数据appdata目录中。
16.根据权利要求13所述的装置,其特征在于,所述修改单元具体用于:
当所述升级文件为业务模块文件时,在所述配置文件中,将所述业务模块文件升级前的存储路径信息及版本信息,替换为所述升级文件的存储路径信息及版本信息,或者,在所述配置文件中添加所述升级文件的存储路径信息、版本信息、文件信息及三者之间的对应关系;
当所述升级文件为业务包文件时,在所述配置文件中,将所述业务包文件升级前的存储路径信息及版本信息替换为所述升级文件的存储路径信息及版本信息,或者,在所述配置文件中添加所述升级文件的存储路径信息、版本信息及二者之间的对应关系,所述业务包文件包括业务模块入口文件及运行所述软件所需的所有业务模块文件。
17.一种运行软件的装置,其特征在于,包括:
指令接收单元,用于接收用于启动软件的启动指令;其中,所述软件安装于终端系统的第一区域,所述第一区域为所述终端系统中需要用户账户控制UAC认证的敏感区域;
软件运行单元,用于在所述启动指令的触发下,读取所述软件的配置文件,并根据所述配置文件中的存储路径信息调用所述软件的业务文件的最新版本,所述配置文件由所述软件安装时生成于第二区域,所述第二区域为所述终端系统中除所述敏感区域以外的区域。
18.根据权利要求17所述的装置,其特征在于,所述软件的业务文件为业务包文件,所述业务包文件包括所述软件的业务模块入口文件及运行所述软件所需的所有业务模块文件,所述业务包文件的最新版本为所述业务包文件的安装版本,所述业务包文件的安装版本存储于所述第一区域中的安装版本文件夹中;
所述配置文件中的存储路径信息为所述业务包文件的安装版本的存储路径信息;
所述软件运行单元具体用于:
通过调用所述软件的版本选择器,读取所述配置文件,并根据所述配置文件中的存储路径信息启动所述安装版本文件夹中的业务模块入口文件;其中,所述软件的版本选择器在所述软件安装时生成于所述第一区域,所述第一区域中还包含所述软件的公共模块文件;
通过运行启动的所述安装版本文件夹中的业务模块入口文件,读取所述终端系统的注册表,并根据读取的注册表从所述第一区域中找到对应的公共模块文件,加载所述安装版本文件夹中的业务模块文件。
19.根据权利要求17所述的装置,其特征在于,所述软件的业务文件为业务包文件,所述业务包文件包括所述软件的业务模块入口文件及运行所述软件所需的所有业务模块文件,所述业务包文件的最新版本为所述业务包文件的升级版本,所述业务包文件的升级版本存储于所述第二区域中的升级版本文件夹中;
所述配置文件中的存储路径信息为所述业务包文件的升级版本的存储路径信息;
所述软件运行单元具体用于:
通过调用所述软件的版本选择器,读取所述配置文件,并根据所述配置文件中的存储路径信息启动所述升级版本文件夹中的业务模块入口文件;其中,所述版本选择器在所述软件安装时生成于所述第一区域,所述第一区域中还包含所述软件的公共模块文件和安装版本文件夹,所述安装版本文件夹中包括所述业务包文件的安装版本;
通过运行启动的所述升级版本文件夹中的业务模块入口文件,读取所述终端系统的注册表,并根据读取的注册表从所述第一区域中找到对应的公共模块文件,加载所述升级版本文件夹中的业务模块文件。
20.根据权利要求19所述的装置,其特征在于,所述配置文件中还包含所述业务包文件的升级版本的版本信息、所述业务包文件的升级版本的版本信息与所述业务包文件的升级版本的存储路径信息之间的对应关系、以及所述业务包文件的安装版本的存储路径信息、版本信息及二者之间的对应关系;
所述软件运行单元具体用于:
通过调用所述版本选择器,按照最新版本优先的原则,选择调用所述业务包文件的升级版本的版本信息对应的存储路径信息指向的所述升级版本文件夹中的业务模块入口文件。
21.根据权利要求17所述的装置,其特征在于,所述软件的业务文件为业务模块文件的安装版本,所述业务模块文件的安装版本存储于所述第一区域;
所述配置文件中包含所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
所述软件运行单元具体用于:
通过调用所述软件的业务模块入口文件,读取所述配置文件,并根据所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,加载所述业务模块文件的安装版本。
22.根据权利要求17所述的装置,其特征在于,所述软件的业务文件为业务模块文件的升级版本,存储于所述第二区域;
所述配置文件中包含所述业务模块文件的升级版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
所述软件运行单元具体用于:
通过调用所述业务模块入口文件,读取所述配置文件,并根据所述业务模块文件的升级版本的存储路径信息、版本信息、文件信息及三者之间的对应关系,调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本。
23.根据权利要求22所述的装置,其特征在于,所述配置文件还包含所述业务模块文件的安装版本的存储路径信息、版本信息、文件信息及三者之间的对应关系;
所述软件运行单元具体用于:
通过调用所述业务模块入口文件,按照最新版本优先的原则,并根据存储路径信息、版本信息、文件信息及三者之间的对应关系,选择调用所述业务模块文件的升级版本的存储路径信息指向的所述业务模块文件的升级版本。
24.根据权利要求19、20、22-23任一项所述的方法,其特征在于,所述升级版本位于所述终端系统的系统目录下的应用程序数据appdata目录中。
CN201310719813.1A 2013-12-23 2013-12-23 升级软件和运行软件的方法及装置 Active CN103677937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310719813.1A CN103677937B (zh) 2013-12-23 2013-12-23 升级软件和运行软件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310719813.1A CN103677937B (zh) 2013-12-23 2013-12-23 升级软件和运行软件的方法及装置

Publications (2)

Publication Number Publication Date
CN103677937A true CN103677937A (zh) 2014-03-26
CN103677937B CN103677937B (zh) 2017-02-08

Family

ID=50315594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310719813.1A Active CN103677937B (zh) 2013-12-23 2013-12-23 升级软件和运行软件的方法及装置

Country Status (1)

Country Link
CN (1) CN103677937B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389182A (zh) * 2015-11-02 2016-03-09 广州华多网络科技有限公司 一种软件升级方法及装置
CN105491159A (zh) * 2016-01-15 2016-04-13 青岛海尔智能家电科技有限公司 一种固件升级包下发方法、获取方法及装置
CN106020786A (zh) * 2015-11-02 2016-10-12 广州市动景计算机科技有限公司 一种动态修复应用程序的方法、装置及相关系统
CN107992320A (zh) * 2017-12-11 2018-05-04 北京奇虎科技有限公司 一种修补漏洞的方法及装置
CN108958746A (zh) * 2018-06-27 2018-12-07 Oppo(重庆)智能科技有限公司 配置文件处理方法、移动终端及计算机可读存储介质
CN111045694A (zh) * 2019-12-05 2020-04-21 浩云科技股份有限公司 流媒体服务安装方法及装置
CN113821273A (zh) * 2021-09-23 2021-12-21 武汉深之度科技有限公司 一种应用程序运行方法、计算设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004655B (zh) * 2010-11-25 2013-06-19 飞天诚信科技股份有限公司 自动安装驱动程序的装置及方法
CN102567063B (zh) * 2012-01-20 2014-07-30 飞天诚信科技股份有限公司 一种自动安装软件的方法及装置
CN102750173B (zh) * 2012-06-28 2015-10-07 广东威创视讯科技股份有限公司 一种基于windows服务的应用程序启动方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389182A (zh) * 2015-11-02 2016-03-09 广州华多网络科技有限公司 一种软件升级方法及装置
CN106020786A (zh) * 2015-11-02 2016-10-12 广州市动景计算机科技有限公司 一种动态修复应用程序的方法、装置及相关系统
WO2017076244A1 (zh) * 2015-11-02 2017-05-11 广州市动景计算机科技有限公司 一种动态修复应用程序的方法、装置及相关系统
US10929121B2 (en) 2015-11-02 2021-02-23 Alibaba Group Holding Limited Method, device and related system for dynamically repairing application
CN105491159A (zh) * 2016-01-15 2016-04-13 青岛海尔智能家电科技有限公司 一种固件升级包下发方法、获取方法及装置
CN107992320A (zh) * 2017-12-11 2018-05-04 北京奇虎科技有限公司 一种修补漏洞的方法及装置
CN108958746A (zh) * 2018-06-27 2018-12-07 Oppo(重庆)智能科技有限公司 配置文件处理方法、移动终端及计算机可读存储介质
CN108958746B (zh) * 2018-06-27 2022-04-12 Oppo(重庆)智能科技有限公司 配置文件处理方法、移动终端及计算机可读存储介质
CN111045694A (zh) * 2019-12-05 2020-04-21 浩云科技股份有限公司 流媒体服务安装方法及装置
CN113821273A (zh) * 2021-09-23 2021-12-21 武汉深之度科技有限公司 一种应用程序运行方法、计算设备及存储介质
CN113821273B (zh) * 2021-09-23 2023-10-13 武汉深之度科技有限公司 一种应用程序运行方法、计算设备及存储介质

Also Published As

Publication number Publication date
CN103677937B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN103677937A (zh) 升级软件和运行软件的方法及装置
US7310801B2 (en) Servicing a component-based software product throughout the software product lifecycle
CN107506221B (zh) 应用程序升级方法、装置及设备
US9928059B1 (en) Automated deployment of a multi-version application in a network-based computing environment
US20230393840A1 (en) File update method and apparatus, device and storage medium
US20070143379A1 (en) Metadata driven deployment of applications
US20110041124A1 (en) Version Management System
JP2021002317A (ja) アプリケーションをアップグレードするための方法、装置、デバイスならびに記憶媒体
CN104182255A (zh) 一种系统应用的库文件升级方法及终端
CN110221860A (zh) 一种配置文件处理方法、装置、终端及介质
US20180088924A1 (en) Update migration system and method
US20150067668A1 (en) Installation engine and package format
US10338910B2 (en) Multi-tenant upgrading
CN101490645A (zh) 用以设备虚拟化的方法及设备
US20100318967A1 (en) Supplementary deployment actions
CN113254089B (zh) 系统引导方式修正方法、装置、设备及存储介质
CN103514004A (zh) Windows系统下的系统环境管理方法及装置
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
CN113296891A (zh) 基于平台的多场景知识图谱处理方法及装置
US8250558B2 (en) Dynamic linked library add-on features
CN113867776A (zh) 中台应用的发布方法、装置、电子设备和存储介质
CN110825417A (zh) 应用程序更新方法及系统
US11354138B1 (en) Optimizing plugin loading
JP2021184208A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2014099082A (ja) 情報処理システム、情報処理装置、情報処理プログラム、アプリケーションの実行方法、および、記憶媒体

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant