首页> 中国专利> 处理软件安装包光盘镜像文件的方法及装置

处理软件安装包光盘镜像文件的方法及装置

摘要

本发明公开了一种处理软件安装包光盘镜像文件ISO的方法及装置,该方法包括生成软件安装包ISO中各子安装包共享的代码及资源文件夹,其中,代码为跨操作系统平台的软件安装的可执行代码,资源文件夹包括执行代码所需的资源文件;根据代码和资源文件夹的保存路径修改各子安装包的安装脚本文件;根据各子安装包的安装脚本文件分别制作各子安装包。本发明节省了终端设备PC侧软件安装包占用内建Flash空间的开销,降低了终端设备的制造成本。

著录项

  • 公开/公告号CN101694624A

    专利类型发明专利

  • 公开/公告日2010-04-14

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200910208234.4

  • 发明设计人 魏志明;

    申请日2009-10-19

  • 分类号G06F9/445;G06F17/30;

  • 代理机构北京康信知识产权代理有限责任公司;

  • 代理人余刚

  • 地址 518057 广东省深圳市南山区科技南路55号

  • 入库时间 2023-12-17 23:40:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-20

    授权

    授权

  • 2012-10-03

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20091019

    实质审查的生效

  • 2010-04-14

    公开

    公开

说明书

技术领域

本发明涉及通信领域,具体而言,涉及一种处理软件安装包光盘镜像文件ISO的方法及装置。

背景技术

早期的终端设备产品的PC侧配套软件都是放在光盘中并在客户购买终端设备时随机附赠的,但随着存储技术的发展以及存储媒介成本的降低,PC侧软件的提供方式也逐步由光盘提供转变为一种更加方便快捷的方式:即直接将安装文件保存在终端设备产品内建Flash空间上。这样用户购买设备后,只要在USB口插入设备即可实现相配套的PC侧软件的安装和使用。于是就出现了一种技术,将USB设备在各操作系统平台下映射成光盘设备,为了方便与设备进行交互,与设备侧协商提供一种统一的格式放在终端设备内建Flash中,这种格式便是ISO格式的光盘镜像文件格式,例如,同时支持Windows、Mac、Linux三类系统的安装包文件,需要将为分别支持三类系统做的三个安装包制作成一个三合一ISO文件。

随着移动终端设备的广泛应用,运营商定制的频率也越来越高,定制的需求也越来越多、越来越苛刻,为了快速响应运营商的定制,于是跨操作系统平台的PC侧软件应运而生,所谓跨平台即同一套代码同时可以在Windows、Mac、Linux三类主流操作系统平台运行,这样PC侧软件在实现运营商的定制开发时只需在一类操作系统下开发,其它两类操作系统平台做功能验证即可,这样便大大提高了PC侧软件的定制效率。目前选择使用的是强大的Python语言加上它相应的GUI库WxPython来实现这一目标。

目前使用Python语言和相应的GUI库WxPython实现了软件的跨平台开发,但只是在编程语言上实现了跨平台,许多实现都还是靠操作系统相关的本地库来实现的,图1是根据相关技术的ISO文件结构框图,如图1所示,制作三类平台的安装包,将WxPython相关的本地库各自打到自己的包里,这样在每一个安装包都会占用一部分空间,另外软件编译的可执行代码文件以及软件所需要的资源文件、配置文件等也都会分别放置在每一个安装包中,然后将三个独立制作的安装包制作成一个三合一ISO,目前的这种做法虽然简单,但是没有充分利用软件使用跨平台语言开发的优势,并且增加了软件占用终端设备内建Flash空间的开销,本身板侧软件要占用大量的Flash空间,留给PC侧软件的空间已经非常有限了,如果增加终端设备内建Flash的大小无疑会增加设备厂商的制造成本。

目前现有技术方面缺陷有:由于没有有效的利用跨平台语言开发所拥有的代码与资源可共享的特点,使代码与资源部分在整个三合一ISO中冗余;三份代码与资源有可能增加代码的不一致性,从而使一套代码与资源实现的UI在三个操作系统平台上有不同表现;三合一ISO文件体积过大,造成Flash空间的浪费。

针对相关技术中终端设备PC侧软件安装包中可执行代码和资源文件冗余,造成内建Flash空间开销大,终端设备成本比较高的问题,目前尚未提出有效的解决方案。

发明内容

针对终端设备PC侧软件安装包中可执行代码和资源文件冗余,造成内建Flash空间开销大,设备成本比较高的问题而提出本发明,为此,本发明的主要目的在于提供一种处理软件安装包ISO的方法及装置,以解决上述问题。

为了实现上述目的,根据本发明的一个方面,提供了一种处理软件安装包ISO的方法。

根据本发明的处理软件安装包ISO的方法包括:生成软件安装包ISO中各子安装包共享的代码及资源文件夹,其中,代码为跨操作系统平台的软件安装的可执行代码,资源文件夹包括执行代码所需的资源文件;根据代码和资源文件夹的保存路径修改各子安装包的安装脚本文件;根据各子安装包的安装脚本文件分别制作各子安装包。

优选地,在生成软件安装包ISO中各子安装包共享的代码及资源文件夹之后,上述方法还包括:对代码和资源文件夹进行压缩。

优选地,根据各子安装包的安装脚本文件分别制作各子安装包包括:删除各子安装包中的冗余代码和冗余资源文件,并添加对打包的文件进行解压缩的代码。

优选地,根据代码和资源文件的保存路径修改各子安装包的安装脚本文件包括:将安装脚本文件的资源映射路径修改为对代码和资源文件的保存路径。

优选地,在根据各子安装包的安装脚本文件分别制作各子安装包之后,上述方法还包括:使用ISO制作工具将各子安装包制作成一个ISO格式的文件。

为了实现上述目的,根据本发明的另一方面,提供了一种处理软件安装包ISO的装置。

根据本发明的处理软件安装包ISO的装置包括:生成模块,用于生成软件安装包ISO中各子安装包共享的代码及资源文件夹,其中,代码为软件安装的执行代码,资源文件夹包括:执行代码所需的资源文件;修改模块,用于根据生成模块生成的代码和资源文件夹的保存路径修改各子安装包的安装脚本文件;第一制作模块,用于根据修改模块修改后的各子安装包的安装脚本文件分别制作各子安装包。

优选地,上述装置还包括:压缩模块,用于对生成模块生成的代码和资源文件夹进行压缩。

优选地,上述装置还包括:删除模块,用于删除各子安装包中的冗余代码和冗余资源文件。

优选地,上述装置还包括:添加模块,用于根据压缩模块使用的压缩代码添加对打包的文件进行解压缩的代码。

优选地,上述装置还包括:第二制作模块,用于将第一制作模块生成的各子安装包通过ISO制作工具制作成一个ISO格式的文件。

通过本发明,采用将可共享的代码与资源文件部分作为ISO的一部分单独放置,使多个平台上安装程序可以共享,从而来减少冗余,并消除代码与资源的不一致,并且将共享这部分使用比较高的压缩比进行压缩,从而减少ISO文件的大小,解决了终端设备PC侧软件安装包中资源文件冗余,造成内建Flash空间开销大,终端设备成本比较高的问题,进而达到了缩减ISO文件的体积大小,节省终端设备PC侧软件安装包占用内建Flash空间的开销,降低了终端设备的制造成本。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术的ISO文件结构框图;

图2是根据本发明实施例的ISO文件结构框图;

图3是根据本发明实施例的处理软件安装包ISO的方法的流程图;

图4是根据本发明实施例中实施例1的处理软件安装包ISO的方法的流程图;

图5是根据本发明实施例的处理软件安装包ISO的装置结构框图;

图6是根据本发明实施例的处理软件安装包ISO的装置的优化的结构框图。

具体实施方式

功能概述

本发明实施例提供了一种处理软件安装包ISO的方案,将可共享的代码与资源文件部分作为ISO的一部分单独放置,使多个平台上安装程序可以共享,从而来减少冗余,并消除代码与资源的不一致;并且,为了缩减ISO的大小,除了代码与资源共享外,将共享部分使用更高的压缩比进行压缩,从而减少ISO文件的大小,这样,终端设备上的固件程序可以不做任何改动,因此对终端设备的改动最小,节省终端PC侧软件占用的终端的内建Flash空间的开销,降低终端设备成本。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

方法实施例

根据本发明的实施例,提供了一种处理软件安装包ISO的方法。

图3是根据本发明实施例的处理软件安装包ISO的方法的流程图,如图3所示,该方法包括如下的步骤S302至步骤S306:

步骤S302,生成软件安装包ISO中各子安装包共享的代码及资源文件夹,其中,代码为跨操作系统平台的软件安装的可执行代码,资源文件夹包括:执行代码所需的资源文件。

步骤S302之后,对代码和资源文件进行压缩。

步骤S304,根据代码和资源文件的保存路径修改各子安装包的安装脚本文件。

具体地,将安装脚本文件的资源映射路径修改为对代码和资源文件的保存路径。

步骤S306,根据各子安装包的安装脚本文件分别制作各子安装包。

删除各子安装包中的冗余代码和资源文件,并添加对打包的文件进行压缩的解压缩代码。

在步骤S306之后,使用ISO制作工具将各子安装包制作成一个ISO格式的文件。

下面将结合实例对本发明实施例的实现过程进行详细描述。

实施例1

在本实施例中,对终端设备PC侧软件安装包(Windows、Mac、Linux)的三合一ISO进行处理,基于三大主流操作系统(Windows、Mac、Linux)安装包的制作,光盘镜像文件ISO格式文件的制作,以及跨平台软件的代码与资源文件的共享,采用Python+WxPython实现的PC侧软件,将可共享的代码与资源文件部分作为ISO的一部分单独放置,使多个平台上安装程序可以共享,从而来减少冗余。

在本实施例中,ISO文件结构如图2所示,其中各操作系统下安装包文件包括以下模块:A、软件中与各操作系统相关的库文件;还包括:

B、各安装包的安装脚本;C、资源文件;D、配置文件;E、可执行代码文件;F、各操作系统下的7z解压缩工具。

图4是根据本发明实施例中实施例1的处理软件安装包ISO的方法的流程图,如图4所示,该方法包括如下的步骤S402至步骤S410:

步骤S402,对源码进行编译,生成跨平台的可执行文件,其中对应每一个源码文件生成一个可执行文件---Pyo文件,将该目录(包括子目录)内的所有Py文件(源码)全部删除,也就是说只保留Pyo文件,将该目录命名为dist,那么dist目录其中包括的所有Pyo文件就是最后生成的可执行文件。

步骤S404,新建一个用于压缩的文件夹,在本步骤中将其命名为CodesResources,新建一个资源文件夹并命名为Resources,其中文件包括Bitmaps(图片目录)、Doc(文档目录,包括Help等)、Languages(语言目录,各国语言)、Sounds(声音目录)。然后将步骤S402生成的dist文件整个copy至CodesResources目录下,再将Resources目录也整个Copy至CodeResources目录下,那么现在CodesResources文件夹就是软件安装包ISO的共享部分,即软件的可执行主体以及其所需要的所有资源文件。

步骤S406,对于步骤S404所建文件夹CodesResources,选择7z工具进行压缩,生成一个7z的压缩文件CodesResources.7z,选择7z作为压缩工具,是因为经过试验7z是目前压缩比最高的压缩工具之一,并且是开源免费的。那么CodesResources文件就是最终制作的软件安装包ISO的共享部分的7z压缩文件,将CodesResources.7z文件单独放在ISO文件的根目录下以便于在安装各平台安装包时进行操作。

