CN106155727B - 一种应用程序的更新方法、装置及终端 - Google Patents
一种应用程序的更新方法、装置及终端 Download PDFInfo
- Publication number
- CN106155727B CN106155727B CN201510185632.4A CN201510185632A CN106155727B CN 106155727 B CN106155727 B CN 106155727B CN 201510185632 A CN201510185632 A CN 201510185632A CN 106155727 B CN106155727 B CN 106155727B
- Authority
- CN
- China
- Prior art keywords
- terminal
- application program
- operating system
- update
- administrator
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种应用程序的更新方法、装置及终端,其中的方法可包括:当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新信息;获取所述终端的操作系统中的静默安装权限;根据所述应用程序的更新信息,采用所述静默安装权限创建目标进程;运行所述目标进程以采用静默安装的方式对所述应用程序进行更新。本发明可以在应用程序进行更新时对其更新包实现静默安装,提升应用程序的安装成功率,减少应用程序的运营维护成本。
Description
技术领域
本发明涉及互联网领域,具体涉及应用程序技术领域,尤其涉及一种应用程序的更新方法、装置及终端。
背景技术
UAC(User Account Control,用户帐户控制)是操作系统(例如:Windows)为了提升安全性而提出的机制。UAC要求应用程序的更新包在安装过程中需要弹出UAC提示窗口与用户进行交互。这种机制虽然一定程度上提升了操作系统的安全,但是UAC提示窗口会中断用户的当前操作,容易造成用户反感而直接进行取消操作,从而造成应用程序的更新失败,增加应用程序的运营维护成本。
发明内容
本发明实施例提供一种应用程序的更新方法、装置及终端,可以实现使应用程序在更新过程中实现静默安装,提升应用程序的更新成功率,减少应用程序的运营维护成本。
本发明实施例第一方面提供一种应用程序的更新方法,可包括:
当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新信息;
获取所述终端的操作系统中的静默安装权限;
根据所述应用程序的更新信息,采用所述静默安装权限创建目标进程;
运行所述目标进程以采用静默安装的方式对所述应用程序进行更新。
本发明实施例第二方面提供一种应用程序的更新装置,可包括:
信息获取单元,用于当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新信息;
权限获取单元,用于获取所述终端的操作系统中的静默安装权限;
进程创建单元,用于当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新信息;
更新单元,用于运行所述目标进程以采用静默安装的方式对所述应用程序进行更新。
本发明实施例第三方面提供一种终端,可包括上述第二方面提供的应用程序的更新装置。
实施本发明实施例,具有如下有益效果:
本发明实施例中,当接收到终端中的应用程序的更新请求时,根据所述应用程序的更新信息,采用终端的操作系统中的静默安装权限创建目标进程,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新,使应用程序的更新过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,避免中断用户的当前操作,有效地提升应用程序的更新成功率,减少应用程序的运营维护成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用程序的更新方法的流程图;
图2为本发明实施例提供的另一种应用程序的更新方法的流程图;
图3为本发明实施例提供的一种应用程序的更新装置的结构示意图;
图4为图3所示的信息获取单元的实施例的结构示意图;
图5为图3所示的权限获取单元的实施例的结构示意图;
图6为图3所示的进程创建单元的实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,终端可以为PC(Personal Computer,个人计算机)、笔记本电脑、手机、PAD(平板电脑)、车载终端、智能可穿戴设备等设备。终端的操作系统可包括但不限于:windows(一种操作系统)等等。静默安装指终端中的应用程序进行更新时,其更新包的安装过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,属于用户无感知安装。
基于上述描述,下面将结合附图1-附图2,对本发明实施例提供的应用程序的安装方法的流程进行详细介绍。需要说明的是,下述附图1-附图2的方法的流程可以由本发明实施例提供的应用程序的更新装置所执行,该装置可以为终端的操作系统中的服务程序,该服务程序可被提前下载并运行于终端的操作系统中,并具备所述终端的操作系统的NT(指操作系统中的system权限)权限以在所述终端的操作系统启动时实现自动启动,以在应用程序进行更新时提供静默安装服务。
请参见图1,为本发明实施例提供的一种应用程序的更新方法的流程图;该方法可包括以下步骤S101-步骤S104。
S101,当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新信息。
所述应用程序可包括但不限于:即时通信应用程序、SNS(Social NetworkingServices,社会性网络服务)应用程序、游戏应用程序等等。所述应用程序的更新信息包括:所述应用程序的标识和所述应用程序的更新路径。其中,所述应用程序的标识可以用于唯一标识一个应用程序,可以包括但不限于应用程序的名称、版本号、序列号等等。所述应用程序的更新路径指所述应用程序的更新包在安装完成后在终端中所处的位置,例如:即时通信应用的更新路径可以为C:\program files\IM。
S102,获取所述终端的操作系统中的静默安装权限。
静默安装指应用程序进行更新时,其更新包的安装过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,属于用户无感知安装。静默安装权限属于终端的操作系统中的管理员权限,需要使用终端的操作系统中的管理员令牌(Token)。管理员权限是终端的操作系统所设置的安全策略,具体地,为了保证终端的操作系统的安全性,一些可能影响终端的操作系统运行的操作或可能影响用户设置的操作在执行之前需要获得管理员权限,使用管理员Token才能执行相应操作。实际应用中,管理员权限可包括但不限于:通过使用管理员Token可以调用终端的操作系统中的创建函数创建进程,使用管理员Token安装驱动或修改注册表等等。本发明实施例需要实现以静默安装的方式对应用程序进行更新,由于静默安装的方式无需用户干预,因此,为了保证终端的操作系统的安全性,本步骤需要获取所述终端的操作系统中的静默安装权限。
S103,根据所述应用程序的更新信息,采用所述静默安装权限创建目标进程。
进程指具有独立功能的程序所进行的一次运行活动,进程通常由终端的操作系统中的诸如CreateProcess()函数、vfork()等创建函数进行创建,每一个进程在创建过程中都需要耗费资源,例如:需要动态分配地址空间、需要占用系统内存等等。本步骤中,根据所述应用程序的更新信息,可以采用所述静默安装权限创建目标进程,具体实现中需要使用管理员Token创建目标进程;由于静默安装权限属于管理员权限,因此,采用静默安装权限所创建的目标进程可以在运行过程中无需任何用户干预,也不需要弹出UAC与用户进行交互。
S104,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新。
所述目标进程是采用所述静默安装权限所创建,具体是采用管理员Token所创建,因此,目标进程可以在运行过程可在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,从而使得所述应用程序的更新过程实现了用户无感知的静默安装。
本发明实施例中,当接收到终端中的应用程序的更新请求时,根据所述应用程序的更新信息,采用终端的操作系统中的静默安装权限创建目标进程,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新,使应用程序的更新过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,避免中断用户的当前操作,有效地提升应用程序的更新成功率,减少应用程序的运营维护成本。
请参见图2,为本发明实施例提供的另一种应用程序的更新方法的流程图;该方法可包括以下步骤S201-步骤S208。
S201,当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新包。
所述应用程序可包括但不限于:即时通信应用程序、SNS应用程序、游戏应用程序等等。其中,所述应用程序包括主程序,主程序指实现应用主要功能的程序,例如:即时通信应用程序的主程序指实现即时通信交互功能的程序。通常,应用程序的主程序可以检测所述应用程序是否需要更新,具体地,应用程序的主程序的检测方式可以包括但不限于:(1)主动检测方式,即由所述应用程序的主程序主动从所述应用程序所属服务器查询所述应用程序是否需要更新;(2)被动检测方式,即当所述应用程序需要更新时,由所述应用程序所属服务器向所述应用程序的主程序发送更新通知。当检测到所述应用程序需要更新时,所述应用程序的主程序可以将所述应用程序的更新包下载至所述终端中进行存储,并在所述应用程序的更新包下载完成后,向所述终端的操作系统中的服务程序发送更新请求,表明所述应用程序需要以静默安装的方式进行升级更新。本步骤中,当接收到终端中的应用程序的主程序所发送的更新请求时,可从所述终端的存储空间中获取所述应用程序的更新包。
S202,对所述应用程序的更新包进行解析,获得所述应用程序的更新信息。
本步骤中,可以按照所述应用程序的更新包的封装协议,对所述应用程序的更新包进行解析,以获得所述应用程序的更新信息。所述应用程序的更新信息包括:所述应用程序的标识和所述应用程序的更新路径。其中,所述应用程序的标识可以用于唯一标识一个应用程序,可以包括但不限于应用程序的名称、版本号、序列号等等。所述应用程序的更新路径指所述应用程序的更新包在安装完成后在终端中所处的位置,例如:即时通信应用的更新路径可以为C:\program files\IM。
本实施例的步骤S201-步骤S202可以为图1所示实施例的步骤S101的具体细化步骤。
S203,调用所述终端的操作系统提供的API(Application ProgrammingInterface,应用程序编程接口)接口,获取所述终端的操作系统的当前登录用户的标识。
需要说明的是,所述终端的操作系统提供一系列API接口以实现获取管理员Token的方法。以Windows操作系统的终端为例,首先,终端的Windows操作系统开放用于获取Windows操作系统中的当前登录用户的标识的API接口“WTSGetActiveConsoleSessionId”,本步骤中通过调用上述API接口,可以获取所述终端的操作系统的当前登录用户的标识(SesssionId)。
S204,根据所述当前登录用户的标识获取所述当前登录用户的令牌。
进一步,Windows操作系统开放用于获取当前登录用户的令牌的API接口“WTSQueryUserToken”,本步骤可调用此API接口,以所述当前登录用户的SessionId作为参数获取所述当前登录用户的令牌Token。可以理解的是,由于当前登录用户通常并非管理员,因此,本步骤所获取的当前登录用户的Token可能是受限的Token,因此还需要执行步骤S205进一步获取不受限的管理员Token。
S205,采用所述终端的操作系统提供的API接口,根据所述当前登录用户的标识和令牌,获取用于表示所述终端的操作系统中的管理员权限的管理员令牌,所述管理员权限包括静默安装权限。
进一步,Windows操作系统开放用于获取管理员令牌的API接口“GetTokenInformation”,本步骤可调用此API接口,以所述当前登录用户的SessionId和当前登录用户的Token作为参数获取所述管理员Token;例如:本步骤的获取代码可表示如下:GetTokenInformation(hUserToken,(TOKEN_INFORMATION_CLASS)TokenLinkedToken,&admin,sizeof(TOKEN_LINKED_TOKEN),&dwLen))。
本实施例的步骤S203-步骤S205可以为图1所示实施例的步骤S102的具体细化步骤。
S206,采用所述管理员令牌调用所述终端的操作系统中的创建函数。
所述终端的操作系统中的创建函数可包括但不限于:CreateProcess()函数、vfork()等。管理员权限是终端的操作系统所设置的安全策略,具体地,为了保证终端的操作系统的安全性,一些可能影响终端的操作系统运行的操作或可能影响用户设置的操作在执行之前需要获得管理员权限,使用管理员Token才能执行相应操作。实际应用中,管理员权限可包括但不限于:通过使用管理员Token可以调用终端的操作系统中的创建函数创建进程,使用管理员Token安装驱动或修改注册表等等。本步骤中,采用所述管理员令牌(Token)可调用所述终端的操作系统中的创建函数。
S207,根据所述应用程序的更新信息,使用所述创建函数创建目标进程。
进程指具有独立功能的程序所进行的一次运行活动,每一个进程在创建过程中都需要耗费资源,例如:需要动态分配地址空间、需要占用系统内存等等。本步骤中,根据所述应用程序的更新信息,可以使用终端的操作系统中的诸如CreateProcess()函数、vfork()等创建函数创建目标进程。
本实施例的步骤S206-步骤S207可以为图1所示实施例的步骤S103的具体细化步骤。
S208,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新。
所述目标进程是采用所述静默安装权限所创建,具体是采用管理员Token所创建,因此,目标进程可以在运行过程可在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,从而使得所述应用程序的更新过程实现了用户无感知的静默安装。
本发明实施例中,当接收到终端中的应用程序的更新请求时,根据所述应用程序的更新信息,采用终端的操作系统中的静默安装权限创建目标进程,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新,使应用程序的更新过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,避免中断用户的当前操作,有效地提升应用程序的更新成功率,减少应用程序的运营维护成本。
下面将结合附图3-附图6,对本发明实施例提供的应用程序的更新装置的结构和功能进行详细介绍。需要说明的是,下述的装置可以为终端的操作系统中的服务程序,该服务程序可被提前下载并运行于终端的操作系统中,并具备所述终端的操作系统的NT权限以在所述终端的操作系统启动时实现自动启动,以在应用程序进行更新时提供静默安装服务。下述的装置可用于执行上述附图1-附图2所示的应用程序的安装方法。
请参见图3,为本发明实施例提供的一种应用程序的更新装置的结构示意图;该装置可包括:信息获取单元101、权限获取单元102、进程创建单元103和更新单元104。
信息获取单元101,用于当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新信息。
所述应用程序可包括但不限于:即时通信应用程序、SNS应用程序、游戏应用程序等等。所述应用程序的更新信息包括:所述应用程序的标识和所述应用程序的更新路径。其中,所述应用程序的标识可以用于唯一标识一个应用程序,可以包括但不限于应用程序的名称、版本号、序列号等等。所述应用程序的更新路径指所述应用程序的更新包在安装完成后在终端中所处的位置,例如:即时通信应用的更新路径可以为C:\program files\IM。
权限获取单元102,用于获取所述终端的操作系统中的静默安装权限。
静默安装指应用程序进行更新时,其更新包的安装过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,属于用户无感知安装。静默安装权限属于终端的操作系统中的管理员权限,需要使用终端的操作系统中的管理员令牌(Token)。管理员权限是终端的操作系统所设置的安全策略,具体地,为了保证终端的操作系统的安全性,一些可能影响终端的操作系统运行的操作或可能影响用户设置的操作在执行之前需要获得管理员权限,使用管理员Token才能执行相应操作。实际应用中,管理员权限可包括但不限于:通过使用管理员Token可以调用终端的操作系统中的创建函数创建进程,使用管理员Token安装驱动或修改注册表等等。本发明实施例需要实现以静默安装的方式对应用程序进行更新,由于静默安装的方式无需用户干预,因此,为了保证终端的操作系统的安全性,所述权限获取单元102需要获取所述终端的操作系统中的静默安装权限。
进程创建单元103,用于根据所述应用程序的更新信息,采用所述静默安装权限创建目标进程。
进程指具有独立功能的程序所进行的一次运行活动,进程通常由终端的操作系统中的诸如CreateProcess()函数、vfork()等创建函数进行创建,每一个进程在创建过程中都需要耗费资源,例如:需要动态分配地址空间、需要占用系统内存等等。根据所述应用程序的更新信息,所述进程创建单元103可以采用所述静默安装权限创建目标进程,具体实现中需要使用管理员Token创建目标进程;由于静默安装权限属于管理员权限,因此,采用静默安装权限所创建的目标进程可以在运行过程中无需任何用户干预,也不需要弹出UAC与用户进行交互。
更新单元104,用于运行所述目标进程以采用静默安装的方式对所述应用程序进行更新。
所述目标进程是采用所述静默安装权限所创建,具体是采用管理员Token所创建,因此,目标进程可以在运行过程可在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,从而使得所述应用程序的更新过程实现了用户无感知的静默安装。
本发明实施例中,当接收到终端中的应用程序的更新请求时,根据所述应用程序的更新信息,采用终端的操作系统中的静默安装权限创建目标进程,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新,使应用程序的更新过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,避免中断用户的当前操作,有效地提升应用程序的更新成功率,减少应用程序的运营维护成本。
请参见图4,为图3所示的信息获取单元的实施例的结构示意图;该信息获取单元101可包括:安装包获取单元1001和解析单元1002。
安装包获取单元1001,用于当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新包。
所述应用程序可包括但不限于:即时通信应用程序、SNS应用程序、游戏应用程序等等。其中,所述应用程序包括主程序,主程序指实现应用主要功能的程序,例如:即时通信应用程序的主程序指实现即时通信交互功能的程序。通常,应用程序的主程序可以检测所述应用程序是否需要更新,具体地,应用程序的主程序的检测方式可以包括但不限于:(1)主动检测方式,即由所述应用程序的主程序主动从所述应用程序所属服务器查询所述应用程序是否需要更新;(2)被动检测方式,即当所述应用程序需要更新时,由所述应用程序所属服务器向所述应用程序的主程序发送更新通知。当检测到所述应用程序需要更新时,所述应用程序的主程序可以将所述应用程序的更新包下载至所述终端中进行存储,并在所述应用程序的更新包下载完成后,向所述终端的操作系统中的服务程序发送更新请求,表明所述应用程序需要以静默安装的方式进行升级更新。当接收到终端中的应用程序的主程序所发送的更新请求时,所述安装包获取单元1001可从所述终端的存储空间中获取所述应用程序的更新包。
解析单元1002,用于对所述应用程序的更新包进行解析,获得所述应用程序的更新信息。
所述解析单元1001可以按照所述应用程序的更新包的封装协议,对所述应用程序的更新包进行解析,以获得所述应用程序的更新信息。所述应用程序的更新信息包括:所述应用程序的标识和所述应用程序的更新路径。其中,所述应用程序的标识可以用于唯一标识一个应用程序,可以包括但不限于应用程序的名称、版本号、序列号等等。所述应用程序的更新路径指所述应用程序的更新包在安装完成后在终端中所处的位置,例如:即时通信应用的更新路径可以为C:\program files\IM。
本发明实施例中,当接收到终端中的应用程序的更新请求时,根据所述应用程序的更新信息,采用终端的操作系统中的静默安装权限创建目标进程,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新,使应用程序的更新过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,避免中断用户的当前操作,有效地提升应用程序的更新成功率,减少应用程序的运营维护成本。
请参见图5,为图3所示的权限获取单元的实施例的结构示意图;该权限获取单元102可包括:用户标识获取单元2001、用户令牌获取单元2002和安装权限获取单元2003。
用户标识获取单元2001,用于调用所述终端的操作系统提供的API接口,获取所述终端的操作系统的当前登录用户的标识。
需要说明的是,所述终端的操作系统提供一系列API接口以实现获取管理员Token的方法。以Windows操作系统的终端为例,首先,终端的Windows操作系统开放用于获取Windows操作系统中的当前登录用户的标识的API接口“WTSGetActiveConsoleSessionId”,所述用户标识获取单元2001通过调用上述API接口,可以获取所述终端的操作系统的当前登录用户的标识(SesssionId)。
用户令牌获取单元2002,用于根据所述当前登录用户的标识获取所述当前登录用户的令牌。
进一步,Windows操作系统开放用于获取当前登录用户的令牌的API接口“WTSQueryUserToken”,所述用户令牌获取单元2002可调用此API接口,以所述当前登录用户的SessionId作为参数获取所述当前登录用户的令牌Token。可以理解的是,由于当前登录用户通常并非管理员,因此,所述用户令牌获取单元2002所获取的当前登录用户的Token可能是受限的Token,因此还需要进一步获取不受限的管理员Token。
安装权限获取单元2003,用于采用所述终端的操作系统提供的API接口,根据所述当前登录用户的标识和令牌,获取用于表示所述终端的操作系统中的管理员权限的管理员令牌,所述管理员权限包括静默安装权限。
进一步,Windows操作系统开放用于获取管理员令牌的API接口“GetTokenInformation”,所述安装权限获取单元2003可调用此API接口,以所述当前登录用户的SessionId和当前登录用户的Token作为参数获取所述管理员Token;例如:获取代码可表示如下:GetTokenInformation(hUserToken,(TOKEN_INFORMATION_CLASS)TokenLinkedToken,&admin,sizeof(TOKEN_LINKED_TOKEN),&dwLen))。
本发明实施例中,当接收到终端中的应用程序的更新请求时,根据所述应用程序的更新信息,采用终端的操作系统中的静默安装权限创建目标进程,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新,使应用程序的更新过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,避免中断用户的当前操作,有效地提升应用程序的更新成功率,减少应用程序的运营维护成本。
请参见图6,为图3所示的进程创建单元的实施例的结构示意图;该进程创建单元103可包括:函数调用单元3001和创建单元3002。
函数调用单元3001,用于采用所述管理员令牌调用所述终端的操作系统中的创建函数。
所述终端的操作系统中的创建函数可包括但不限于:CreateProcess()函数、vfork()等。管理员权限是终端的操作系统所设置的安全策略,具体地,为了保证终端的操作系统的安全性,一些可能影响终端的操作系统运行的操作或可能影响用户设置的操作在执行之前需要获得管理员权限,使用管理员Token才能执行相应操作。实际应用中,管理员权限可包括但不限于:通过使用管理员Token可以调用终端的操作系统中的创建函数创建进程,使用管理员Token安装驱动或修改注册表等等。所述函数调用单元3001采用所述管理员令牌(Token)可调用所述终端的操作系统中的创建函数。
创建单元3002,用于根据所述应用程序的更新信息,使用所述创建函数创建目标进程。
进程指具有独立功能的程序所进行的一次运行活动,每一个进程在创建过程中都需要耗费资源,例如:需要动态分配地址空间、需要占用系统内存等等。所述创建单元3002根据所述应用程序的更新信息,可以使用终端的操作系统中的诸如CreateProcess()函数、vfork()等创建函数创建目标进程。
本发明实施例中,当接收到终端中的应用程序的更新请求时,根据所述应用程序的更新信息,采用终端的操作系统中的静默安装权限创建目标进程,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新,使应用程序的更新过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,避免中断用户的当前操作,有效地提升应用程序的更新成功率,减少应用程序的运营维护成本。
本发明实施例还公开了一种终端,该终端可包括应用程序的更新装置,该装置的结构和功能可参见附图3-附图6所示实施例的相关描述,在此不赘述。具体实现中,该装置可以为终端的操作系统中的服务程序,该服务程序可被提前下载并运行于终端的操作系统中,并具备所述终端的操作系统的NT权限以在所述终端的操作系统启动时实现自动启动,以在应用程序进行更新时提供静默安装服务。需要说明的是,本实施例所公开的终端也可以应用于上述附图1-附图2所示的方法中。
本发明实施例中,当接收到终端中的应用程序的更新请求时,根据所述应用程序的更新信息,采用终端的操作系统中的静默安装权限创建目标进程,运行所述目标进程以采用静默安装的方式对所述应用程序进行更新,使应用程序的更新过程在终端的操作系统后台完成,无需任何用户干预,也不需要弹出UAC与用户进行交互,避免中断用户的当前操作,有效地提升应用程序的更新成功率,减少应用程序的运营维护成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种应用程序的更新方法,其特征在于,所述方法由运行于终端的操作系统中的服务程序来执行,所述服务程序具备所述终端的操作系统中的NT权限,并在所述终端的操作系统启动时自启动;所述方法包括:
当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新信息;其中,所述应用程序的主程序检测到所述应用程序需要更新时,下载所述应用程序的更新包,在下载完成后,向所述终端的操作系统中的服务程序发送所述更新请求,所述更新请求用于指示所述应用程序需要以静默安装的方式进行升级更新;
获取所述终端的操作系统中的静默安装权限,所述静默安装权限属于所述终端的操作系统中的管理员权限,所述管理员权限采用管理员令牌表示,所述管理员令牌由所述终端的操作系统提供;所述管理员权限是所述终端的操作系统所设置的安全策略,具备所述管理员权限后使用所述管理员令牌能够执行对终端的操作系统运行产生影响的操作;
采用所述管理员令牌调用所述终端的操作系统中的创建函数;
根据所述应用程序的更新信息,使用所述创建函数创建目标进程;
运行所述目标进程以采用静默安装的方式对所述应用程序进行更新。
2.如权利要求1所述的方法,其特征在于,所述应用程序的更新信息包括:所述应用程序的标识和所述应用程序的更新路径。
3.如权利要求2所述的方法,其特征在于,所述当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新信息,包括:
当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新包:
对所述应用程序的更新包进行解析,获得所述应用程序的更新信息。
4.如权利要求1-3任一项所述的方法,其特征在于,所述获取所述终端的操作系统中的静默安装权限,包括:
调用所述终端的操作系统提供的API接口,获取所述终端的操作系统的当前登录用户的标识;
根据所述当前登录用户的标识获取所述当前登录用户的令牌;
采用所述终端的操作系统提供的API接口,根据所述当前登录用户的标识和令牌,获取用于表示所述终端的操作系统中的管理员权限的管理员令牌,所述管理员权限包括静默安装权限。
5.一种应用程序的更新装置,其特征在于,所述应用程序的更新装置是指运行于终端的操作系统中的服务程序,所述服务程序具备所述终端的操作系统中的NT权限,并在所述终端的操作系统启动时自启动;所述装置包括:
信息获取单元,用于当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新信息;其中,所述应用程序的主程序检测到所述应用程序需要更新时,下载所述应用程序的更新包,在下载完成后,向所述终端的操作系统中的服务程序发送所述更新请求,所述更新请求用于指示所述应用程序需要以静默安装的方式进行升级更新;
权限获取单元,用于获取所述终端的操作系统中的静默安装权限,所述静默安装权限属于所述终端的操作系统中的管理员权限,所述管理员权限采用管理员令牌表示,所述管理员令牌由所述终端的操作系统提供;所述管理员权限是所述终端的操作系统所设置的安全策略,具备所述管理员权限后使用所述管理员令牌能够执行对终端的操作系统运行产生影响的操作;
进程创建单元,用于根据所述应用程序的更新信息,采用所述静默安装权限创建目标进程;
更新单元,用于运行所述目标进程以采用静默安装的方式对所述应用程序进行更新;
所述进程创建单元包括:
函数调用单元,用于采用所述管理员令牌调用所述终端的操作系统中的创建函数;
创建单元,用于根据所述应用程序的更新信息,使用所述创建函数创建目标进程。
6.如权利要求5所述的装置,其特征在于,所述应用程序的更新信息包括:所述应用程序的标识和所述应用程序的更新路径。
7.如权利要求6所述的装置,其特征在于,所述信息获取单元包括:
安装包获取单元,用于当接收到终端中的应用程序的更新请求时,获取所述应用程序的更新包:
解析单元,用于对所述应用程序的更新包进行解析,获得所述应用程序的更新信息。
8.如权利要求5-7任一项所述的装置,其特征在于,所述权限获取单元包括:
用户标识获取单元,用于调用所述终端的操作系统提供的API接口,获取所述终端的操作系统的当前登录用户的标识;
用户令牌获取单元,用于根据所述当前登录用户的标识获取所述当前登录用户的令牌;
安装权限获取单元,用于采用所述终端的操作系统提供的API接口,根据所述当前登录用户的标识和令牌,获取用于表示所述终端的操作系统中的管理员权限的管理员令牌,所述管理员权限包括静默安装权限。
9.一种终端,其特征在于,包括如权利要求5-8任一项所述的应用程序的更新装置。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有计算机程序,所述计算机程序在执行时包括如权利要求1-4任一项所述应用程序的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510185632.4A CN106155727B (zh) | 2015-04-17 | 2015-04-17 | 一种应用程序的更新方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510185632.4A CN106155727B (zh) | 2015-04-17 | 2015-04-17 | 一种应用程序的更新方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155727A CN106155727A (zh) | 2016-11-23 |
CN106155727B true CN106155727B (zh) | 2021-04-30 |
Family
ID=58057957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510185632.4A Active CN106155727B (zh) | 2015-04-17 | 2015-04-17 | 一种应用程序的更新方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155727B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980554B (zh) * | 2017-03-08 | 2020-05-26 | Oppo广东移动通信有限公司 | 一种进程处理方法及装置 |
CN107315606A (zh) * | 2017-06-14 | 2017-11-03 | 北京小米移动软件有限公司 | 应用更新方法及装置 |
JP6897417B2 (ja) * | 2017-08-16 | 2021-06-30 | 住友電気工業株式会社 | 制御装置、制御方法、およびコンピュータプログラム |
CN108874437B (zh) * | 2018-04-26 | 2022-01-21 | 深圳爱加密科技有限公司 | 一种android应用程序的在线云更新方法 |
CN108762773B (zh) * | 2018-05-17 | 2021-10-08 | 山东华软金盾软件股份有限公司 | 一种模拟用户登录安装程序的方法 |
CN108681662B (zh) * | 2018-05-17 | 2022-04-29 | 创新先进技术有限公司 | 一种安装程序的方法及装置 |
CN109992430B (zh) * | 2019-02-28 | 2021-07-20 | 维沃移动通信有限公司 | 一种数据传输方法、第一终端和第二终端 |
CN111694583B (zh) * | 2020-05-08 | 2023-12-19 | 广州微算互联信息技术有限公司 | 一种云游戏更新方法、系统和存储介质 |
CN112346765B (zh) * | 2020-11-06 | 2024-03-01 | 北京奇艺世纪科技有限公司 | 应用程序的升级方法、装置、电子设备及可读存储介质 |
CN114327519A (zh) * | 2021-12-31 | 2022-04-12 | 飞天诚信科技股份有限公司 | 一种在智能pos设备上安装应用的实现方法及装置 |
CN114692093B (zh) * | 2022-05-27 | 2022-10-25 | 荣耀终端有限公司 | 一种应用程序安装方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298533A (zh) * | 2014-11-06 | 2015-01-21 | 北京奇虎科技有限公司 | 用于定制软件安装包的方法、装置和设备 |
CN104391729A (zh) * | 2014-12-19 | 2015-03-04 | 北京奇虎科技有限公司 | 基于Root权限的程序升级方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110126192A1 (en) * | 2009-10-26 | 2011-05-26 | Simon Frost | Systems and methods for providing and updating a unified client |
CN103810416A (zh) * | 2012-11-07 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种软件安装或卸载方法及装置 |
CN104156252A (zh) * | 2014-08-28 | 2014-11-19 | 广州金山网络科技有限公司 | 一种应用软件安装方法及装置 |
-
2015
- 2015-04-17 CN CN201510185632.4A patent/CN106155727B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298533A (zh) * | 2014-11-06 | 2015-01-21 | 北京奇虎科技有限公司 | 用于定制软件安装包的方法、装置和设备 |
CN104391729A (zh) * | 2014-12-19 | 2015-03-04 | 北京奇虎科技有限公司 | 基于Root权限的程序升级方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106155727A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155727B (zh) | 一种应用程序的更新方法、装置及终端 | |
CN108536461B (zh) | 资源更新方法、装置、终端及存储介质 | |
US8832846B2 (en) | Methods and systems for providing a notification of a compliance level of an application with respect to a privacy profile associated with a user | |
US10136324B2 (en) | Method and apparatus for reading verification information | |
US9769155B2 (en) | Login method and apparatus, and open platform system | |
WO2018072436A1 (zh) | 权限管理方法、装置及终端 | |
CN107306293B (zh) | 防沉迷方法及系统 | |
CN106599709B (zh) | 一种防隐私信息泄露的方法、装置及终端 | |
CN107832105B (zh) | 一种应用程序启动方法、启动装置及计算机可读存储介质 | |
CN102550003A (zh) | 用于管理持续丰富因特网应用的方法和设备 | |
CN107831886B (zh) | 关联启动应用的管控方法、装置、存储介质及智能终端 | |
US9628939B2 (en) | Data calling method and device | |
CN104102880A (zh) | 一种检测Android权限提升攻击的应用程序重写方法和系统 | |
EP3486823B1 (en) | System notification service control method, apparatus, terminal device, and storage medium | |
CN110868693A (zh) | 应用程序流量控制方法、终端设备及存储介质 | |
CN112966257B (zh) | 一种应用程序的授权方法及装置 | |
CN107908956B (zh) | 一种资源访问请求的监控方法、装置及可读存储介质 | |
CN107302626B (zh) | 一种针对安卓智能手机麦克风的管控方法 | |
WO2019071927A1 (zh) | 授权信息获取方法、装置、电子设备及可读存储介质 | |
CN106293962B (zh) | 一种调用系统命令的方法和装置 | |
CN106209746B (zh) | 一种安全业务提供方法及服务器 | |
CN110928630A (zh) | 应用程序窗口的激活控制方法、装置、设备及存储介质 | |
WO2018196613A1 (zh) | 一种基于功能开关的应用程序控制方法、装置、服务器及介质 | |
CN112860328B (zh) | 服务器的控制方法、装置、计算设备和介质 | |
US10019582B1 (en) | Detecting application leaks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |