一种软件安装包的安装方法及安装装置与流程

文档序号:12270995阅读:335来源:国知局
一种软件安装包的安装方法及安装装置与流程

技术领域

本方案适用于无线通信领域,尤其涉及一种软件安装包的制作方法。



背景技术:

如图1所示,现有的软件安装包主要由两部分组成,第一部分(即Packages(包)部分)中包括应用程序(App)部分,在需要的时候还包括驱动(Drv)部分,其中,App部分由使用开发工具编译出来的UI(User Interface,用户界面)编译程序及运行UI编译程序(亦可称为开发该软件安装包)所需要的UI支持库文件组成,Drv部分由设备驱动安装包构成;第二部分(即Resources(资源)部分)由UI支持相关部分及执行脚本组成,其中,UI支持相关部分中包括安装该软件所需要的图片、声音、多语言支持库等文件,执行脚本用于控制Packages部分被安装到终端设备上后需要执行的相关动作,如改变系统设置或根据系统情况设置UI启动、运行等相关动作。

当前,电信领域日新月异,无线终端设备的PC管理软件需要支持多个操作系统(如主流操作系统Windows、Mac和Linux)。跨平台语言是很好的选择,但是这些语言对操作系统不同版本的支持不足,因此为了兼容,需要将所用语言的支持库打入安装包。这就带来了安装包很大、无法满足实际应用需要的问题。



技术实现要素:

本发明要解决的技术问题提供一种软件安装包的安装方法及安装装置,以有效地提高安装效率,节省终端的资源。

为解决上述问题,本发明提供了一种软件安装包的安装方法,包括:

进一步地,上述安装方法还可具有以下特征:

制作包括包Packages部分和资源Resources部分的软件安装包,所述Packages部分包括用户界面UI编译程序和UI支持库,所述Resources部分包括UI支持相关库和UI支持动态库,所述UI支持动态库为所有支持库文件中压缩后占用空间最大的一类支持库文件;

将所述Packages部分安装到终端上;

判断终端当前系统中是否有所需的所有支持库文件,如有,则直接安装所述UI支持相关库,启动UI编译程序;否则,将所述UI支持动态库拷贝到终端本地,解压所述UI支持库和UI支持动态库,安装所述UI支持相关库,启动UI编译程序。

进一步地,上述安装方法还可具有以下特征:

在所述软件安装包的制作过程中,将开发该软件所需的多个支持库文件按照文件类型进行划分,将同类支持库文件压缩在一起;

在制作Packages部分时,将除了压缩后占用空间最大的一类支持库文件之外的其它类压缩后的支持库文件作为所述UI支持库,连同用户界面UI编译程序一起制作成应用程序App部分;在制作Resources部分时,将所述压缩后占用空间最大的一类支持库文件作为所述UI支持动态库,添加到所述Resources部分。

进一步地,上述安装方法还可具有以下特征:

在制作Resources部分时,将执行脚本添加到所述Resources部分,所述执行脚本用于在Packages部分被安装到终端上后需要执行的相关动作;

在制作Resources部分时,将能解压缩所述压缩后的同类支持库文件的解压缩软件添加到所述Resources部分。

进一步地,上述安装方法还可具有以下特征:

所述将能解压缩所述压缩后的同类支持库文件的解压缩软件添加到所述Resources部分是指:将7z压缩软件添加到所述Resources部分;

所述将同类支持库文件压缩在一起是指:利用7z压缩软件将同类支持库文件压缩在一起。

进一步地,上述安装方法还可具有以下特征:

所述判断终端当前系统中是否有所需的所有支持库文件具体包括:

通过判断注册表或系统路径下是否存在所需的所有支持库文件。

进一步地,上述安装方法还可具有以下特征:

制作Packages部分包括:

根据所在系统所使用语言的开发工具配置开发编译环境,并安装开发所需要的支持软件;

对开发出的应用程序代码进行编译后得到UI编译程序;

将开发机器上安装的开发支持软件进行裁剪得到支持库文件;

将上述支持库文件按照文件类型进行划分;

采用压缩率高的压缩软件分别将划分出的同类支持库文件压缩在一起;

使用安装包制作工具将除了压缩后占用空间最大的一类支持库文件之外的其它类压缩后的支持库文件与UI编译程序一起制作成App安装包。

进一步地,上述安装方法还可具有以下特征:

制作Resources部分包括:

将开发机器上安装的开发支持软件进行裁剪得到支持库文件;

将支持库文件按照文件类型进行划分;

采用压缩率高的压缩软件分别将划分出的同类支持库文件压缩在一起,获得压缩后占用空间最大的一类支持库文件,作为所述UI支持动态库;

获取UI支持相关库;

获取压缩过程对应的解压缩软件;

将所述解压缩软件、UI支持相关库、UI支持动态库及人工编写的执行脚本添加到Resources部分。

为解决上述问题,本发明还提供了一种软件安装包的安装装置,包括:

制作模块,用于制作包括包Packages部分和资源Resources部分的软件安装包,所述Packages部分包括用户界面UI编译程序和UI支持库,所述Resources部分包括UI支持相关库和UI支持动态库,所述UI支持动态库为所有支持库文件中压缩后占用空间最大的一类支持库文件;

安装模块,用于将所述Packages部分安装到终端上,并判断终端当前系统中是否有所需的所有支持库文件,如有,则直接安装所述UI支持相关库,启动UI编译程序;否则,将所述UI支持动态库拷贝到终端本地,解压所述UI支持库和UI支持动态库,安装所述UI支持相关库,启动UI编译程序。

进一步地,上述安装装置还可具有以下特征:

所述制作模块在所述软件安装包的制作过程中,将开发该软件所需的多个支持库文件按照文件类型进行划分,将同类支持库文件压缩在一起;在制作Packages部分时,将除了压缩后占用空间最大的一类支持库文件之外的其它类压缩后的支持库文件作为所述UI支持库,连同用户界面UI编译程序一起制作成应用程序App部分;在制作Resources部分时,将所述压缩后占用空间最大的一类支持库文件作为所述UI支持动态库,添加到所述Resources部分。

进一步地,上述安装装置还可具有以下特征:

所述制作模块在制作Resources部分时,将执行脚本添加到所述Resources部分,所述执行脚本用于在Packages部分被安装到终端上后需要执行的相关动作;在制作Resources部分时,将能解压缩所述压缩后的同类支持库文件的解压缩软件添加到所述Resources部分。

进一步地,上述安装装置还可具有以下特征:

所述将能解压缩所述压缩后的同类支持库文件的解压缩软件添加到所述Resources部分是指:将7z压缩软件添加到所述Resources部分;

所述将同类支持库文件压缩在一起是指:利用7z压缩软件将同类支持库文件压缩在一起。

进一步地,上述安装装置还可具有以下特征:

所述判断终端当前系统中是否有所需的所有支持库文件具体包括:

通过判断注册表或系统路径下是否存在所需的所有支持库文件。

进一步地,上述安装装置还可具有以下特征:

所述制作模块制作Packages部分包括:

根据所在系统所使用语言的开发工具配置开发编译环境,并安装开发所需要的支持软件;

对开发出的应用程序代码进行编译后得到UI编译程序;

将开发机器上安装的开发支持软件进行裁剪得到支持库文件;

将上述支持库文件按照文件类型进行划分;

采用压缩率高的压缩软件分别将划分出的同类支持库文件压缩在一起;

使用安装包制作工具将除了压缩后占用空间最大的一类支持库文件之外的其它类压缩后的支持库文件与UI编译程序一起制作成App安装包。

进一步地,上述安装装置还可具有以下特征:

所述制作模块制作Resources部分包括:

将开发机器上安装的开发支持软件进行裁剪得到支持库文件;

将支持库文件按照文件类型进行划分;

采用压缩率高的压缩软件分别将划分出的同类支持库文件压缩在一起,获得压缩后占用空间最大的一类支持库文件,作为所述UI支持动态库;

获取UI支持相关库;

获取压缩过程对应的解压缩软件;

将所述解压缩软件、UI支持相关库、UI支持动态库及人工编写的执行脚本添加到Resources部分。

采用本发明后,可以有效地提高安装效率,节省终端的资源。

附图说明

图1为现有技术中软件安装包的组织结构图;

图2为本发明实施例中软件安装包的组织结构图;

图3为本发明实施例中Packages部分的构造流程图;

图4为本发明实施例中Resources部分的构造流程图。

图5为本发明实施例中执行脚本控制的安装过程的流程图;

图6为本发明实施例中软件安装过程的流程图。

具体实施方式

将同类文件放在一起进行压缩时,压缩比率最大。因此,根据此规则,本发明所述方法的基本构思是:在软件安装包的制作过程中,将开发该软件所需的多个支持库文件按照文件类型进行划分,然后将同类支持库文件压缩在一起,并将压缩后的同类支持库文件放在软件安装包的同一部分中。其中,本发明所指同类文件为文件名后缀相同的文件。

根据在执行脚本中易于控制的文件在安装时易于解压缩这一原则,将压缩后的同类支持库文件放在软件安装包的同一部分中可通过下述方式实现:在制作Packages部分时,将除了压缩后占用空间最大的一类支持库文件之外的其它类支持库文件连同UI编译程序一起制作成App部分;在制作Resources部分时,将上述压缩后占用空间最大的一类支持库文件添加到Resources部分。如图2所示,经过划分压缩后,UI支持库文件被分为三部分,其中一部分保存在第一UI支持库中,另一部分保存在第二UI支持库中,占用空间最大的那部分保存在UI支持库动态库中。

由于在制作软件安装包过程中对支持库文件进行了压缩操作,那么在安装该软件包的过程中就需要对这些支持库文件进行解压缩操作。因此,为了便于用户的使用,还可以在制作Resources部分时,将能解压缩上述压缩文件的解压缩软件一同添加到Resources部分。

如上所述,Resources部分的执行脚本用于控制Packages部分被安装到终端后需要执行的相关动作,由于在制作软件安装包时对同类支持库文件进行了压缩的操作,而在安装时还需要进行相应的解压缩操作,因此,在采用上述软件安装包的制作方法制作出安装包后,为了便于安装,就需要重新部署执行脚本中规定的动作执行流程。故而,需要在执行脚本中添加下述流程,包括:将Resources部分中包含的解压缩软件及压缩后的同类支持库文件拷贝到终端上,然后用该解压缩软件对该终端上保存的Resources部分及Packages部分的压缩后的同类支持库文件进行解压缩操作。解压缩操作完成后,可执行UI支持相关部分的拷贝及相关后续操作,此处的实现可参考现有技术,在此不再进行赘述。

为了进一步提高安装效率,节省终端的资源,可以在上述执行脚本定义的流程中进一步增加下述流程:先判断终端中是否存在开发该软件所需的所有支持库文件,如有,则直接执行UI支持相关部分的拷贝及相关后续操作;否则,执行将Resources部分中包含的解压缩软件及压缩后的同类支持库文件拷贝到终端上的操作及后续流程。

下面用本发明的一应用实例进一步加以说明。

软件安装包中Packages部分的生成流程,如图3所述,包括以下步骤:

S301:根据所在系统所使用语言的开发工具配置开发编译环境,并安装开发所需要的支持软件(如python、wxPython、glib等);

S302:对开发出的应用程序代码进行编译后得到UI编译程序;

S303:将开发机器上安装的开发支持软件进行裁剪得到支持库文件,使得在未安装开发所需要的支持软件的机器上能够正常运行上述UI编译程序;

S304:将上述支持库文件按照文件类型进行划分;

S305:采用压缩率较高的压缩软件分别将划分出的同类支持库文件压缩在一起;

S306:使用InstallShield、PackageMaker等安装包制作工具将除了压缩后占用空间最大的一类支持库文件之外的其它类压缩后的支持库文件与UI编译程序一起制作成App安装包;其中,App安装包部分是Packages部分中最重要的部分,其直接与用户交互,是区别于其它应用程序的主要体现;

S307:如果需要驱动,从设备制造商处获取设备驱动安装包;

S308:将App安装包和设备驱动安装包一同拷贝到Packages部分。

软件安装包Resources部分的生成流程,如图4所述,包括以下步骤:

S401:从上述步骤S305获取UI支持库动态库部分,即压缩后占用空间最大的一类支持库文件;

S402:获取UI相关内容,如服务程序或UI后台支撑程序等(一般由第三方提供或专门的UI设计部门提供)。

S403:获取上述步骤S305压缩过程对应的解压缩软件;

S404:将上述解压缩软件、UI支持库动态库部分、UI支持相关及人工编写的执行脚本拷贝到Resources部分;其中,如图5所示,人工编写的执行脚本中定义的Packages部分被安装到终端上后,终端上执行的具体流程如下:

S501:判断当前系统中是否有开发该软件所需的所有支持库文件(可以通过判断注册表或是系统路径下是否存在所需要的文件的方式实现),如果有则执行步骤S504,否则执行下一步骤;

S502:将UI支持库动态库部分和解压缩软件拷贝到终端本地;

S503:利用解压缩软件将本地保存的Packages部分及Resources部分中的压缩后的同类支持库文件分别解压到本地对应的目录;

S504:安装UI支持相关内容部分;

S505:启动UI。

在Resources部分和Packages部分制作完成后,再次使用安装包制作工具(如InstallShield、PackageMaker等)将步骤S308和S404生成的Packages部分和Resources部分制作成最终的软件安装包。

本发明适用于需要小容量安装包而应用程序运行支持库较大的情况。以本方案在wxPython应用程序安装包中实现为例。首先wxPython应用程序需要打入Python和wxPython的支持库,对同类文件的分离分为动态库和py文件两部分。其次,采用的压缩软件为7z压缩软件,其性能参数为:压缩等级——极限压缩,压缩方法——LZMA(Lempel-Ziv-Markov chain-Algorithm,马尔科夫链算法),字典大小——64M,单词大小——128个字符;并支持多线程,可以进一步加快解压缩速度。按上述具体实施的流程,得到软件安装包后,具体的安装过程(如图6所示),包括如下步骤:

S601:安装App部分,包括UI编译程序,python、wxPython支持的py部分;

S602:安装设备驱动部分;

S603:按照执行脚本执行后续流程,安装内容及过程如S501-S505的描述。

同理此方案可以应用于其它支持库较大的软件安装包中,如python软件、Java软件支持库、glib库、视频编解码库和QT支持库等,对于压缩软件的选取主要看所能接受的安装包的大小,比较好的压缩算法如7z、zip和bz2等。

当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1