CN104657131B - 一种软件安装包的生成系统和方法 - Google Patents

一种软件安装包的生成系统和方法 Download PDF

Info

Publication number
CN104657131B
CN104657131B CN201510021513.5A CN201510021513A CN104657131B CN 104657131 B CN104657131 B CN 104657131B CN 201510021513 A CN201510021513 A CN 201510021513A CN 104657131 B CN104657131 B CN 104657131B
Authority
CN
China
Prior art keywords
installation
unit
algorithm
file
information
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
Application number
CN201510021513.5A
Other languages
English (en)
Other versions
CN104657131A (zh
Inventor
朱天全
鲍胜青
申二明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing OPWILL Technologies Co Ltd
Original Assignee
Beijing OPWILL Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing OPWILL Technologies Co Ltd filed Critical Beijing OPWILL Technologies Co Ltd
Priority to CN201510021513.5A priority Critical patent/CN104657131B/zh
Publication of CN104657131A publication Critical patent/CN104657131A/zh
Application granted granted Critical
Publication of CN104657131B publication Critical patent/CN104657131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请公开了一种软件安装包的生成系统和方法,包括:获取单元、存储单元、配置单元、解析单元和合成单元,所述方法包括,步骤1:获取单元获取用户所需的功能信息和安装文件信息;步骤2:存储单元对用户所需的功能信息和安装文件信息进行存储;步骤3:配置单元调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件;步骤4:解析单元将所述目标文件解析为安装目录;步骤5:合成单元将所述安装目录合成为软件安装包。解决了现有技术无法实现的生成文件过程简单、配制方便、可自动执行安装过程且在无屏幕的情况下直接安装的技术问题。

Description

一种软件安装包的生成系统和方法
技术领域
本发明涉及嵌入式平台应用领域,具体的说,是涉及一种软件安装包的生成系统和方法。
背景技术
安装包(Install pack),即软件安装包,是可自行解压缩文件的集合,其中包括软件安装的所有文件。运行这个安装包(可执行文件),可以将此软件的所有文件释放到硬盘上,完成修改注册表、修改系统设置、创建快捷方式等工作。
现有技术中的软件打包方式是将所有需要打包的文件收集后进行合并,然后用户安装时再将所有文件直接释放到用户指定的安装目录下。通过这种方式打包的软件,用户安装时需要自己判断查找平台软件目录,然后再设定软件安装目录,增加了操作的复杂性,并且容易出错,一旦安装目录设置错误,会导致主程序无法找到插件,而不能正常加载插件;而现有技术中生成软件安装包的方法,一般需要专门的生成工具和编写特定的文件,这些生成工具和文件中需要的信息多而且格式复杂在修改过程中很容易出错,另外,还有一些软件安装包在安装时需要电脑和数据线配合安装,安装复杂,不易操作。
专利申请201010543019.2公开了一种软件安装包的生成、卸载方法及装置,上述软件安装包的生成方法包括:获取软件的版本信息、待打包文件及待打包文件信息,根据软件的版本信息及待打包文件生成配置文件并记录该配置文件对应的信息;创建软件安装包,在软件安装包的头部写入软件的安装单元;在软件安装包的安装文件后依次写入配置文件对应的信息、配置文件、待打包文件信息、待打包文件、尾部结构体信息,生成软件的软件安装包。通过本发明的技术方案,整个安装过程由安装单元自动进行处理,所有安装的软件的正常使用,虽然可以满足平台软件与软件的匹配,但是其生成方法复杂,安装卸载麻烦,需要的生成文件太多,不好管理,不能根据需要显示安装目录,更改注册表。
因此,如何研发一种软件安装包的生成系统和方法,解决上述问题,便成为亟待解决的技术问题。
发明内容
本申请解决的主要问题是提供一种软件安装包的生成系统和方法,以解决无法实现的生成文件过程简单、配制方便、可自动执行安装过程且在无屏幕的情况下直接安装的技术问题。
为了解决上述技术问题,本发明公开了一种软件安装包的生成系统,包括:获取单元、存储单元、配置单元、解析单元和合成单元,其中,
所述获取单元,用于获取用户所需的功能信息和安装文件信息;
所述存储单元,用于存储用户所需的功能信息和安装文件信息;
所述配置单元,用于调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件;
所述解析单元,用于将所述目标文件解析为一安装目录;
所述合成单元,用于将所述安装目录合成为软件安装包。
进一步地,其中,所述配制单元,还包括:算法压缩单元和算法编码单元,其中,
所述算法压缩单元,用于按照压缩算法对所述目标文件进行压缩,得到算法压缩文件;
所述算法编码单元,用于按照压缩算法对算法解压库进行编码,形成所述算法解压库的解压函数;
进一步地,其中,所述压缩算法,进一步包括:RLE压缩算法、LZ77算法、Huffman算法、DEFLATE算法、Lzma算法和/或者Lzma2算法。
进一步地,其中,所述电子标签,进一步包括:树状的文件目录结构。
进一步地,其中,所述功能信息,进一步包括:安装路径信息、安装时是否显示安装信息、是否清空安装目录、在安装结束后是否自动重启、是否自动退出以及是否创建注册表的功能信息。
本发明还公开了一种软件安装包的生成方法,包括以下步骤:
步骤1:获取单元获取用户所需的功能信息和安装文件信息;
步骤2:存储单元对用户所需的功能信息和安装文件信息进行存储;
步骤3:配置单元调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件;
步骤4:解析单元将所述目标文件解析为安装目录;
步骤5:合成单元将所述安装目录合成为软件安装包。
进一步地,其中,所述步骤3还包括:
步骤3.1:算法压缩单元按照压缩算法对所述目标文件进行压缩,得到算法压缩文件;
步骤3.2:算法编码单元按照压缩算法对算法解压库进行编码,形成所述算法解压库的解压函数。
进一步地,其中,所述压缩算法,进一步为:RLE压缩算法、LZ77算法、Huffman算法、DEFLATE算法、Lzma算法和/或者Lzma2算法。
进一步地,其中,所述配置单元调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件,进一步为:
所述配置单元通过API接口调取所述功能信息,将所述功能信息配置在电子标签的树状的文件目录结构中,使所述功能信息与所述文件目录结构建立映射关系,且所述电子标签与所述安装文件信息关联为一目标文件。
进一步地,其中,所述解析单元将所述目标文件解析为安装目录,进一步为:所述解析单元将所述目标文件解析为app目录,lib目录,pci目录,language目录。
与现有技术相比,本申请所述的一种软件安装包的生成系统和方法,达到了如下效果:
(1)本发明所述的一种软件安装包的生成系统,包括:获取单元、存储单元、配置单元、解析单元和合成单元,所述配置单元,可以调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件;整体需要生成的文件少,便于管理,还可根据用户的需要设置用户所需的功能信息;
(2)本发明所述的一种软件安装包的生成系统,使软件安装包可以顺利的安装运行又能在安装过程中根据用户需要来显示或者隐藏安装信息,设置安装目录,自动运行,自动退出等特殊需求;
(3)本发明所述的一种软件安装包的生成方法,其方法简单,过程容易操作,使用方便,也方便管理。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明所述的软件安装包的生成系统的整体结构图;
图2为本发明所述的软件安装包的生成系统的另一种整体结构图;
图3为本发明所述的软件安装包的生成方法的具体流程图;
图4为本发明所述的软件安装包的生成方法的另一种具体流程图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
以下结合附图对本申请作进一步详细说明,但不作为对本申请的限定。
如图1所示,为本发明所述的一种软件安装包的生成系统,包括:获取单元101、存储单元102、配置单元103、解析单元104和合成单元105,其中,
所述获取单元101,与所述存储单元102相耦接,用于获取用户所需的功能信息和安装文件信息;
所述存储单元102,分别与所述获取单元101和所述配制单元103相耦接,用于存储用户所需的功能信息和安装文件信息;
所述配置单元103,用于调取存储单元102所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件,并将该目标文件发送至解析单元104;所述配置单元103可以通过API接口调取所存储的功能信息,并通过C语言对所述电子标签进行编码,使所述电子标签与所述安装文件信息关联为一目标文件;当然还可以通过C语言、C++、NDK以及objective C等方法对所述电子标签进行编码。
当将软件安装包安装至android平台时,还可以采用NDK,也就是NativeDevelopment Kit提供的一系列工具,帮助开发者快速开发C(或C++)的动态库,对电子标签进行编码,使所述电子标签与所述安装文件信息关联为一目标文件;当将软件安装包安装至ios平台时,可以采用objective-C,也就是应用于ios平台的快速开发进行编码调试,使所述电子标签与所述安装文件信息关联为一目标文件;当软件安装包安装至windowsCE平台时,可以采用C++进行编码调试,使所述电子标签与所述安装文件信息关联为一目标文件;当然所述软件安装包不限于安装在这三种嵌入式平台中,还可以为其他嵌入式平台。
Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,WindowsCE是基于WIN32API重新开发、新型的信息设备的平台。WindowsCE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。
本实施例中是将软件安装包安装于windows CE平台的,在安装时,将软件安装包安装在数据采集仪中,用户通过采集软件进行数据的自动采集,并进行相关的处理,由于在软件中设置相应的功能信息,然后由用户选择相应的安装路径信息、安装时是否显示安装信息、是否清空安装目录、在安装结束后是否自动重启、是否自动退出以及是否创建注册表的功能信息;当然还可以有其他功能信息,不限于以上几种,根据用户的需要,配制所需的功能信息。
所述解析单元104,分别与所述配制单元103和所述合成单元105相耦接,用于将所述目标文件解析为一安装目录;
所述合成单元105,与所述解析单元104相耦接,用于将所述安装目录合成为软件安装包。
优选地,如图2所示,所述配制单元103还包括:算法压缩单元1031、算法编码单元1032,其中,
所述算法压缩单元1031,用于按照压缩算法对所述软件安装包进行压缩,得到算法压缩文件;
所述算法编码单元1032,用于按照压缩算法对算法解压库进行编码,形成所述算法解压库的解压函数;当所述算法编码单元1032可以通过Objective-C按照压缩算法编码所述算法解压库,当然,当将软件安装包安装至android平台时,可以采用NDK,也就是Native Development Kit提供的一系列工具,帮助开发者快速开发C(或C++)的动态算法解压库;当将软件安装包安装至ios平台时,可以采用Objective-C进行编码调试;当软件安装包安装至windows系统时,可以采用C++按照压缩算法编码所述算法解压库,最后打包为软件安装包。当然所述软件安装包不限于安装在这三种嵌入式平台中,还可以为其他嵌入式平台。
优选地,所述压缩算法,进一步包括:RLE压缩算法、LZ77算法、Huffman算法、DEFLATE算法、Lzma算法和/或者Lzma2算法。本发明所述的软件安装包的生成系统,当所要生成的安装文件过大时,则需要采用压缩算法对所述安装文件进行压缩,这里可以采用任何一种算法,也可根据具体情况而定,采用两者结合的算法,具体可以根据安装文件的文件大小或安装文件信息而定。
优选地,所述电子标签,进一步包括:树状的文件目录结构;所述树状文件目录结构,包括文件夹结构和文件结构,所述文件夹结构包括名称,文件的数目,文件夹的数目,文件的名称,文件夹的名称等,当然在所述文件夹结构中还可以将功能类似的文件存储在子文件夹结构中;所述文件结构包括文件名称,文件大小,文件地址等,这样就可以形成树状的文件目录结构,可以用于保存的是当前选择的文件和文件夹的层次结构。
优选地,所述功能信息,进一步包括:安装路径信息、安装时是否显示安装信息、是否清空安装目录、在安装结束后是否自动重启、是否自动退出以及是否创建注册表的功能信息;当然还可以有其他功能信息,不限于以上几种,根据用户的需要,配制所需的功能信息。
本发明所述的软件安装包的生成系统,主要适用于安装在嵌入式平台上,所述嵌入式平台可以为android平台、ios平台、windows平台,当然也不限于这几种嵌入式平台,还可以为其他平台。
如图3所示,本发明公开了一种软件安装包的生成方法,具体包括以下步骤:
步骤1:获取单元获取用户所需的功能信息和安装文件信息;
步骤2:存储单元对用户所需的功能信息和安装文件信息进行存储;
步骤3:配置单元调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件;
步骤4:解析单元将所述目标文件解析为安装目录;
步骤5:合成单元将所述安装目录合成为软件安装包。
如图4所示,本发明还公开了另一种软件安装包的生成方法,具体包括以下步骤:
步骤1:获取单元获取用户所需的功能信息和安装文件信息;
步骤2:存储单元对用户所需的功能信息和安装文件信息进行存储;
步骤3:配置单元调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件;
步骤4:算法压缩单元按照压缩算法对所述软件安装包进行压缩,得到算法压缩文件;
步骤5:算法编码单元按照压缩算法对算法解压库进行编码,形成所述算法解压库的解压函数;
步骤6:解析单元将所述算法解压文件和算法解压库解析为安装目录;
步骤7:合成单元将所述安装目录合成为软件安装包。
优选地,所述压缩算法,进一步为:RLE压缩算法、LZ77算法、Huffman算法、DEFLATE算法、Lzma算法和/或者Lzma2算法。
优选地,所述配置单元调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件,进一步为:所述配置单元通过API接口调取所述功能信息,将所述功能信息配置在电子标签的树状的文件目录结构中,使所述功能信息与所述文件目录结构建立映射关系,且所述电子标签与所述安装文件信息关联为一目标文件。
优选地,所述解析单元将所述目标文件解析为安装目录,进一步为:所述解析单元将所述目标文件解析为app目录,lib目录,pci目录,language目录。
与现有技术相比,本申请所述的一种软件安装包的生成系统和方法,达到了如下效果:
(1)本发明所述的一种软件安装包的生成系统,包括:获取单元、存储单元、配置单元、解析单元和合成单元,所述配置单元,可以调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件;整体需要生成的文件少,便于管理,还可根据用户的需要设置用户所需的功能信息;
(2)本发明所述的一种软件安装包的生成系统,使软件安装包可以顺利的安装运行又能在安装过程中根据用户需要来显示或者隐藏安装信息,设置安装目录,自动运行,自动退出等特殊需求;
(3)本发明所述的一种软件安装包的生成方法,其方法简单,过程容易操作,使用方便,也方便管理。
由于方法部分已经对本申请实施例进行了详细描述,这里对实施例中涉及的系统与方法对应部分的展开描述省略,不再赘述。对于系统中具体内容的描述可参考方法实施例的内容,这里不再具体限定。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

Claims (4)

1.一种软件安装包的生成系统,其特征在于,包括:获取单元、存储单元、配置单元、解析单元和合成单元,其中,
所述获取单元,用于获取用户所需的功能信息和安装文件信息;
所述存储单元,用于存储用户所需的功能信息和安装文件信息;
所述配置单元,用于调取存储单元所存储的功能信息,将所述功能信息配置在至少一个电子标签中,且使至少一个所述电子标签与所述安装文件信息关联为一目标文件;
所述解析单元,用于将所述目标文件解析为一安装目录;
所述合成单元,用于将所述安装目录合成为软件安装包,
所述功能信息,进一步包括:安装路径信息、安装时是否显示安装信息、是否清空安装目录、在安装结束后是否自动重启、是否自动退出以及是否创建注册表的功能信息。
2.根据权利要求1所述的软件安装包的生成系统,其特征在于,所述配置 单元,还包括:算法压缩单元和算法编码单元,其中,
所述算法压缩单元,用于按照压缩算法对所述目标文件进行压缩,得到算法压缩文件;
所述算法编码单元,用于按照压缩算法对算法解压库进行编码,形成所述算法解压库的解压函数。
3.根据权利要求2所述的软件安装包的生成系统,其特征在于,所述压缩算法,进一步包括:RLE压缩算法、LZ77算法、Huffman算法、DEFLATE算法、Lzma算法和/或者Lzma2算法。
4.根据权利要求1所述的软件安装包的生成系统,其特征在于,所述电子标签,进一步包括:树状的文件目录结构。
CN201510021513.5A 2015-01-15 2015-01-15 一种软件安装包的生成系统和方法 Active CN104657131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510021513.5A CN104657131B (zh) 2015-01-15 2015-01-15 一种软件安装包的生成系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510021513.5A CN104657131B (zh) 2015-01-15 2015-01-15 一种软件安装包的生成系统和方法

Publications (2)

Publication Number Publication Date
CN104657131A CN104657131A (zh) 2015-05-27
CN104657131B true CN104657131B (zh) 2019-03-15

Family

ID=53248318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510021513.5A Active CN104657131B (zh) 2015-01-15 2015-01-15 一种软件安装包的生成系统和方法

Country Status (1)

Country Link
CN (1) CN104657131B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325896B (zh) * 2015-06-18 2021-05-11 腾讯科技(深圳)有限公司 安装包的共享函数库文件处理方法及装置
CN108279941B (zh) * 2016-12-31 2021-06-15 阿里巴巴集团控股有限公司 一种应用程序的压缩方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561762A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 软件安装程序打包系统及方法
CN101984410A (zh) * 2010-11-12 2011-03-09 中兴通讯股份有限公司 软件安装包的生成、卸载方法及装置
CN102156643A (zh) * 2011-04-25 2011-08-17 青岛海信传媒网络技术有限公司 软件集成方法及系统
CN102231117A (zh) * 2011-07-08 2011-11-02 盛乐信息技术(上海)有限公司 一种在嵌入式平台安装软件的方法和系统
CN103631587A (zh) * 2013-11-15 2014-03-12 北京奇虎科技有限公司 一种软件安装包的定制方法和一种服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561762A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 软件安装程序打包系统及方法
CN101984410A (zh) * 2010-11-12 2011-03-09 中兴通讯股份有限公司 软件安装包的生成、卸载方法及装置
CN102156643A (zh) * 2011-04-25 2011-08-17 青岛海信传媒网络技术有限公司 软件集成方法及系统
CN102231117A (zh) * 2011-07-08 2011-11-02 盛乐信息技术(上海)有限公司 一种在嵌入式平台安装软件的方法和系统
CN103631587A (zh) * 2013-11-15 2014-03-12 北京奇虎科技有限公司 一种软件安装包的定制方法和一种服务器

Also Published As

Publication number Publication date
CN104657131A (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
CN105893094B (zh) 应用程序插件化的实现方法和装置
US8074201B2 (en) Deployment and execution of a program on an embedded device
CN105760201B (zh) 一种嵌入式装置的启动方法和装置
CN105117233A (zh) Api调用方法及装置
US9251109B2 (en) Communication with accessories
JP2005044360A (ja) データのパッケージ内デルタ圧縮(intra−packetdeltacompression)のためのシステムおよび方法
CN111985055B (zh) 一种模型封装方法、装置及电子设备
CN107797823B (zh) 业务规则管理方法、装置、存储介质和计算机设备
CN111124551A (zh) 数据序列化、数据反序列化方法、装置和计算机设备
CN108595187A (zh) 安卓安装包集成软件开发工具包的法、装置及存储介质
CN111083214A (zh) 一种更新应用软件的方法、装置、客户端、服务器及系统
CN111880777A (zh) 程序信息下发方法、装置、电子设备
CN107239309A (zh) 补丁生成方法及装置、更新方法、电子设备、存储介质
WO2011119455A1 (en) Methods and apparatus for debugging programs in shared memory
CN110069259A (zh) 基于idl文件的解析方法、装置、电子设备和存储介质
CN104657131B (zh) 一种软件安装包的生成系统和方法
CN112966824A (zh) 推理库的部署方法、装置和电子设备
CN114116134A (zh) 智能合约部署和执行方法、设备及存储介质
US9135323B2 (en) System and method for classifying data dump data
CN110232969A (zh) 医学影像上传至云服务器的方法、装置、终端和存储介质
CN111858359B (zh) 可执行文件的工程代码位置获取方法和装置
CN110263223B (zh) 一种数据类型转化方法、装置、设备及介质
CN110716811A (zh) 数据库的调用方法、装置和计算机设备
CN108595335B (zh) 测试环境部署方法、部署装置及存储介质
CN109634650A (zh) 管理配置文件的方法和装置,存储介质和电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant