CN109471630A - 一种应用处理方法和设备 - Google Patents
一种应用处理方法和设备 Download PDFInfo
- Publication number
- CN109471630A CN109471630A CN201811367704.7A CN201811367704A CN109471630A CN 109471630 A CN109471630 A CN 109471630A CN 201811367704 A CN201811367704 A CN 201811367704A CN 109471630 A CN109471630 A CN 109471630A
- Authority
- CN
- China
- Prior art keywords
- version
- frame
- system service
- service frame
- condition
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种应用处理方法和设备。所述应用包括启动器、至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述方法应用在所述启动器中,包括:检测所述应用所处操作系统的版本;根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架;启动依赖所述系统服务框架的客户端。通过配置不同版本的客户端,可以根据操作系统中系统服务框架的版本自适应选择启动相应版本的客户端,灵活性高,面对复杂的系统服务框架,依然可以保证应用可兼容不同版本的操作系统的问题。
Description
技术领域
本发明实施例涉及计算机桌面应用开发的技术,尤其涉及一种应用处理方法和设备。
背景技术
基于桌面开发技术,如微软.NET(网状物操作平台)的WinForm(Windows Form,Windows窗体)、WPF(Windows Presentation Foundation,Windows呈现基础)等,因开发高效、视觉体验佳、功能丰富以及简易操作等特点,广泛用于开发桌面应用。
但是,这些应用需要依赖系统服务框架(即.NET Framework),而不同版本的操作系统上通常安装了不同版本的系统服务框架,复杂的系统服务框架导致应用无法兼容不同版本的操作系统。
例如,在Windows XP系统中不预装.NET环境,在Windows7系统中内置.NETFramework 3.5,在Windows8中内置.NET Framework 4.5,在Windows10系统中内置.NETFramework 4.7。
目前,通用的处理方式有两种:
第一种处理方式是基于低版本的系统服务框架(如.NET Framework 3.5)开发应用,在高版本的系统服务框架上兼容运行应用。
但是,这种方式无法使用开发语言的高级特性,开发的应用功能也受到限制,影响应用的开发效率和应用的质量。
第二种处理方式是基于高版本的系统服务框架(如.NET Framework 4.5)开发应用。
但是,这种方式需要在用户设备部署对应版本或更高版本的系统服务框架,而应用开发者无法控制用户设备的环境情况,应用可能无法运行。
发明内容
本发明实施例提供一种应用处理方法和设备,以解决复杂的系统服务框架导致应用无法兼容不同版本的操作系统的问题。
第一方面,本发明实施例提供了一种应用处理方法,所述应用包括启动器、至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述方法应用在所述启动器中,包括:
检测所述应用所处操作系统的版本;
根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架;
启动依赖所述系统服务框架的客户端。
第二方面,本发明实施例还提供了一种应用处理方法,包括:
对应用生成安装包;
其中,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端。
第三方面,本发明实施例还提供了一种应用处理方法,包括:
检测针对应用的安装包的安装指令,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端;
安装所述启动器;
分别安装所述至少两个版本的客户端。
第四方面,本发明实施例还提供了一种应用处理装置,所述应用包括启动器、至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述装置应用在所述启动器中,包括:
系统版本检测模块,用于检测所述应用所处操作系统的版本;
系统服务框架设定模块,用于根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架;
客户端启动模块,用于启动依赖所述系统服务框架的客户端。
第五方面,本发明实施例还提供了一种应用处理装置,包括:
安装包生成模块,用于对应用生成安装包;
其中,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端。
第六方面,本发明实施例还提供了一种应用处理装置,包括:
安装指令检测模块,用于检测针对应用的安装包的安装指令,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端;
启动器安装模块,用于安装所述启动器;
客户端安装模块,用于分别安装所述至少两个版本的客户端。
第七方面,本发明实施例还提供一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面或第二方面或第三方所述的应用处理方法。
第八方面,本发明实施例还一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面或第二方面或第三方所述的应用处理方法。
在本发明实施例中,应用包括启动器、至少两个版本的客户端,至少两个版本的客户端分别依赖至少两个版本的系统服务框架,在启动应用时,可检测应用所处操作系统的版本,根据操作系统的版本在操作系统中设定可用的系统服务框架,启动系统服务框架的客户端,通过配置不同版本的客户端,可以根据操作系统中系统服务框架的版本自适应选择启动相应版本的客户端,对于低版本的系统服务框架,可启动低版本的客户度,对于高版本的系统服务框架,可启动高版本的客户度,灵活性高,面对复杂的系统服务框架,依然可以保证应用可兼容不同版本的操作系统的问题。
附图说明
图1为本发明实施例一提供的一种应用处理方法的流程图;
图2是本发明实施例二提供的一种应用处理方法的流程图;
图3是本发明实施例二提供的一种应用的结构示意图;
图4是本发明实施例二提供的一种第二框架版本的系统服务框架的检测流程图;
图5是本发明实施例二提供的一种第一框架版本的系统服务框架的检测流程图;
图6是本发明实施例三提供的一种应用处理方法的流程图;
图7是本发明实施例三提供的一种安装包的结构示意图;
图8是本发明实施例四提供的一种应用处理方法的流程图;
图9是本发明实施例五提供的一种应用处理方法的流程图;
图10A是本发明实施例五提供的一种检测系统服务框架合法性的流程图;
图10B是本发明实施例五提供的另一种检测系统服务框架合法性的流程图;
图11为本发明实施例六提供的一种应用处理装置的结构示意图;
图12为本发明实施例七提供的一种应用处理装置的结构示意图;
图13为本发明实施例八提供的一种应用处理装置的结构示意图;
图14为本发明实施例九提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种应用处理方法的流程图,本实施例可适用于启动桌面应用的情况,该方法可以由应用启动装置来执行,该应用启动装置可以由软件和/或硬件的方式实现,该应用启动装置可以配置在各种设备中,该设备可安装系统服务框架,用于运行依赖安装系统服务框架的应用,该设备包括个人电脑、工作站、服务器和移动终端等,该设备的操作系统包括但不限于Windows系统,在Windows系统中可安装的系统服务框架为.NET Framework。
在本实施例中,应用包括启动器、至少两个版本的客户端。
其中,启动器为可执行程序,如exe文件,用于启动客户端。
每一个客户端均为应用的主体,可实现应用的功能,至少两个版本的客户端分别依赖至少两个版本的系统服务框架,即每个版本的客户端对应依赖一个版本的系统服务框架。
在具体实现中,为了兼容不同版本的操作系统(不同版本的系统服务框架),不同版本的客户端可依赖主流的低版本的系统服务框架,以及,依赖主流的高版本的系统服务框架。
例如,对于Windows系统,一个客户端可依赖.NET Framework 3.5,另一个客户端可依赖.NET Framework 4.5。
需要说明的是,不同版本的客户端之间功能保持一致,但是,因为所依赖的系统服务框架不同,不同版本的客户端之间功能可能存在一定的差异,本实施例对此不加以限制。
参照图1,该方法具体包括如下步骤:
S110、检测所述应用所处操作系统的版本。
在具体实现中,本实施例可应用在启动器中,该启动器的快捷方式可以设置为应用的快捷方式,存放在桌面上、开始菜单里和任务栏上等区域。
用户点击该快捷方式,即可启动启动器,此时,启动器可以检测其所处的操作系统中是否已有其它启动器(进程)处于运行状态。
如果有其它启动器处于运行状态,即可退出当前的启动器,避免重复启动。
如果没有其它启动器处于运行状态,即可由当前的启动器继续进行处理,检测应用所处操作系统的版本。
在具体实现中,启动器可执行指定的系统命令,检测其所处的操作系统的版本。
例如,对于Windows系统,通过“cmd/c ver&pause”或“cmd/c type c:\boot.ini&pause”等命令检测其所处的操作系统的版本。
需要说明的是,如果当前版本的操作系统可安装并运行系统服务框架,如Windows7系统、Windows8系统及Windows8以上的系统,则启动器可继续处理,设定可用的系统服务框架。
此外,如果当前版本的操作系统不可安装或运行系统服务框架,如Windows7以下的系统(如WindowsXP系统),则启动器可生成错误提示信息,向用户提示当前操作系统不支持该应用,结束启动操作。
S120、根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架。
在本实施例中,启动器区分不同版本的操作系统,设定可用的系统服务框架。
所谓可用,可以指已经安装并可正常运行的系统服务框架。
如果在操作系统中已安装系统服务框架并且该系统服务框架可正常运行,此时,启动器可直接设定该系统服务框架为可用的系统服务框架。
如果在操作系统中未安装系统服务框架,或者,已安装系统服务框架但该系统服务框架不可正常运行,此时,启动器可修复运行环境,重新安装指定版本的系统服务框架,并记录该系统服务框架为可用的系统服务框架。
S130、启动依赖所述系统服务框架的客户端。
在设定可用的系统服务框架之后,启动器则可从至少两个客户端中确定依赖该可用的系统服务框架的客户端,并启动该客户端。
对于Windows系统,启动用户设备并进入桌面时,操作系统会创建Explorer(Windows程序管理器或者叫文件资源管理器),当启动某个应用(客户端)时,Explorer的一个线程会侦测到这个操作,根据注册表中的信息取得文件名,然后以这个文件名调用CreateProcess函数。
CreateProcess实际上是通过NtCreateProcess函数实现的,此时,操作系统会创建一个进程内核对象,进程内核对象创建后,操作系统为刚刚创建的进程分配进程虚拟地址空间并进行初始化,初始化完成后,操作系统开始创建进程的主线程,一个进程至少要有一个主线程才能运行,可以说进程只是充当一个容器的作用。
无论启动器启动哪个版本的客户端,启动器均会等待与客户端通信,如果客户端启动成功,则通知启动器退出。
因此,如果在预设的时间段内接收到客户端的通知,即客户端启动成功,此时,执行退出操作。
如果在预设的时间段内未接收到客户端的通知,可能是系统环境出现故障或者其他原因,导致客户端启动失败,此时,生成启动失败的提示信息,用户可启动应用中的安装器,安装指定版本的系统服务框架,以修复系统环境。
在本发明实施例中,应用包括启动器、至少两个版本的客户端,至少两个版本的客户端分别依赖至少两个版本的系统服务框架,在启动应用时,可检测应用所处操作系统的版本,根据操作系统的版本在操作系统中设定可用的系统服务框架,启动系统服务框架的客户端,通过配置不同版本的客户端,可以根据操作系统中系统服务框架的版本自适应选择启动相应版本的客户端,对于低版本的系统服务框架,可启动低版本的客户度,对于高版本的系统服务框架,可启动高版本的客户度,灵活性高,面对复杂的系统服务框架,依然可以保证应用可兼容不同版本的操作系统的问题。
实施例二
图2为本发明实施例二提供的一种应用处理方法的流程图,本实施例以前述实施例为基础,进一步增加针对不同版本的操作系统中设定可用的系统服务框架的处理操作。
在本实施例中,操作系统的版本包括第一系统版本或第二系统版本,系统服务框架的版本包括第一框架版本或第二框架版本。
在第一系统版本的操作系统中适于安装第一框架版本的系统服务框架或第二框架版本的系统服务框架。
在第二系统版本的操作系统中适于安装第二框架版本的系统服务框架。
相对应地,如图3所示,应用300具有启动器310、两个版本的客户端320、安装器330,其中一个客户端320依赖第一框架版本的系统服务框架,另一个客户端320依赖第二框架版本的系统服务框架。
其中,该安装器330为可执行文件,如exe文件,用于连接发布指定版本的系统服务框架的服务器,下载该指定版本的系统服务框架的服务器并进行安装。
对于Windows系统,第一系统版本包括Windows7系统,第二系统版本包括Windows8系统及Windows8系统以上的操作系统。
第一框架版本的系统服务框架包括.NET Framework 3.5,第二框架版本的系统服务框架包括.NET Framework 4.5。
相对应地,一个客户端依赖.NET Framework 3.5,另一个客户端依赖.NETFramework 4.5。
参见图2,该方法具体包括如下步骤:
S210、检测所述应用所处操作系统的版本。
S220、针对所述第一系统版本,在注册表中检测系统服务框架的根安装项。
S230、判断所述根安装项是否合法;若是,则执行S250,若否,则执行S240。
如果检测到当前的操作系统的版本为第一系统版本(如Windows7系统),则可以在注册表中检测系统服务框架的根安装项,并判断其是否合法。
对于不同版本的系统服务框架,在注册表中使用同一个根安装项,在此根安装项下,使用不同的子安装项。
对于.NET Framework,其根安装项为InstallRoot,路径为“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\.NET Framework\\”,键值为InstallRoot,注册表内容为其安装路径,如“C:\Windows\Microsoft.NET\Framework\”,则表示InstallRoot合法,否则,表示InstallRoot非法。
S240、调用所述安装器安装指定版本的系统服务框架,并确定所述系统服务框架为可用的系统服务框架。
如果系统服务框架的根安装项非法,则可以生成环境错误的提示信息,如果检测到用户针对该提示信息触发的修复环境指令,则启动器可以启动安装器,由该安装器安装指定版本的系统服务框架,启动器记录安装器安装的系统服务框架为可用的系统服务框架。
一般情况下,安装器安装的系统服务框架为当前版本的操作系统中可安装的、高版本的系统服务框架,当然,该系统服务框架是至少一个客户端可依赖的。
例如,在Windows7系统中,安装器可安装.NET Framework 4.5。
S250、针对所述第一系统版本,按照预设的顺序检测所述至少两个版本的系统服务框架的合法性。
如果系统服务框架的根安装项合法,则可以继续按照预设的顺序检测系统服务框架自身的合法性。
一般情况下,高版本的系统服务框架的优先级高于低版本的系统服务框架。
对于系统服务框架的版本包括第一框架版本或第二框架版本的情形,第二框架版本的系统服务框架的优先级高于第一框架版本的系统服务框架的优先级。
例如,若第一框架版本的系统服务框架为.NET Framework 3.5,第二框架版本的系统服务框架为.NET Framework 4.5,则可以先检测.NET Framework 4.5的合法性,再检测.NET Framework 3.5的合法性。
具体而言,判断第二框架版本的系统服务框架是否满足预设的第一条件、第二条件与第三条件。
若满足第一条件、第二条件与第三条件,则确定第一框架版本的系统服务框架合法。
其中,第一条件为注册表中的第一子安装项大于或等于第一阈值,第二条件为第一安装路径存在,第三条件为第一安装目录的体积大于或等于第二阈值。
以.NET Framework 4.5作为第二框架版本的系统服务框架的示例:
1、针对第一条件:
在注册表中,可检测.NET Framework 4.5得到第一字安装项,一般为“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\”,键值为Release,如果第一子安装项大于或等于378389(第一阈值),则操作系统已安装.NETFramework 4.5,否则,表示操作系统未安装.NET Framework 4.5。
2、针对第二条件:
在设备中,可读取.NET Framework 4.5的第一安装目录,一般为“C:\Windows\Microsoft.NET\Framework\v4.xxx”(在不同的设备中,其第一安装路径可能有所不同,可根据情况自行更改),如果.NET Framework 4.5的第一安装目录存在,则.NET Framework4.5可用,否则,.NET Framework 4.5不可用。
3、针对第三条件:
在设备中,可计算.NET Framework 4.5的第一安装目录的体积,如果第一安装目录的体积大于或等于150M(第二阈值),则.NET Framework 4.5可用,否则,.NET Framework4.5不可用。
需要说明的是,第一条件、第二条件与第三条件的判断顺序可以由本领域技术人员根据实际情况进行设定,本实施例对此不加以限制。
在一个示例中,如图4所示,判断的顺序如下:
在S410中,检测第一子安装项。
在S420中,判断第一子安装项是否大于或等于第一阈值;若是,则执行S430,若否,则执行S480。
在S430中,读取第一安装目录。
在S440中,判断第一安装目录是否存在;若是,则执行S450,若否,则执行S480。
在S450中,计算第一安装目录的体积。
在S460中,判断体积是否大于或等于第二阈值;若是,则执行S470,若否,则执行S480。
在S470中,确定第二框架版本的系统服务框架合法。
在S480中,确定第二框架版本的系统服务框架非法。
若不满足第一条件、第二条件与第三条件中的至少一个条件,则判断第一框架版本的系统服务框架是否满足预设的第四条件、第五条件与第六条件。
若满足第四条件、第五条件与第六条件,则确定第二框架版本的系统服务框架合法。
其中,第四条件为注册表中的第二子安装项非空,第五条件为第二安装目录存在,第六条件为第二安装目录的体积大于第三阈值。
以.NET Framework 3.5作为第一框架版本的系统服务框架的示例:
1、针对第四条件:
在注册表中,可检测.NET Framework 3.5得到第二字安装项,一般为“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v3.5\\”,键值为Version,如果第一子安装项非空,则.NET Framework 3.5可用,否则,.NET Framework 3.5不可用。
2、针对第五条件:
在设备中,可读取.NET Framework 3.5的第二安装目录,一般为“C:\Windows\Microsoft.NET\Framework\v3.5”(在不同的设备中,其第一安装路径可能有所不同,可根据情况自行更改),如果.NET Framework 3.5的第二安装目录存在,则.NET Framework 3.5可用,否则,.NET Framework 3.5不可用。
3、针对第六条件:
在设备中,可计算.NET Framework 3.5的第二安装目录的体积,如果第二安装目录的体积大于5M(第二阈值),则.NET Framework 3.5可用,否则,.NET Framework 3.5不可用。
需要说明的是,第四条件、第五条件与第六条件的判断顺序可以由本领域技术人员根据实际情况进行设定,本实施例对此不加以限制。
在一个示例中,如图5所示,判断的顺序如下:
在S510中,检测第二子安装项。
在S520中,判断第二子安装项是否为空;若是,则执行S580,若否,则执行S530。
在S530中,读取第二安装目录。
在S540中,判断第二安装目录是否存在;若是,则执行S550,若否,则执行S580。
在S550中,计算第二安装目录的体积。
在S560中,判断体积是否大于第三阈值;若是,则执行S570,若否,则执行S580。
在S570中,确定第一框架版本的系统服务框架合法。
在S580中,确定第一框架版本的系统服务框架非法。
S260、若所述系统服务框架合法,则确定所述系统服务框架为可用的系统服务框架。
如果检测到某个版本的系统服务框架合法,则启动器可记录为该版本的系统服务框架为可用的系统服务框架。
S270、若所述系统服务框架非法,则调用所述安装器安装指定版本的系统服务框架,并确定所述系统服务框架为可用的系统服务框架。
如果检测到所有版本的系统服务框架非法,则启动器可以启动安装器,由该安装器安装指定版本的系统服务框架,启动器记录安装器安装的系统服务框架为可用的系统服务框架。
对于非法的情况:
1、若不满足第一条件、满足第二条件与第三条件,则针对第二框架版本的系统服务框架生成第一错误提示信息,如果检测到用户针对该提示信息触发的修复环境指令,则启动器可以调用安装器安装第二框架版本的系统服务框架,启动器记录安装器安装的第二框架版本的系统服务框架为可用的系统服务框架。
2、若不满足第四条件,且满第五条件与第六条件,则针对第一框架版本的系统服务框架生成第二错误提示信息,如果检测到用户针对该提示信息触发的修复环境指令,则启动器可以调用安装器安装第二框架版本的系统服务框架,启动器记录安装器安装的第二框架版本的系统服务框架为可用的系统服务框架。
3、若不满足第一条件、第二条件与第三条件、且不满足第四条件、满足第五条件与第六条件,则生成第三错误提示信息,如果检测到用户针对该提示信息触发的修复环境指令,则启动器可以调用安装器安装第二框架版本的系统服务框架。
在本发明的一个实施例中,可针对第一系统版本设置一个检测周期,如一天。
在该检测周期中,启动器首次检测可用的系统服务框架,则可以按照S250-S270进行操作,并将可用的系统服务框架存储在启动记录中。
在该检测周期中,启动器非首次检测可用的系统服务框架,则可以从启动记录读取在操作系统中可用的系统服务框架,而无需再次按照S250-S270进行操作,从而减少应用的启动耗时。
进一步而言,启动器可判断启动记录中是否记录有可用的系统服务框架,如果有,则从启动记录读取在操作系统中可用的系统服务框架,如果没有,则执行S250-S270。
S280、针对所述第二系统版本,确定适于在所述第二系统版本的操作系统中安装的系统服务框架为可用的系统服务框架。
如果检测到当前的操作系统的版本为第二系统版本(如Windows8系统及Windows8系统以上的操作系统),由于第二系统版本的操作系统内置第二框架版本的系统服务框架,因此,可直接记录适于在第二系统版本的操作系统中安装的系统服务框架为可用的系统服务框架。
S290、启动依赖所述系统服务框架的客户端。
实施例三
图6为本发明实施例三提供的一种应用处理方法的流程图,本实施例可适用于生成桌面应用的情况,该方法可以由安装包的生成装置来执行,该安装包的生成装置可以由软件和/或硬件的方式实现,该应用启动装置可以配置在各种设备中,例如,个人电脑、工作站、服务器和移动终端等。
参照图6,该方法具体包括如下步骤:
S610,对应用生成安装包。
其中,安装包包括启动器与至少两个版本的客户端。
该安装包可安装在各种设备中,作为应用的形式而存在,例如,个人电脑、工作站、服务器和移动终端等,该设备可安装系统服务框架,以支持应用运行。
该设备的操作系统包括但不限于Windows系统,在Windows系统中可安装的系统服务框架为.NET Framework。
进一步而言,启动器为可执行程序,用于按照上述任一应用启动方法启动客户端。
每一个客户端均为应用的主体,可实现应用的功能,至少两个版本的客户端分别依赖至少两个版本的系统服务框架,即每个版本的客户端对应依赖一个版本的系统服务框架。
在具体实现中,为了兼容不同版本的操作系统(不同版本的系统服务框架),不同版本的客户端可依赖主流的低版本的系统服务框架,以及,依赖主流的高版本的系统服务框架。
例如,对于Windows系统,一个客户端可依赖.NET Framework 3.5,另一个客户端可依赖.NET Framework 4.5。
需要说明的是,不同版本的客户端之间功能保持一致,但是,因为所依赖的系统服务框架不同,不同版本的客户端之间功能可能存在一定的差异,本实施例对此不加以限制。
在本发明的一个实施例中,客户端包括独立组件与公共组件。
所谓独立组件,可以指单独一个版本的客户端可用的组件。
所谓公共组件,可以指至少两个版本的客户端可用的组件,如系统运行环境组件、解压组件等。
如图7所示,安装包700除了包括启动器710,安装包700还包括公共目录720与至少两个独立目录730。
公共目录720存储至少两个客户端共同的公共组件。
至少两个独立目录730分别存储至少两个版本的客户端的独立组件。
此外,安装包700还包括安装器740,该安装器740为可执行文件,可以用于按照上述任一应用启动方法安装指定版本的系统服务框架。
在本发明的一个实施例中,系统服务框架的版本包括第一框架版本与第二框架版本。
在本实施例中,可以按照第一框架版本的系统服务框架生成源程序。
将源程序分别编译为依赖第一框架版本的系统服务框架的客户端,以及,依赖第二框架版本的系统服务框架的客户端,从而减少开发的工作量,提升应用开发效率。
例如,假设第一框架版本的系统服务框架为.NET Framework 3.5,第二框架版本的系统服务框架为.NET Framework 4.5,则可以按照.NET Framework 3.5开发源程序,并变异成依赖.NET Framework 3.5的客户端与依赖.NET Framework4.5的客户端。
在本发明实施例中,对应用生成安装包,应用包括启动器、至少两个版本的客户端,至少两个版本的客户端分别依赖至少两个版本的系统服务框架,启动器用于启动客户端,通过配置不同版本的客户端,可以根据操作系统中系统服务框架的版本自适应选择启动相应版本的客户端,对于低版本的系统服务框架,可启动低版本的客户度,对于高版本的系统服务框架,可启动高版本的客户度,灵活性高,面对复杂的系统服务框架,依然可以保证应用可兼容不同版本的操作系统的问题。
实施例四
图8为本发明实施例四提供的一种应用处理方法的流程图,本实施例可适用于安装桌面应用的情况,该方法可以由应用安装装置来执行,该应用安装装置可以由软件和/或硬件的方式实现,该应用安装装置可以配置在各种设备中,该设备可安装系统服务框架,例如,个人电脑、工作站、服务器和移动终端等,该设备的操作系统包括但不限于Windows系统,在Windows系统中可安装的系统服务框架为.NET Framework。
参照图8,该方法具体包括如下步骤:
S810,检测针对应用的安装包的安装指令。
在本发明实施例中,用户可以各个途径获取应用的安装包,并通过鼠标双击、触发安装提示灯方式,对应用的安装包触发安装指令,指示安装应用。
在一种途径中,从各个应用分发网站中下载应用的安装包,该应用分发网站可以为开发应用的官方网站,也可以为第三方的应用分发网站。
在另一种途径中,通过即时通信工具、移动存储设备(如U盘)等接收/拷贝应用的安装包。
当然,上述获取安装包的途径只是示例,除了上述获取安装包的途径之外,本领域技术人员还可以根据实际情况设置其他获取安装包的途径,本实施例对此不加以限制。
在本实施例中,安装包包括启动器与至少两个版本的客户端。
进一步而言,启动器为可执行程序,用于按照上述任一应用启动方法启动客户端。
每一个客户端均为应用的主体,可实现应用的功能,至少两个版本的客户端分别依赖至少两个版本的系统服务框架,即每个版本的客户端对应依赖一个版本的系统服务框架。
在具体实现中,为了兼容不同版本的操作系统(不同版本的系统服务框架),不同版本的客户端可依赖主流的低版本的系统服务框架,以及,依赖主流的高版本的系统服务框架。
例如,对于Windows系统,一个客户端可依赖.NET Framework 3.5,另一个客户端可依赖.NET Framework 4.5。
需要说明的是,不同版本的客户端之间功能保持一致,但是,因为所依赖的系统服务框架不同,不同版本的客户端之间功能可能存在一定的差异,本实施例对此不加以限制。
S820,安装所述启动器。
响应于该安装指令,可以将启动器存储至指定的安装目录中,并将该启动器的快捷方式设置为应用的快捷方式,存放在桌面上、开始菜单里和任务栏上等区域。
S830,分别安装所述至少两个版本的客户端。
响应于该安装指令,可以将至少两个版本的客户端分别存储至指定的安装目录中,至少两个版本的客户端。
在本发明的一个实施例中,客户端包括独立组件与公共组件。
所谓独立组件,可以指单独一个版本的客户端可用的组件。
所谓公共组件,可以指至少两个版本的客户端可用的组件,如系统运行环境组件、解压组件等。
装包包括公共目录与至少两个独立目录。
公共目录存储至少两个客户端共同的公共组件。
至少两个独立目录分别存储至少两个版本的客户端的独立组件。
在本实施例中,将至少两个版本的客户端的独立组件分别安装到至少两个客户端目录中,以及,将至少两个客户端共同的公共组件分别安装到至少两个客户端目录中。
需要说明的是,至少两个客户端共同的公共组件还可以安装到另一个独立的公共目录中,以便在客户端的公共组件出现异常时,从该公共目录读取正常的公共组件,并替换异常的公共组件。
当然,至少两个客户端共同的公共组件也可以不独立存储,以节省占用的存储空间,本实施例对此不加以限制。
在本发明实施例中,应用的安装包包括启动器、至少两个版本的客户端,至少两个版本的客户端分别依赖至少两个版本的系统服务框架,启动器用于启动客户端,在接收到检测针对应用的安装包的安装指令时,安装启动器,分别安装至少两个版本的客户端,通过配置不同版本的客户端,可以根据操作系统中系统服务框架的版本自适应选择启动相应版本的客户端,对于低版本的系统服务框架,可启动低版本的客户度,对于高版本的系统服务框架,可启动高版本的客户度,灵活性高,面对复杂的系统服务框架,依然可以保证应用可兼容不同版本的操作系统的问题。
实施例五
图9为本发明实施例二提供的一种应用处理方法的流程图,本实施例以前述实施例为基础,进一步增加针对不同版本的操作系统中设定可用的系统服务框架的处理操作,该方法具体包括如下步骤:
S910,检测针对应用的安装包的安装指令。
其中,安装包包括启动器、至少两个版本的客户端与安装器。
至少两个版本的客户端分别依赖至少两个版本的系统服务框架。
启动器用于启动所述客户端。
安装器为可执行文件,可以用于按照上述任一应用启动方法安装指定版本的系统服务框架。
S920,检测操作系统的版本。
响应于安装指令,可以执行指定的系统命令,检测当前所处的操作系统的版本。
例如,对于Windows系统,通过“cmd/c ver&pause”或“cmd/c type c:\boot.ini&pause”等命令检测其所处的操作系统的版本。
需要说明的是,如果当前版本的操作系统可安装并运行系统服务框架,如Windows7系统、Windows8系统及Windows8以上的系统,则可继续处理,设定可用的系统服务框架。
此外,如果当前版本的操作系统不可安装或运行系统服务框架,如Windows7以下的系统(如WindowsXP系统),则可生成错误提示信息,向用户提示当前操作系统不支持该应用,结束安装操作。
S930,根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架。
在本实施例中,区分不同版本的操作系统,设定可用的系统服务框架。
所谓可用,可以指已经安装并可正常运行的系统服务框架。
如果在操作系统中已安装系统服务框架并且该系统服务框架可正常运行,此时,可继续执行安装操作(如S840-S860)。
如果在操作系统中未安装系统服务框架,或者,已安装系统服务框架但该系统服务框架不可正常运行,此时,可修复运行环境,重新安装指定版本的系统服务框架,并继续执行安装操作(如S940-S960)。
在本发明的一个实施例中,操作系统的版本包括第一系统版本或第二系统版本,系统服务框架的版本包括第一框架版本或第二框架版本。
在第一系统版本的操作系统中适于安装第一框架版本的系统服务框架或第二框架版本的系统服务框架。
在第二系统版本的操作系统中适于安装第二框架版本的系统服务框架。
对于Windows系统,第一系统版本包括Windows7系统,第二系统版本包括Windows8系统及Windows8系统以上的操作系统。
第一框架版本的系统服务框架包括.NET Framework 3.5,第二框架版本的系统服务框架包括.NET Framework 4.5。
相对应地,一个客户端依赖.NET Framework 3.5,另一个客户端依赖.NETFramework 4.5。
在本实施例中,如图10A所示,S930可以包括如下步骤:
S9301、针对所述第一系统版本,在注册表中检测系统服务框架的根安装项。
S9302、判断所述根安装项是否为空;若是,则执行S9303,若否,则执行S9304。
S9303、将所述系统服务框架的安装目录的值写入所述根安装项中。
如果检测到当前的操作系统的版本为第一系统版本(如Windows7系统),则可以在注册表中检测系统服务框架的根安装项,并判断其是否为空。
对于不同版本的系统服务框架,在注册表中使用同一个根安装项,在此根安装项下,使用不同的子安装项。
对于.NET Framework,其根安装项为InstallRoot,路径为“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\.NET Framework\\”,键值为InstallRoot。
如果根安装项为空,则可以将当前操作系统中的系统服务框架的安装目录的值写入该根安装项中,其安装目录的值一般为“C:\Windows\Microsoft.NET\Framework\”,继续执行S9304。
如果根安装项不为空,则直接执行S9304。
S9304、针对所述第一系统版本,检测至少两个版本的系统服务框架的合法性。
如果系统服务框架的根安装项合法,则可以继续检测系统服务框架自身的合法性。
需要说明的是,本实施例可以按照任一顺序检测不同版本的系统服务框架的合法性,对此不加以限制。
对于系统服务框架的版本包括第一框架版本或第二框架版本的情形,可以先检测第一框架版本的系统服务框架的合法性,再检测第二框架版本的系统服务框架的合法性;也可以先检测第二框架版本的系统服务框架的合法性,再检测第一框架版本的系统服务框架的合法性;还可以同时检测第一框架版本的系统服务框架的合法性与第二框架版本的系统服务框架的合法性。
例如,若第一框架版本的系统服务框架为.NET Framework 3.5,第二框架版本的系统服务框架为.NET Framework 4.5,则可以先检测.NET Framework 4.5的合法性,再检测.NET Framework 3.5的合法性;也可以先检测.NET Framework 3.5的合法性,再检测.NET Framework 4.5的合法性;还可以同时检测.NETFramework 3.5的合法性与.NETFramework 4.5的合法性。
具体而言,对于第二框架版本的系统服务框架,则可以判断第二框架版本的系统服务框架是否满足预设的第一条件、第二条件与第三条件。
若是,则确定第二框架版本的系统服务框架合法;
若否,则确定第二框架版本的系统服务框架非法。
其中,第一条件为注册表中的第一子安装项大于或等于第一阈值,第二条件为第一安装路径存在,第三条件为第一安装目录的体积大于或等于第二阈值。
以.NET Framework 4.5作为第二框架版本的系统服务框架的示例:
1、针对第一条件:
在注册表中,可检测.NET Framework 4.5得到第一字安装项,一般为“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\”,键值为Release,如果第一子安装项大于或等于378389(第一阈值),则操作系统已安装.NETFramework 4.5,否则,表示操作系统未安装.NET Framework 4.5。
2、针对第二条件:
在设备中,可读取.NET Framework 4.5的第一安装目录,一般为“C:\Windows\Microsoft.NET\Framework\v4.xxx”(在不同的设备中,其第一安装路径可能有所不同,可根据情况自行更改),如果.NET Framework 4.5的第一安装目录存在,则.NET Framework4.5可用,否则,.NET Framework 4.5不可用。
3、针对第三条件:
在设备中,可计算.NET Framework 4.5的第一安装目录的体积,如果第一安装目录的体积大于或等于150M(第二阈值),则.NET Framework 4.5可用,否则,.NET Framework4.5不可用。
需要说明的是,第一条件、第二条件与第三条件的判断顺序可以由本领域技术人员根据实际情况进行设定,本实施例对此不加以限制。
在一个示例中,如图4所示,判断是顺序如下:
在S410中,检测第一子安装项。
在S420中,判断第一子安装项是否大于或等于第一阈值;若是,则执行S430,若否,则执行S480。
在S430中,读取第一安装目录。
在S440中,判断第一安装目录是否存在;若是,则执行S450,若否,则执行S480。
在S450中,计算第一安装目录的体积。
在S460中,判断体积是否大于或等于第二阈值;若是,则执行S470,若否,则执行S480。
在S470中,确定第二框架版本的系统服务框架合法。
在S480中,确定第二框架版本的系统服务框架非法。
对于第一框架版本的系统服务框架,则可以判断第一框架版本的系统服务框架是否满足预设的第四条件、第五条件与第六条件。
若是,则确定第一框架版本的系统服务框架合法。
若否,则确定第一框架版本的系统服务框架非法。
其中,第四条件为注册表中的第二子安装项非空,第五条件为第二安装目录存在,第六条件为第二安装目录的体积大于第三阈值。
以.NET Framework 3.5作为第一框架版本的系统服务框架的示例:
1、针对第四条件:
在注册表中,可检测.NET Framework 3.5得到第二字安装项,一般为“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v3.5\\”,键值为Version,如果第一子安装项非空,则.NET Framework 3.5可用,否则,.NET Framework 3.5不可用。
2、针对第五条件:
在设备中,可读取.NET Framework 3.5的第二安装目录,一般为“C:\Windows\Microsoft.NET\Framework\v3.5”(在不同的设备中,其第一安装路径可能有所不同,可根据情况自行更改),如果.NET Framework 3.5的第二安装目录存在,则.NET Framework 3.5可用,否则,.NET Framework 3.5不可用。
3、针对第六条件:
在设备中,可计算.NET Framework 3.5的第二安装目录的体积,如果第二安装目录的体积大于5M(第二阈值),则.NET Framework 3.5可用,否则,.NET Framework 3.5不可用。
需要说明的是,第四条件、第五条件与第六条件的判断顺序可以由本领域技术人员根据实际情况进行设定,本实施例对此不加以限制。
在一个示例中,如图5所示,判断是顺序如下:
在S510中,检测第二子安装项。
在S520中,判断第二子安装项是否为空;若是,则执行S580,若否,则执行S530。
在S530中,读取第二安装目录。
在S540中,判断第二安装目录是否存在;若是,则执行S550,若否,则执行S580。
在S550中,计算第二安装目录的体积。
在S560中,判断体积是否大于第三阈值;若是,则执行S570,若否,则执行S580。
在S570中,确定第一框架版本的系统服务框架合法。
在S580中,确定第一框架版本的系统服务框架非法。
S9305、若至少一个版本的系统服务框架合法,则确定所述系统服务框架为可用的系统服务框架。
S9306、若所述至少两个版本的系统服务框架非法,则调用所述安装器安装指定版本的系统服务框架,并确定所述系统服务框架为可用的系统服务框架。
如果检测到所有版本的系统服务框架非法,则启动器可以启动安装器,由该安装器安装指定版本的系统服务框架,并确定安装器安装的系统服务框架为可用的系统服务框架。
在本实施例中,如图10B所示,S930可以包括如下步骤:
S9307、针对所述第二系统版本,确定适于在所述第二系统版本的操作系统中安装的系统服务框架为可用的系统服务框架。
如果检测到当前的操作系统的版本为第二系统版本(如Windows8系统及Windows8系统以上的操作系统),由于第二系统版本的操作系统内置第二框架版本的系统服务框架,因此,可直接记录适于在第二系统版本的操作系统中安装的系统服务框架为可用的系统服务框架。
S940,安装所述启动器。
S950,分别安装所述至少两个版本的客户端。
S960,安装所述安装器。
响应于该安装指令,可以将安装器存储至指定的安装目录中。
实施例六
图11为本发明实施例六提供的一种应用处理装置的结构示意图,所述应用包括启动器、至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述装置应用在所述启动器中,该装置具体可以包括如下模块:
系统版本检测模块1110,用于检测所述应用所处操作系统的版本;
系统服务框架设定模块1120,用于根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架;
客户端启动模块1130,用于启动依赖所述系统服务框架的客户端。
在本发明的一个实施例中,所述应用还具有安装器,所述操作系统的版本包括第一系统版本或第二系统版本;
所述系统服务框架设定模块1120包括:
框架合法性检测子模块,用于针对所述第一系统版本,按照预设的顺序检测所述至少两个版本的系统服务框架的合法性;
合法框架确定子模块,用于若所述系统服务框架合法,则确定所述系统服务框架为可用的系统服务框架;
非法框架安装子模块,用于若所述系统服务框架非法,则调用所述安装器安装指定版本的系统服务框架,并确定所述系统服务框架为可用的系统服务框架;
或者,
版本框架确定子模块,用于针对所述第二系统版本,确定适于在所述第二系统版本的操作系统中安装的系统服务框架为可用的系统服务框架。
在本发明的一个实施例中,所述系统服务框架的版本包括第一框架版本或第二框架版本;
在所述第一系统版本的操作系统中适于安装所述第一框架版本的系统服务框架或所述第二框架版本的系统服务框架,在所述第二系统版本的操作系统中适于安装所述第二框架版本的系统服务框架;
所述框架合法性检测子模块包括:
第二框架判断单元,用于判断所述第二框架版本的系统服务框架是否满足预设的第一条件、第二条件与第三条件;
第一合法确定单元,用于若满足所述第一条件、所述第二条件与所述第三条件,则确定所述第二框架版本的系统服务框架合法;
第一框架判断单元,用于若不满足所述第一条件、所述第二条件与所述第三条件中的至少一个条件,则判断所述第一框架版本的系统服务框架是否满足预设的第四条件、第五条件与第六条件;
第二合法确定单元,用于若满足所述第四条件、所述第五条件与所述第六条件,则确定所述第一框架版本的系统服务框架合法;
其中,所述第一条件为注册表中的第一子安装项大于或等于第一阈值,所述第二条件为第一安装目录存在,所述第三条件为第一安装目录的体积大于或等于第二阈值;
所述第四条件为注册表中的第二子安装项非空,所述第五条件为第二安装目录存在,所述第六条件为第二安装目录的体积大于第三阈值。
在本发明的一个实施例中,所述非法框架安装子模块包括:
第一错误安装单元,用于若不满足所述第一条件、满足所述第二条件与所述第三条件,则针对所述第二框架版本的系统服务框架生成第一错误提示信息,调用所述安装器安装所述第二框架版本的系统服务框架;
第二错误安装单元,用于若不满足所述第四条件,且满足所述第五条件与所述第六条件,则针对所述第一框架版本的系统服务框架生成第二错误提示信息,调用所述安装器安装所述第二框架版本的系统服务框架;
第三错误安装单元,用于若不满足所述第一条件、所述第二条件与所述第三条件、且不满足所述第四条件、满足所述第五条件与所述第六条件,则生成第三错误提示信息,调用所述安装器安装所述第二框架版本的系统服务框架。
在本发明的一个实施例中,所述系统服务框架设定模块1120还包括:
根安装项检测子模块,用于针对所述第一系统版本,在注册表中检测系统服务框架的根安装项;
根安装项合法判断子模块,用于判断所述根安装项是否合法;若是,则调用所述框架合法性检测子模块;若否,则调用缺失框架安装子模块;
缺失框架安装子模块,用于调用所述安装器安装指定版本的系统服务框架,并确定所述系统服务框架为可用的系统服务框架。
在本发明的一个实施例中,所述可用的系统服务框架存储在启动记录中;所述系统服务框架设定模块1120还包括:
记录读取子模块,用于从所述启动记录读取在所述操作系统中可用的系统服务框架。
本发明实施例所提供的一种应用处理装置可执行本发明任意实施例所提供的一种应用处理方法,具备执行方法相应的功能模块和有益效果。
实施例七
图12为本发明实施例七提供的一种应用处理装置的结构示意图,该装置具体可以包括如下模块:
安装包生成模块1210,用于对应用生成安装包;
其中,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端。
在本发明的一个实施例中,所述客户端包括独立组件与公共组件;
所述安装包包括公共目录与至少两个独立目录,所述公共目录存储所述至少两个客户端共同的公共组件,所述至少两个独立目录分别存储所述至少两个版本的客户端的独立组件;
所述安装包包括安装器,所述安装器用于安装指定版本的系统服务框架。
在本发明的一个实施例中,所述系统服务框架的版本包括第一框架版本与第二框架版本;
所述安装包生成模块1210包括:
源程序生成子模块,用于按照所述第一框架版本的系统服务框架生成源程序;
客户端编译子模块,用于将所述源程序分别编译为依赖所述第一框架版本的系统服务框架的客户端,以及,依赖所述第二框架版本的系统服务框架的客户端。
本发明实施例所提供的一种应用处理装置可执行本发明任意实施例所提供的一种应用处理方法,具备执行方法相应的功能模块和有益效果。
实施例八
图13为本发明实施例八提供的一种应用处理装置的结构示意图,该装置具体可以包括如下模块:
安装指令检测模块1310,用于检测针对应用的安装包的安装指令,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端;
启动器安装模块1320,用于安装所述启动器;
客户端安装模块1330,用于分别安装所述至少两个版本的客户端。
在本发明的一个实施例中,所述客户端包括独立组件与公共组件;
所述安装包包括公共目录与至少两个独立目录,所述公共目录存储所述至少两个客户端共同的公共组件,所述至少两个独立目录分别存储所述至少两个版本的客户端的独立组件;
所述客户端安装模块1330包括:
独立组件安装子模块,用于将所述至少两个版本的客户端的独立组件分别安装到至少两个客户端目录中;
将所述至少两个客户端共同的公共组件分别安装到至少两个客户端目录中。
在本发明的一个实施例中,所述安装包还包括安装器,所述安装器用于安装指定版本的系统服务框架;
所述装置还包括:
安装器安装模块,用于安装所述安装器。
在本发明的一个实施例中,还包括:
系统版本检测模块,用于检测操作系统的版本;
系统服务框架设定模块,用于根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架。
在本发明的一个实施例中,所述安装包还包括安装器,所述操作系统的版本包括第一系统版本或第二系统版本;
所述系统服务框架设定模块包括:
框架合法性检测子模块,用于针对所述第一系统版本,检测所述至少两个版本的系统服务框架的合法性;
合法框架确定子模块,用于若至少一个系统服务框架合法,则确定所述系统服务框架为可用的系统服务框架;
非法框架安装子模块,用于若所述至少两个版本的系统服务框架非法,则调用所述安装器安装指定版本的系统服务框架,并确定所述系统服务框架为可用的系统服务框架;
或者,
版本框架确定子模块,用于针对所述第二系统版本,确定适于在所述第二系统版本的操作系统中安装的系统服务框架为可用的系统服务框架。
在本发明的一个实施例中,所述系统服务框架的版本包括第一框架版本或第二框架版本;
在所述第一系统版本的操作系统中适于安装所述第一框架版本的系统服务框架或所述第二框架版本的系统服务框架,在所述第二系统版本的操作系统中适于安装所述第二框架版本的系统服务框架;
所述框架合法性检测子模块包括:
第二框架判断单元,用于判断所述第二框架版本的系统服务框架是否满足预设的第一条件、第二条件与第三条件;若是,则调用第一合法确定单元,若否,则调用第一非法确定单元;
第一合法确定单元,用于确定所述第一框架版本的系统服务框架合法;
第一非法确定单元,用于确定所述第一框架版本的系统服务框架非法;
或者,
第一框架判断单元,用于判断所述第一框架版本的系统服务框架是否满足预设的第四条件、第五条件与第六条件;若是,则调用第二合法确定单元,若否,则调用第二非法确定单元;
第二合法确定单元,用于确定所述第一框架版本的系统服务框架合法;
第二非法确定单元,用于确定所述第一框架版本的系统服务框架非法;
其中,所述第一条件为注册表中的第一子安装项大于或等于第一阈值,所述第二条件为第一安装目录存在,所述第三条件为第一安装目录的体积大于或等于第二阈值;
所述第四条件为注册表中的第二子安装项非空,所述第五条件为第二安装目录存在,所述第六条件为第二安装目录的体积大于第三阈值。
在本发明的一个实施例中,所述系统服务框架设定模块还包括:
根安装项检测子模块,用于针对所述第一系统版本,在注册表中检测系统服务框架的根安装项;
空项判断子模块,用于判断所述根安装项是否为空;若是,则调用值写入子模块,若否,则调用所述框架合法性检测子模块
值写入子模块,用于将所述系统服务框架的安装目录的值写入所述根安装项中;
本发明实施例所提供的一种应用处理装置可执行本发明任意实施例所提供的一种应用处理方法,具备执行方法相应的功能模块和有益效果。
实施例九
图14为本发明实施例九提供的一种设备的结构示意图,如图14所示,该设备包括处理器1400、存储器1410、输入装置1420和输出装置1430;设备中处理器1400的数量可以是一个或多个,图14中以一个处理器1400为例;设备中的处理器1400、存储器1410、输入装置1420和输出装置1430可以通过总线或其他方式连接,图14中以通过总线连接为例。
存储器1410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的应用处理方法对应的程序指令/模块(例如,如图11所示的系统版本检测模块1110、系统服务框架设定模块1120和客户端启动模块1130,或者,如图12所示的安装包生成模块1210,或者,如图13所示的安装指令检测模块1310、启动器安装模块1320和客户端安装模块1330)。处理器1400通过运行存储在存储器1410中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的应用运行方法。
存储器1410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器1410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器1410可进一步包括相对于处理器1400远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置1420可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置1430可包括显示屏等显示设备。
实施例十
本发明实施例十还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用处理方法;
在一种实施方式中,所述应用包括启动器、至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述方法应用在所述启动器中,该方法包括:
检测所述应用所处操作系统的版本;
根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架;
启动依赖所述系统服务框架的客户端。
在另一种实施方式中,该方法包括:
对应用生成安装包;
其中,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端。
在另一实施例中,该方法包括:
检测针对应用的安装包的安装指令,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端;
安装所述启动器;
分别安装所述至少两个版本的客户端。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述应用处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (18)
1.一种应用处理方法,其特征在于,所述应用包括启动器、至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述方法应用在所述启动器中,包括:
检测所述应用所处操作系统的版本;
根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架;
启动依赖所述系统服务框架的客户端。
2.根据权利要求1所述的方法,其特征在于,所述应用还具有安装器,所述操作系统的版本包括第一系统版本或第二系统版本;
所述根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架,包括:
针对所述第一系统版本,按照预设的顺序检测所述至少两个版本的系统服务框架的合法性;
若所述系统服务框架合法,则确定所述系统服务框架为可用的系统服务框架;
若所述系统服务框架非法,则调用所述安装器安装指定版本的系统服务框架,并确定所述系统服务框架为可用的系统服务框架;
或者,
针对所述第二系统版本,确定适于在所述第二系统版本的操作系统中安装的系统服务框架为可用的系统服务框架。
3.根据权利要求2所述的方法,其特征在于,所述系统服务框架的版本包括第一框架版本或第二框架版本;
在所述第一系统版本的操作系统中适于安装所述第一框架版本的系统服务框架或所述第二框架版本的系统服务框架,在所述第二系统版本的操作系统中适于安装所述第二框架版本的系统服务框架;
所述按照预设的顺序检测所述至少两个版本的系统服务框架的合法性,包括:
判断所述第二框架版本的系统服务框架是否满足预设的第一条件、第二条件与第三条件;
若满足所述第一条件、所述第二条件与所述第三条件,则确定所述第二框架版本的系统服务框架合法;
若不满足所述第一条件、所述第二条件与所述第三条件中的至少一个条件,则判断所述第一框架版本的系统服务框架是否满足预设的第四条件、第五条件与第六条件;
若满足所述第四条件、所述第五条件与所述第六条件,则确定所述第一框架版本的系统服务框架合法;
其中,所述第一条件为注册表中的第一子安装项大于或等于第一阈值,所述第二条件为第一安装目录存在,所述第三条件为第一安装目录的体积大于或等于第二阈值;
所述第四条件为注册表中的第二子安装项非空,所述第五条件为第二安装目录存在,所述第六条件为第二安装目录的体积大于第三阈值。
4.根据权利要求3所述的方法,其特征在于,所述若所述系统服务框架非法,则调用所述安装器安装指定版本的系统服务框架,包括:
若不满足所述第一条件、满足所述第二条件与所述第三条件,则针对所述第二框架版本的系统服务框架生成第一错误提示信息,调用所述安装器安装所述第二框架版本的系统服务框架;
若不满足所述第四条件,且满足所述第五条件与所述第六条件,则针对所述第一框架版本的系统服务框架生成第二错误提示信息,调用所述安装器安装所述第二框架版本的系统服务框架;
若不满足所述第一条件、所述第二条件与所述第三条件、且不满足所述第四条件、满足所述第五条件与所述第六条件,则生成第三错误提示信息,调用所述安装器安装所述第二框架版本的系统服务框架。
5.根据权利要求2所述的方法,其特征在于,所述根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架,还包括:
针对所述第一系统版本,在注册表中检测系统服务框架的根安装项;
判断所述根安装项是否合法;
若是,则执行所述针对所述第一系统版本,按照预设的顺序检测至少两个版本的系统服务框架的合法性;
若否,则调用所述安装器安装指定版本的系统服务框架,并确定所述系统服务框架为可用的系统服务框架。
6.根据权利要求2所述的方法,其特征在于,所述可用的系统服务框架存储在启动记录中;
所述根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架,还包括:
从所述启动记录读取在所述操作系统中可用的系统服务框架。
7.一种应用处理方法,其特征在于,包括:
对应用生成安装包;
其中,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端。
8.根据权利要求7所述的方法,其特征在于,所述客户端包括独立组件与公共组件;
所述安装包包括公共目录与至少两个独立目录,所述公共目录存储所述至少两个客户端共同的公共组件,所述至少两个独立目录分别存储所述至少两个版本的客户端的独立组件;
所述安装包包括安装器,所述安装器用于安装指定版本的系统服务框架。
9.根据权利要求7或8所述的方法,其特征在于,所述系统服务框架的版本包括第一框架版本与第二框架版本;
所述对应用生成安装包,包括:
按照所述第一框架版本的系统服务框架生成源程序;
将所述源程序分别编译为依赖所述第一框架版本的系统服务框架的客户端,以及,依赖所述第二框架版本的系统服务框架的客户端。
10.一种应用处理方法,其特征在于,包括:
检测针对应用的安装包的安装指令,所述安装包包括启动器与至少两个版本的客户端,所述至少两个版本的客户端分别依赖至少两个版本的系统服务框架,所述启动器用于启动所述客户端;
安装所述启动器;
分别安装所述至少两个版本的客户端。
11.根据权利要求10所述的方法,其特征在于,所述客户端包括独立组件与公共组件;
所述安装包包括公共目录与至少两个独立目录,所述公共目录存储所述至少两个客户端共同的公共组件,所述至少两个独立目录分别存储所述至少两个版本的客户端的独立组件;
所述分别安装所述至少两个版本的客户端,包括:
将所述至少两个版本的客户端的独立组件分别安装到至少两个客户端目录中;
将所述至少两个客户端共同的公共组件分别安装到至少两个客户端目录中。
12.根据权利要求10所述的方法,其特征在于,所述安装包还包括安装器,所述安装器用于安装指定版本的系统服务框架;
所述方法还包括:
安装所述安装器。
13.根据权利要求10-12任一项所述的方法,其特征在于,在所述获取应用的安装包之后,还包括:
检测操作系统的版本;
根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架。
14.根据权利要求13所述的方法,其特征在于,所述安装包还包括安装器,所述操作系统的版本包括第一系统版本或第二系统版本;
所述根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架,包括:
针对所述第一系统版本,检测所述至少两个版本的系统服务框架的合法性;
若至少一个系统服务框架合法,则确定所述系统服务框架为可用的系统服务框架;
若所述至少两个版本的系统服务框架非法,则调用所述安装器安装指定版本的系统服务框架,并确定所述系统服务框架为可用的系统服务框架;
或者,
针对所述第二系统版本,确定适于在所述第二系统版本的操作系统中安装的系统服务框架为可用的系统服务框架。
15.根据权利要求14所述的方法,其特征在于,所述系统服务框架的版本包括第一框架版本或第二框架版本;
在所述第一系统版本的操作系统中适于安装所述第一框架版本的系统服务框架或所述第二框架版本的系统服务框架,在所述第二系统版本的操作系统中适于安装所述第二框架版本的系统服务框架;
所述检测所述至少两个版本的系统服务框架的合法性,包括:
判断所述第二框架版本的系统服务框架是否满足预设的第一条件、第二条件与第三条件;
若是,则确定所述第一框架版本的系统服务框架合法;
若否,则确定所述第一框架版本的系统服务框架非法;
或者,
判断所述第一框架版本的系统服务框架是否满足预设的第四条件、第五条件与第六条件;
若是,则确定所述第一框架版本的系统服务框架合法;
若否,则确定所述第一框架版本的系统服务框架非法;
其中,所述第一条件为注册表中的第一子安装项大于或等于第一阈值,所述第二条件为第一安装目录存在,所述第三条件为第一安装目录的体积大于或等于第二阈值;
所述第四条件为注册表中的第二子安装项非空,所述第五条件为第二安装目录存在,所述第六条件为第二安装目录的体积大于第三阈值。
16.根据权利要求14所述的方法,其特征在于,所述根据所述操作系统的版本在所述操作系统中设定可用的系统服务框架,还包括:
针对所述第一系统版本,在注册表中检测系统服务框架的根安装项;
判断所述根安装项是否为空;
若是,则将所述系统服务框架的安装目录的值写入所述根安装项中;
若否,则执行所述针对所述第一系统版本,检测所述至少两个版本的系统服务框架的合法性。
17.一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-16中任一所述的应用处理方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-16中任一所述的应用处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811367704.7A CN109471630B (zh) | 2018-11-16 | 2018-11-16 | 一种应用处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811367704.7A CN109471630B (zh) | 2018-11-16 | 2018-11-16 | 一种应用处理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109471630A true CN109471630A (zh) | 2019-03-15 |
CN109471630B CN109471630B (zh) | 2021-11-16 |
Family
ID=65673810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811367704.7A Active CN109471630B (zh) | 2018-11-16 | 2018-11-16 | 一种应用处理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109471630B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722894A (zh) * | 2019-03-21 | 2020-09-29 | 成都鼎桥通信技术有限公司 | 应用处理方法、装置及电子设备 |
CN112114988A (zh) * | 2019-06-21 | 2020-12-22 | 顺丰科技有限公司 | 客户端启动方法、装置、终端及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174219A (zh) * | 2006-10-30 | 2008-05-07 | 西门子公司 | 根据使用环境执行和配置应用的方法和系统 |
CN104321745A (zh) * | 2012-02-07 | 2015-01-28 | 泰利瑞克股份公司 | 用于软件应用程序的跨平台开发的环境及方法 |
CN106293763A (zh) * | 2016-08-19 | 2017-01-04 | 广州唯品会信息科技有限公司 | 应用组件版本的管理方法及装置 |
US20170237797A1 (en) * | 2013-03-15 | 2017-08-17 | Intel Corporation | Qos based binary translation and application streaming |
CN107632827A (zh) * | 2016-07-12 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 应用的安装包的生成方法及装置 |
CN109241035A (zh) * | 2018-08-28 | 2019-01-18 | 福建南威软件有限公司 | 一种自定义脚本实现数据库的自动部署方法 |
-
2018
- 2018-11-16 CN CN201811367704.7A patent/CN109471630B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174219A (zh) * | 2006-10-30 | 2008-05-07 | 西门子公司 | 根据使用环境执行和配置应用的方法和系统 |
CN104321745A (zh) * | 2012-02-07 | 2015-01-28 | 泰利瑞克股份公司 | 用于软件应用程序的跨平台开发的环境及方法 |
US20170237797A1 (en) * | 2013-03-15 | 2017-08-17 | Intel Corporation | Qos based binary translation and application streaming |
CN107632827A (zh) * | 2016-07-12 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 应用的安装包的生成方法及装置 |
CN106293763A (zh) * | 2016-08-19 | 2017-01-04 | 广州唯品会信息科技有限公司 | 应用组件版本的管理方法及装置 |
CN109241035A (zh) * | 2018-08-28 | 2019-01-18 | 福建南威软件有限公司 | 一种自定义脚本实现数据库的自动部署方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722894A (zh) * | 2019-03-21 | 2020-09-29 | 成都鼎桥通信技术有限公司 | 应用处理方法、装置及电子设备 |
CN111722894B (zh) * | 2019-03-21 | 2023-04-18 | 成都鼎桥通信技术有限公司 | 应用处理方法、装置及电子设备 |
CN112114988A (zh) * | 2019-06-21 | 2020-12-22 | 顺丰科技有限公司 | 客户端启动方法、装置、终端及存储介质 |
CN112114988B (zh) * | 2019-06-21 | 2023-03-31 | 顺丰科技有限公司 | 客户端启动方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109471630B (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109960541B (zh) | 启动小程序的方法、设备和计算机存储介质 | |
KR100647958B1 (ko) | 휴대 단말기에서의 홈 스크린 제공 장치 및 방법 | |
US9477570B2 (en) | Monitoring software provisioning | |
CN110147326B (zh) | 基于Redis数据库的微服务自动化测试方法 | |
CN104685469A (zh) | 用于web应用程序的后台应用程序页面架构 | |
US20120278796A1 (en) | Automatically installing device drivers | |
CN111385633B (zh) | 一种基于语音的资源搜索方法、智能终端及存储介质 | |
CN110750415B (zh) | 接口服务配置方法、装置、介质和计算机设备 | |
CN109471630A (zh) | 一种应用处理方法和设备 | |
CN108008962A (zh) | 一种Linux系统下PXE服务器的配置方法和系统 | |
US20040193738A1 (en) | System and method for configuring hardware devices using a menu for platforms with EFI and legacy option-roms | |
CN110489305B (zh) | 一种服务器管理方法及装置 | |
CN109857537B (zh) | 后台服务启动方法、装置、介质及电子设备 | |
CN113220403B (zh) | h5拦截Android返回事件的方法、装置及电子设备 | |
CN103761020A (zh) | 一种快捷导航的方法和装置 | |
US20070074202A1 (en) | Program product installation | |
CN103645913A (zh) | J2ee系统中的语言加载方法及装置 | |
CN110825370B (zh) | 移动端应用开发方法、装置及系统 | |
CN109840113B (zh) | 一种应用数据处理方法及其设备、存储介质、终端 | |
CN109558182A (zh) | 基于插件的信息推广方法、电子设备及计算机存储介质 | |
CN113986385A (zh) | 项目字体库加载方法、装置、电子设备及存储介质 | |
CN113050962B (zh) | 移动服务升级方法、装置和终端 | |
CN109408155B (zh) | 应用启动方法和装置 | |
CN116383091B (zh) | eMMC验证平台的启动方法、启动装置及存储介质 | |
CN113782021B (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 |