一种软件安装方法、装置和系统的制作方法

文档序号:6371941阅读:133来源:国知局
专利名称:一种软件安装方法、装置和系统的制作方法
技术领域
本发明实施方式涉及软件管理技术领域,更具体地,涉及一种软件安装方法、装置和系统。
背景技术
随着计算机技术和网络技术的飞速发展,互联网(Internet)技术在人们的日常生活、学习和工作中发挥的作用也越来越大。而且,网络上各种软件层出不穷,间接也促使了软件管理类软件的日益发展。软件管理类软件是一种集软件下载和管理于一体的工具,其功能主要分为检测、下载、安装和卸载软件四个部分。在目前的各种软件管理类软件中,在软件安装模块基本采用了同样的技术,即当一款软件从下载队列中完成移出后,将插入至待安装队列中等待安装。对于待安装队列内的软件,每次取一款软件进行串行安装,即当安装队列不为空时,有且只有一款软件处于安装状态中,其它软件的安装必须等当前软件安装完成后才能进行。然而,随着目前市场上互联网接入带宽的持续提高,软件的下载速度越来越快,这意味着可能同时有多款软件处于待安装状态。在这种情况下,如果依然执行串行安装则会降低安装效率。而且,在某些场景下,用户触发安装包后可能会遗忘继续操作安装过程(比如用户此时正在操作其它界面或者软件),导致安装窗口被当前活跃窗口挡住。然而,安装包却还会一直等待用户输入,这就导致整个安装流程时间冗长。

发明内容
本发明实施方式提出一种软件安装方法,以提高软件安装效率。本发明实施方式还提出了一种软件安装装置,以提高软件安装效率本发明实施方式还提出了一种软件安装系统,以提高软件安装效率。本发明实施方式的具体方案如下一种软件安装方法,该方法包括下载软件安装包;确定该软件安装包的类型;如果该软件安装包的类型不是微软安装程序包(MSI)时,以并行软件安装的方式安装该软件安装包;如果该软件安装包类型是MSI,以串行软件安装的方式安装该软件安装包。一种软件安装装置,该装置包括软件安装包下载单元、软件安装包类型确定单元和软件安装单元,其中软件安装包下载单元,用于下载软件安装包;软件安装包类型确定单元,用于确定该软件安装包的类型;软件安装单元,用于当该软件安装包的类型不是微软安装程序包(MSI)时,以并行软件安装的方式安装该软件安装包;当该软件安装包类型是MSI时,以串行软件安装的方式安装该软件安装包。一种软件安装系统,该系统包括通过互联网连接的服务器和客户端,其中服务器,用于确定软件安装包的类型,并向客户端提供软件安装包;客户端,用于当该软件安装包类型不是MSI时,以并行软件安装的方式安装该软件安装包;当该软件安装包类型是MSI时,以串行软件安装的方式安装该软件安装包。从上述技术方案可以看出,在本发明实施方式中,在下载完软件安装包之后,首先确定该软件安装包的类型;当该软件安装包的类型不是微软安装程序包(MSI)时,以并行软件安装的方式安装该软件安装包;当该软件安装包类型为MSI时,以串行软件安装的方式安装该软件安装包。由此可见,应用本发明实施方式以后,对MSI和非MSI类型的安装包进行区别对待。对于MSI类型的安装包执行串行安装;对于非MSI类型的安装包可以执行并行安装。本发明实施方式通过对非MSI类型的安装包执行并行安装,可以解决用户安装 软件过程中等待时间长的缺陷,可以提高软件安装效率。而且,在本发明实施方式中,软件并行安装的过程中每个满足条件的安装包都会在开始安装时激活自己的窗口,避免用户在忙于其它操作时遗忘对于软件安装过程中的输入。因此,本发明实施方式还可以避免安装时间的浪费。