步骤S408,针对Windows、Mac、Linux平台的各安装包文件夹分别为WinSetup、MacSetup、LinuxSetup。其中每个文件夹下都包括对应平台相关库目录,即sysLib;还有其安装脚本文件,即SetupScript;以及可执行代码与资源文件,即CodeResource。首先将原各平台的安装包中的CodeResource删除,修改各安装包的安装脚本SetupScript,原SetupScript中会将其各安装包内的CodeResource全部copy至目标路径下,现在修改为直接对ISO根目录下的CodesResources.7z进行解压并Copy至目标路径,当然,对于CodesResources.7z文件解压需要每个平台的7z解压工具的支持,所以步骤S408还有一个关键步骤就是将三个平台的7z工具分别加入到各自安装包中,从而保证软件在各个系统上能够正常安装运行,因为7z格式在各操作系统不是默认支持解压缩的。

步骤S410,将步骤S408中的WinSetup、MacSetup、LinuxSetup(包括其各自修改后的安装脚本以及各自新加入的7z解压缩工具)以及CodesResources.7z这四部分在Mac系统下使用ISO制作工具制作成一个ISO格式的文件,该ISO就是最终存储在终端设备内建Flash中的镜像文件。

从以上的描述中,可以看出,本发明实现了如下技术效果:本发明使用了共享与压缩的方法,减少了冗余,虽然加入了三个系统上的7z工具,但这个空间的开销相对于节省下来的空间几乎是可以忽略不计的,并消除了代码与资源的不一致;将共享部分使用更高的压缩比进行压缩,从而缩减了ISO文件的大小,节省终端设备PC侧软件占用的终端设备的内建Flash空间的开销,降低了终端设备制造成本。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

装置实施例

根据本发明的实施例,提供了一种处理软件安装包ISO的装置。

图5是根据本发明实施例的处理软件安装包ISO的装置的结构框图,如图5所示,该装置包括:生成模块52,修改模块54,第一制作模块56,下面对上述结构进行详细描述。

生成模块52,用于生成软件安装包ISO中各子安装包共享的代码及资源文件夹,其中,代码为软件安装的执行代码,资源文件夹包括:执行代码所需的资源文件;修改模块54,连接至生成模块52,用于根据生成模块52生成的代码和资源文件的保存路径修改各子安装包的安装脚本文件;第一制作模块56,连接至修改模块54,用于根据修改模块54修改后的各子安装包的安装脚本文件分别制作各子安装包。

图6是根据本发明实施例的处理软件安装包ISO的装置的优化的结构框图,如图6所示,该装置包括压缩模块62,添加模块64,删除模块66和第二制作模块68,下面对上述结构进行详细描述。

压缩模块62,连接至生成模块52,用于对生成模块52生成的代码和资源文件夹进行压缩;添加模块64,连接至压缩模块62,用于根据压缩模块62使用的压缩代码添加对打包的文件进行解压缩的解压缩代码;删除模块66,用于删除各子安装包中的冗余代码和资源文件;第二制作模块68,连接至第一制作模块56,用于将第一制作模块56生成的各子安装包通过ISO制作工具制作成一个ISO格式的文件。

需要说明的是,装置实施例中描述的处理软件安装包ISO的装置对应于上述的方法实施例,其具体的实现过程在方法实施例中已经进行过详细说明,在此不再赘述。

综上所述,根据本发明的实施例,将可共享的代码与资源文件部分作为ISO的一部分单独放置,使多个平台上安装程序可以共享,从而来减少冗余,并消除代码与资源的不一致;并且,为了缩减ISO的大小,除了代码与资源共享外,将共享部分使用更高的压缩比进行压缩,从而缩减了ISO文件的大小,节省终端设备PC侧软件占用的终端设备的内建Flash空间的开销,降低终端设备的制造成本,并且这种方法适用于各种终端设备对应的PC侧软件。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号