图I是根据本发明实施方式的软件安装方法流程图;图2是根据本发明实施方式的软件安装方法示范性实例流程图;图3是根据本发明实施方式的软件安装装置结构图;图4是根据本发明实施方式的软件安装系统结构图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。经过分析,现有技术中软件管理类软件中没有使用并行安装的主要原因是对于MSI安装工具制作的软件,如果同时运行多个MSI制作的安装包,则只有第一个运行的MSI安装包可以正常安装,其它的MSI安装包都会弹出错误提示对话框。针对上述问题,在本发明实施方式中,按照安装包的具体类型对安装包进行区分。t匕如,可以将软件安装包分为俩类MSI类型和非MSI类型。对于MSI类型的安装包,执行串行安装。对于非MSI类型的软件安装包,则可以执行并行安装。图I是根据本发明实施方式的软件安装方法流程图。 如图I所示,该方法包括步骤101 :下载软件安装包。用户可以通过多种途径从互联网中下载软件安装包。软件安装包通常是自行解压缩文件的集合,其中包括软件安装的所有文件。运行软件安装包(软件安装包通常是可执行文件),可以将此软件的所有文件释放到硬盘上,完成修改注册表、修改系统设置、创建快捷方式等工作。目前,安装包文件多为exe格式。
具体地,可以通过HTTP下载方式、FTP下载方式、BT下载方式、cdn专用下载器、媒体下载等多种下载方式下载软件安装包。其中,HTTP下载方式和FTP下载方式是目前较为常见的现在方式。HTTP和FTP是两种网络传输协议的缩写,FTP是文件传输协议(FileTransportation Protocol)的缩写,而HTTP则是超文本传输协议(Hyper TextTransportation Protocol)的缩写,它们是计算机之间交换数据的方式,也是两种最经典的文件下载方式。在进行FTP或者HTTP下载之前,用户需要获得有效的资源链接或者服务器地址,然后通过连接该资源链接或者服务器地址来获取软件安装包。步骤102 :确定该软件安装包的类型。当一款软件下载完成后,首先需要分析该软件安装包的类型,区分是否为MSI格 式。对于MSI类型的软件安装包,需要保持最多只有一个该类型的安装包在运行;对于非MSI类型的软件安装包,可以立刻运行该软件安装包执行并行安装。软件安装包本质上是一个可执行的二进制文件(.exe)。可以通过分析分析软件安装包文件头来判断安装包类型。具体包括首先提取软件安装包的文件头,然后根据所提取的文件头中的特征值查询该特征值在数据库中对应的安装包类型,从而确定该软件安装包的类型。举例对于NSIS制作的安装包,在安装包文件头中会包含“Nullsoftlnst”字符串以表示这是根据NSIS技术制作的安装包。对于MSI制作的安装包则包含“WindowsInstaller”字符串以表示这是根据MSI技术制作的安装包。MSI文件是微软安装器(Windows Installer)的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息如安装序列、目标文件夹路径、系统依赖项、安装选项和控制安装过程的属性。表I为安装包类型与文件头特征值的对比表。表I
权利要求
1.一种软件安装方法,其特征在于,该方法包括 下载软件安装包; 确定该软件安装包的类型; 如果该软件安装包的类型不是微软安装程序包(MSI),以并行软件安装的方式安装该软件安装包;如果该软件安装包类型是MSI,以串行软件安装的方式安装该软件安装包。
2.根据权利要求I所述的软件安装方法,其特征在于,所述以串行软件安装的方式安装该软件安装包包括 判断当前是否正在执行MSI类型的软件安装包安装任务,如果是则等待该正在执行的MSI类型的软件安装包安装任务完成; 当该正在执行的MSI类型的软件安装包安装任务完成之后,再安装所述MSI类型的软件安装包。
3.根据权利要求I所述的软件安装方法,其特征在于,所述以并行软件安装的方式安装该软件安装包包括 无论当前是否正在执行软件安装包安装任务,直接安装该软件安装包。
4.根据权利要求I所述的软件安装方法,其特征在于,所述确定软件安装包的类型包括 由提供该软件安装包的服务器确定该软件安装包的类型,或者由下载该软件安装包的客户端确定该软件安装包的类型。
5.根据权利要求I所述的软件安装方法,其特征在于,所述确定软件安装包的类型包括 提取软件安装包的文件头; 获取该文件头的特征值,并查询数据库中该特征值对应的安装包类型,从而确定该软件安装包的类型。
6.根据权利要求5所述的软件安装方法,其特征在于, 所述根据所提取的文件头中的特征值确定软件安装包的类型包括 当所提取的文件头中的特征值为Windows Installer时,确定该软件安装包的类型为MSI ; 当所提取的文件头中的特征值不为Windows Installer时,确定该软件安装包的类型不为MSI。
7.根据权利要求I所述的软件安装方法,其特征在于,在确定该软件安装包的类型之后,该方法进一步包括解析该软件安装包的辅助特征,以校验该软件安装包的类型。
8.根据权利要求7所述的软件安装方法,其特征在于,所述软件安装包的辅助特征包括软件安装过程中的窗口样式和/或软件安装过程中的窗口类名。
9.一种软件安装装置,其特征在于,该装置包括软件安装包下载单元、软件安装包类型确定单元和软件安装单元,其中 软件安装包下载单元,用于下载软件安装包; 软件安装包类型确定单元,用于确定该软件安装包的类型; 软件安装单元,用于当该软件安装包的类型不是微软安装程序包(MSI)时,以并行软件安装的方式安装该软件安装包;当该软件安装包类型是MSI时,以串行软件安装的方式安装该软件安装包。
10.根据权利要求9所述的软件安装装置,其特征在于, 所述软件安装单元,用于当该软件安装包类型为MSI时,判断当前是否正在执行MSI类型的软件安装包安装任务,如果是则等待该正在执行的MSI类型的软件安装包安装任务完成;当该正在执行的MSI类型的软件安装包安装任务完成之后,再安装所述MSI类型的软件安装包。
11.根据权利要求9所述的软件安装装置,其特征在于, 所述软件安装单元,用于当该软件安装包的类型不是MSI时,无论当前是否正在执行 软件安装包安装任务,直接安装该软件安装包。
12.根据权利要求9所述的软件安装装置,其特征在于, 所述软件安装包类型确定单元,用于提取软件安装包的文件头,获取该文件头的特征值,并查询数据库中该特征值对应的安装包类型,从而确定该软件安装包的类型。
13.根据权利要求12所述的软件安装装置,其特征在于, 所述软件安装包类型确定单元,用于当所提取的文件头中的特征值为WindowsInstaller时,确定该软件安装包的类型为MSI;当所提取的文件头中的特征值不为Windows Installer时,确定该软件安装包的类型不为MSI。
14.根据权利要求9所述的软件安装装置,其特征在于,该系统进一步包括校验单元; 所述校验单元,用于在软件安装包类型确定单元确定出该软件安装包的类型之后,解析该软件安装包的辅助特征以校验该软件安装包的类型。
15.根据权利要求14所述的软件安装装置,其特征在于,所述软件安装包的辅助特征包括软件安装过程中的窗口样式和/或软件安装过程中的窗口类名。
16.一种软件安装系统,其特征在于,该系统包括通过互联网连接的服务器和客户端,其中 服务器,用于确定软件安装包的类型,并向客户端提供软件安装包; 客户端,用于当该软件安装包类型不是MSI时,以并行软件安装的方式安装该软件安装包;当该软件安装包类型是MSI时,以串行软件安装的方式安装该软件安装包。
17.根据权利要求16所述的软件安装系统,其特征在于, 所述客户端,用于当该软件安装包类型为MSI时,判断当前是否正在执行MSI类型的软件安装包安装任务,如果是则等待该正在执行的MSI类型的软件安装包安装任务完成;当该正在执行的MSI类型的软件安装包安装任务完成之后,再安装所述MSI类型的软件安装包。
18.根据权利要求16所述的软件安装系统,其特征在于, 所述客户端,用于当该软件安装包的类型不是MSI时,无论当前是否正在执行软件安装包安装任务,直接安装该软件安装包。
19.根据权利要求16所述的软件安装系统,其特征在于,所述服务器,用于提取软件安装包的文件头,获取该文件头的特征值,并查询数据库中该特征值对应的安装包类型,从而确定该软件安装包的类型。
20.根据权利要求19所述的软件安装系统,其特征在于, 所述服务器,用于当所提取的文件头中的特征值为Windows Installer时,确定该软件安装包的类型为MSI ;当所提取的文件头中的特征值不为Windows Installer时,确定该软件安装包的类型不为MSI。
21.根据权利要求16所述的软件安装系统,其特征在于,所述服务器,进一步用于在确定该软件安装包的类型之后,解析该软件安装包的辅助特征以校验该软件安装包的类型。
22.根据权利要求21所述的软件安装系统,其特征在于,所述软件安装包的辅助特征包括软件安装过程中的窗口样式和/或软件安装过程中的窗口类名。全文摘要
本发明实施方式提出了一种软件安装方法、装置和系统。方法包括下载软件安装包;确定该软件安装包的类型;如果该软件安装包的类型不是微软安装程序包(MSI),以并行软件安装的方式安装该软件安装包;如果该软件安装包类型是MSI,以串行软件安装的方式安装该软件安装包。本发明实施方式可以提高软件安装效率,节省安装时间。
文档编号G06F9/445GK102736939SQ20121020973
公开日2012年10月17日 申请日期2012年6月25日 优先权日2012年6月25日
发明者拓鑫, 李世平 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1