WO2011091631A1 - 一种软件安装包的制作方法和装置 - Google Patents
一种软件安装包的制作方法和装置 Download PDFInfo
- Publication number
- WO2011091631A1 WO2011091631A1 PCT/CN2010/072837 CN2010072837W WO2011091631A1 WO 2011091631 A1 WO2011091631 A1 WO 2011091631A1 CN 2010072837 W CN2010072837 W CN 2010072837W WO 2011091631 A1 WO2011091631 A1 WO 2011091631A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- support
- compressed
- resources
- section
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Definitions
- the solution is applicable to the field of wireless communications, and in particular, to a method and a device for manufacturing a software installation package.
- the existing software installation package is mainly composed of two parts.
- the first part (that is, the Packages part) includes the application (App) part, and also includes the driver (Drv) part when needed.
- the App part is composed of a User Interface (UI) compiler compiled with the development tool and a UI support library file required to run the UI compiler (also known as the development of the software installation package).
- the Drv part is driven by the device.
- the second part consists of the UI support related parts and execution scripts.
- the UI support related parts include the pictures, sounds, multi-language support libraries and other files required to install the software.
- the script is used to control related actions that need to be performed after the Packages section is installed on the terminal device, such as changing system settings or setting UI startup and operation according to system conditions.
- the technical problem to be solved by the present invention provides a method for manufacturing a software installation package, which overcomes the defect that the software installation package occupies a large space when the support library is large in the prior art.
- the present invention provides a method for manufacturing a software installation package, including: in the process of manufacturing the software installation package, dividing a plurality of support library files required for developing the software according to a file type, and then Compress the same kind of support library files together, and compress the The same kind of support library files are placed in the same part of the software installation package.
- the above manufacturing method also has the following features:
- the step of placing the compressed similar support library file in the same part of the software installation package includes: compressing the other classes except the one supporting the library file that has the largest space after compression in the package part.
- the support library file is created into an application (App) part together with a user interface (UI) compiler; when the Resources section is created, a type of support library file with the largest compressed space is added to the Resources section.
- App application
- UI user interface
- the above production method also includes:
- the decompression software that can decompress the compressed homogeneous support library files is added to the Resources section.
- the above production method also includes:
- the Resources section is created, an execution script is added to the Resources section; wherein the execution script is used to control the terminal to operate according to the following process after the Packages section is installed on the terminal: the Resources section is The included decompressing software and the compressed support library file of the same type are copied to the terminal, and then the decompressing software respectively solves the compressed part of the Resources and the compressed support library file of the Packages part saved on the terminal. Compression operation; After the decompression operation is completed, the copy of the relevant part of the UI support and related subsequent operations are performed.
- the above production method also includes:
- an execution script is added to the Resources section; wherein the execution script is used to control the terminal to operate according to the following process after the Packages section is installed on the terminal: first determining whether the terminal exists in the terminal Develop all the support library files required by the software, if any, directly execute the copy of the relevant part of the UI support and related subsequent operations; if not, the decompression software included in the Resources section and the compressed support library file of the same kind Copying to the terminal, and then decompressing the compressed part of the Resources and the packaged part of the Packages saved on the terminal by the decompression software respectively, and performing UI support after the decompression operation is completed. Partial copy and related follow-up operations.
- the above manufacturing method also has the following features:
- the steps to compress the same kind of support library files include: Using the 7z compression software to support the same kind Library files are compressed together;
- the steps in the Resources section include: Adding 7z compression software to the Resources section.
- the invention also provides a device for fabricating a software installation package, which comprises:
- a dividing unit which is set to: divide a plurality of supporting library files required for developing the software according to a file type;
- a compression unit which is configured to: compress similar support library files together;
- the production unit is set to: Put the compressed support library file in the same part of the software installation package.
- the production unit is set to:
- the compressed library support files other than the one type of support library files that have the largest space after compression are created into the App section together with the UI compiler;
- the production unit is further configured to:
- the decompression software that can decompress the compressed homogeneous support library files is added to the Resources section.
- the production unit is further configured to:
- the Resources section is created, an execution script is added to the Resources section; wherein the execution script is used to control the terminal to operate according to the following process after the Packages section is installed on the terminal: the Resources section is The decompressing software and the compressed support library file included in the same are copied to the terminal, and then the decompressing software is used to respectively perform the compressed part of the Resources and the compressed package of the same type of the package file saved on the terminal. Decompression operation; After the decompression operation is completed, the copy of the relevant part of the UI support and related subsequent operations are executed.
- the production unit is further configured to: When the Resources section is created, an execution script is added to the Resources section; wherein the execution script is used to control the terminal to operate according to the following process after the Packages section is installed on the terminal: first determining the terminal Is there any support library files needed to develop the software, if any, directly execute the copy of the relevant part of the UI support and related subsequent operations; if not, the decompression software included in the Resources section and the compressed support of the same type The library file is copied to the terminal, and then the decompressing software respectively decompresses the Resources part and the Packages part of the compressed support library file saved on the terminal. After the decompression operation is completed, the UI is executed. Support for copying of related parts and related follow-up operations.
- the size of the application installation package can be greatly reduced, and when the network transmission field is applied, the network propagation speed can be greatly accelerated; when the software installation package is directly programmed into the flash (flash memory), the saving can be greatly saved. Flash space, saving costs.
- FIG. 1 is an organizational structure diagram of a software installation package in the prior art
- FIG. 2 is an organization structure diagram of a software installation package in an embodiment of the present invention
- FIG. 3 is a flow chart showing the construction of a Packages portion in an embodiment of the present invention.
- FIG. 4 is a flow chart showing the construction of a Resources section in an embodiment of the present invention.
- FIG. 5 is a flowchart of an installation process of executing script control in an embodiment of the present invention.
- FIG. 6 is a flowchart of a software installation process in an embodiment of the present invention. Preferred embodiment of the invention
- the basic idea of the method of the present invention is: in the process of manufacturing the software installation package, the plurality of support library files required for developing the software are divided according to the file type, and then the same type of support library file is compressed. Together, and put the compressed support library files in the same part of the software installation package.
- the same type of files referred to in the present invention are files with the same file name suffix.
- placing the compressed support library files in the same part of the software installation package can be implemented as follows:
- the support library files are created into the App part together with the UI compiler;
- the Resources section is created, the above-mentioned compressed type of support library files with the largest space is added.
- the UI support library file is divided into three parts, one part is stored in the first UI support library, and the other part is saved in the second UI support library, and the part occupying the largest space is saved.
- the UI support library dynamic library is used to the UI support library dynamic library.
- the decompression software that can decompress the above compressed file can also be added to the Resources section when the Resources section is created.
- the execution part of the Resources section is used to control the related actions that need to be performed after the Packages section is installed on the terminal. Since the same kind of support library files are compressed when the software installation package is created, it needs to be performed during installation. The corresponding decompression operation, therefore, after the installation package is created by the above-mentioned software installation package manufacturing method, in order to facilitate the installation, it is necessary to redeploy the execution flow specified in the execution script. Therefore, the following process needs to be added to the execution script, including: copying the decompression software included in the Resources section and the compressed support library file of the same type to the terminal, and then using the decompression software to save the Resources part of the terminal. And the compressed support library files in the Packages section are decompressed. After the decompression operation is complete, you can perform the copy of the relevant parts of the UI support and related subsequent operations.
- the implementation here can refer to the prior art, and will not be described here.
- the following process may be further added in the process of executing the script definition: First, it is determined whether there is any supporting library file required for developing the software in the terminal, and if so, the UI is directly executed. Support the copy of the relevant part and related subsequent operations; otherwise, perform the operation of copying the decompression software and the compressed support library file included in the Resources section to the terminal and subsequent processes.
- the generation process of the Packages section in the software installation package includes the following steps:
- S301 Develop a development environment according to the development tool configuration of the language in which the system is used, and install the support software required for development (such as python, wxPython, glib, etc.);
- S303 The development support software installed on the development machine is tailored to obtain a support library file, so that the UI compiler program can be normally run on a machine that does not have the support software required for development;
- the software installation package Resources part of the generation process includes the following steps:
- S402 Obtain UI related content, such as a service program or a UI backend support program (generally provided by a third party or a dedicated UI design department).
- UI related content such as a service program or a UI backend support program (generally provided by a third party or a dedicated UI design department).
- S501 determining whether there is any supporting library file required for developing the software in the current system (can be implemented by determining whether the registry or the required file exists in the system path), if yes, executing step S504, otherwise executing One step;
- S502 copy the UI support library dynamic library part and the decompression software to the terminal locality;
- S503 Decompress the locally saved Packages part and the compressed similar support library file in the Resources section to the local corresponding directory by using the decompression software;
- the installation package creation tool such as InstallShield, PackageMaker, etc.
- the present invention is applicable to a case where a small-capacity installation package is required and an application running support library is large.
- This scenario is implemented in the wxPython application installation package as an example.
- the wxPython application needs to be plugged into the Python and wxPython support libraries. The separation of similar files is divided into dynamic libraries and py files.
- the compression software used is 7z compression software, and its performance parameters are: compression level - ultimate compression, compression method - LZMA ( Lempel-Ziv-Markov chain- Algorithm, Markov chain algorithm), dictionary size one by one 64M, word size one 128 characters; and support for multi-threading, can further speed up the decompression.
- the specific installation process includes the following steps:
- S601 Install the App section, including the UI compiler, py part supported by Python and wxPython;
- S603 follows the execution script to execute the following process, and the installation content and process are as described in S501-S505.
- a device for making a software installation package comprising:
- a dividing unit which is set to: divide a plurality of supporting library files required for developing the software according to a file type;
- a compression unit which is configured to: compress similar support library files together;
- the production unit is set to: put the compressed similar support library file in the same software installation package Part of it.
- the production unit is set to:
- the compressed library support files other than the one type of support library files that have the largest space after compression are created into the App section together with the UI compiler;
- the production unit is further configured to:
- the decompression software that can decompress the compressed homogeneous support library files is added to the Resources section.
- the production unit is further configured to:
- the Resources section is created, an execution script is added to the Resources section; wherein the execution script is used to control the terminal to operate according to the following process after the Packages section is installed on the terminal: the Resources section is The decompressing software and the compressed support library file included in the same are copied to the terminal, and then the decompressing software is used to respectively perform the compressed part of the Resources and the compressed package of the same type of the package file saved on the terminal. Decompression operation; After the decompression operation is completed, the copy of the relevant part of the UI support and related subsequent operations are executed.
- the production unit is further configured to:
- an execution script is added to the Resources section; wherein the execution script is used to control the terminal to operate according to the following process after the Packages section is installed on the terminal: first determining the terminal Is there any support library files needed to develop the software, if any, directly execute the copy of the relevant part of the UI support and related subsequent operations; if not, the decompression software included in the Resources section and the compressed support of the same type
- the library file is copied to the terminal, and then the decompressing software respectively decompresses the Resources part and the Packages part of the compressed support library file saved on the terminal. After the decompression operation is completed, the UI is executed. Support for copying of related parts and related follow-up operations.
- this solution can be applied to other software installation packages with larger support libraries, such as python software, Java software support library, glib library, video codec library and QT support library, etc. Take a look at the size of the installation package that you can accept. Better compression algorithms such as 7z, zip, and bz2.
- the size of the application installation package can be greatly reduced, and when the network transmission field is applied, the network propagation speed can be greatly accelerated; when the software installation package is directly programmed into the flash (flash memory), the saving can be greatly saved. Flash space, saving costs.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件安装包的制作方法和装置,所述方法包括:在软件安装包的制作过程中,将开发该软件所需的多个支持库文件按照文件类型进行划分,然后将同类支持库文件压缩在一起,并将压缩后的同类支持库文件放在软件安装包的同一部分中。采用本发明后,可以大大减小应用程序安装包的大小,应用于网络传输领域时,可以大大加快网络传播速度;当将软件安装包直接烧写到闪存中时,可以大大节约闪存空间,节约成本。
Description
一种软件安装包的制作方法和装置
技术领域
本方案适用于无线通信领域, 尤其涉及一种软件安装包的制作方法和装 置。
背景技术
如图 1所示,现有的软件安装包主要由两部分组成,第一部分(即 Packages (包)部分)中包括应用程序(App )部分, 在需要的时候还包括驱动(Drv ) 部分, 其中, App部分由使用开发工具编译出来的用户界面 (User Interface, UI )编译程序及运行 UI编译程序 (亦可称为开发该软件安装包)所需要的 UI 支持库文件组成, Drv部分由设备驱动安装包构成; 第二部分(即资源 ( Resources ) ) 由 UI支持相关部分及执行脚本组成, 其中, UI支持相关部 分中包括安装该软件所需要的图片、 声音、 多语言支持库等文件, 执行脚本 用于控制 Packages部分被安装到终端设备上后需要执行的相关动作, 如改变 ***设置或根据***情况设置 UI启动、 运行等相关动作。
当前, 电信领域日新月异, 无线终端设备的个人计算机(PC ) 管理软 件需要支持多个操作***(如主流操作*** Windows, Mac和 Linux )。 跨平 台语言是很好的选择, 但是这些语言对操作***不同版本的支持不足, 因此 为了兼容, 需要将所用语言的支持库打入安装包。 这就带来了安装包很大、 无法满足实际应用需要的问题。 发明内容
本发明要解决的技术问题提供一种软件安装包的制作方法, 以克服现有 技术中当支持库较大时软件安装包占用空间很大的缺陷。
为解决上述问题, 本发明提供了一种软件安装包的制作方法, 包括: 在所述软件安装包的制作过程中 , 将开发该软件所需的多个支持库文件 按照文件类型进行划分, 然后将同类支持库文件压缩在一起, 并将压缩后的
同类支持库文件放在软件安装包的同一部分中。
上述制作方法还具有以下特征:
所述将压缩后的同类支持库文件放在软件安装包的同一部分中的步骤包 括: 在制作 Packages部分时, 将除了压缩后占用空间最大的一类支持库文件 之外的其它类压缩后的支持库文件连同用户界面 (UI )编译程序一起制作成 应用程序(App )部分; 在制作 Resources部分时, 将所述压缩后占用空间最 大的一类支持库文件添加到所述 Resources部分。
上述制作方法还包括:
在制作 Resources部分时,将能解压缩所述压缩后的同类支持库文件的解 压缩软件添加到所述 Resources部分。
上述制作方法还包括:
在制作 Resources部分时,将执行脚本添加到所述 Resources部分;其中, 所述执行脚本用于在 Packages部分被安装到终端上后控制所述终端按照下述 流程进行操作:将所述 Resources部分中包含的解压缩软件及压缩后的同类支 持库文件拷贝到所述终端上, 然后用所述解压缩软件分别对所述终端上保存 的 Resources部分及 Packages部分的压缩后的同类支持库文件进行解压缩操 作; 解压缩操作完成后, 执行 UI支持相关部分的拷贝及相关后续操作。
上述制作方法还包括:
在制作 Resources部分时, 将执行脚本添加到所述 Resources部分; 其中, 所述执行脚本用于在 Packages部分被安装到终端上后控制所述终 端按照下述流程进行操作: 先判断终端中是否存在开发该软件所需的所有支 持库文件, 如有, 则直接执行 UI支持相关部分的拷贝及相关后续操作; 如没 有,将所述 Resources部分中包含的解压缩软件及压缩后的同类支持库文件拷 贝到所述终端上, 然后用所述解压缩软件分别对所述终端上保存的 Resources 部分及 Packages部分的压缩后的同类支持库文件进行解压缩操作, 解压缩操 作完成后, 执行 UI支持相关部分的拷贝及相关后续操作。
上述制作方法还具有以下特征:
将同类支持库文件压缩在一起的步骤包括: 利用 7z压缩软件将同类支持
库文件压缩在一起;
将能解压缩所述压缩后的同类支持库文件的解压缩软件添加到所述
Resources部分的步骤包括: 将 7z压缩软件添加到所述 Resources部分。
本发明还提供一种软件安装包的制作装置, 其包括:
划分单元, 其设置为: 将开发该软件所需的多个支持库文件按照文件类 型进行划分;
压缩单元, 其设置为: 将同类支持库文件压缩在一起; 以及
制作单元, 其设置为: 将压缩后的同类支持库文件放在软件安装包的同 一部分中。
其中, 所述制作单元是设置为:
在制作 Packages部分时, 将除了压缩后占用空间最大的一类支持库文件 之外的其它类压缩后的支持库文件连同 UI编译程序一起制作成 App部分; 以及
在制作 Resources部分时,将所述压缩后占用空间最大的一类支持库文件 添力口到所述 Resources部分。
其中, 所述制作单元还设置为:
在制作 Resources部分时,将能解压缩所述压缩后的同类支持库文件的解 压缩软件添加到所述 Resources部分。
其中, 所述制作单元还设置为:
在制作 Resources部分时, 将执行脚本添加到所述 Resources部分; 其中, 所述执行脚本是用于在 Packages部分被安装到终端上后控制所述 终端按照下述流程进行操作:将所述 Resources部分中包含的解压缩软件及压 缩后的同类支持库文件拷贝到所述终端上, 然后用所述解压缩软件分别对所 述终端上保存的 Resources部分及 Packages部分的压缩后的同类支持库文件 进行解压缩操作; 解压缩操作完成后,执行 UI支持相关部分的拷贝及相关后 续操作。
其中, 所述制作单元还设置为:
在制作 Resources部分时 , 将执行脚本添加到所述 Resources部分; 其中, 所述执行脚本用于在 Packages部分被安装到终端上后控制所述终 端按照下述流程进行操作: 先判断所述终端中是否存在开发该软件所需的所 有支持库文件, 如有, 则直接执行 UI支持相关部分的拷贝及相关后续操作; 如没有,将所述 Resources部分中包含的解压缩软件及压缩后的同类支持库文 件拷贝到所述终端上, 然后用所述解压缩软件分别对所述终端上保存的 Resources部分及 Packages部分的压缩后的同类支持库文件进行解压缩操作, 解压缩操作完成后, 执行 UI支持相关部分的拷贝及相关后续操作。
釆用本发明后, 可以大大减小应用程序安装包的大小, 应用于网络传输 领域时, 可以大大加快网络传播速度; 当将软件安装包直接烧写到 Flash (闪 存) 中时, 可以大大节约 Flash空间, 节约成本。 附图概述
图 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的描 述。
一种软件安装包的制作装置, 其包括:
划分单元, 其设置为: 将开发该软件所需的多个支持库文件按照文件类 型进行划分;
压缩单元, 其设置为: 将同类支持库文件压缩在一起; 以及
制作单元, 其设置为: 将压缩后的同类支持库文件放在软件安装包的同
一部分中。
其中, 所述制作单元是设置为:
在制作 Packages部分时, 将除了压缩后占用空间最大的一类支持库文件 之外的其它类压缩后的支持库文件连同 UI编译程序一起制作成 App部分; 以及
在制作 Resources部分时,将所述压缩后占用空间最大的一类支持库文件 添力口到所述 Resources部分。
其中, 所述制作单元还设置为:
在制作 Resources部分时,将能解压缩所述压缩后的同类支持库文件的解 压缩软件添加到所述 Resources部分。
其中, 所述制作单元还设置为:
在制作 Resources部分时, 将执行脚本添加到所述 Resources部分; 其中, 所述执行脚本是用于在 Packages部分被安装到终端上后控制所述 终端按照下述流程进行操作:将所述 Resources部分中包含的解压缩软件及压 缩后的同类支持库文件拷贝到所述终端上, 然后用所述解压缩软件分别对所 述终端上保存的 Resources部分及 Packages部分的压缩后的同类支持库文件 进行解压缩操作; 解压缩操作完成后,执行 UI支持相关部分的拷贝及相关后 续操作。
其中, 所述制作单元还设置为:
在制作 Resources部分时, 将执行脚本添加到所述 Resources部分; 其中, 所述执行脚本用于在 Packages部分被安装到终端上后控制所述终 端按照下述流程进行操作: 先判断所述终端中是否存在开发该软件所需的所 有支持库文件, 如有, 则直接执行 UI支持相关部分的拷贝及相关后续操作; 如没有,将所述 Resources部分中包含的解压缩软件及压缩后的同类支持库文 件拷贝到所述终端上, 然后用所述解压缩软件分别对所述终端上保存的 Resources部分及 Packages部分的压缩后的同类支持库文件进行解压缩操作, 解压缩操作完成后, 执行 UI支持相关部分的拷贝及相关后续操作。
同理此方案可以应用于其它支持库较大的软件安装包中,如 python软件、 Java软件支持库、 glib库、 视频编解码库和 QT支持库等, 对于压缩软件的选
取主要看所能接受的安装包的大小, 比较好的压缩算法如 7z、 zip和 bz2等。
当然, 本发明还可有其他多种实施例, 在不背离本发明精神及其实质的 但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
工业实用性
釆用本发明后, 可以大大减小应用程序安装包的大小, 应用于网络传输 领域时, 可以大大加快网络传播速度; 当将软件安装包直接烧写到 Flash (闪 存) 中时, 可以大大节约 Flash空间, 节约成本。
Claims
1、 一种软件安装包的制作方法, 其包括:
在所述软件安装包的制作过程中 , 将开发该软件所需的多个支持库文件 按照文件类型进行划分, 然后将同类支持库文件压缩在一起, 并将压缩后的 同类支持库文件放在软件安装包的同一部分中。
2、 如权利要求 1所述的制作方法, 其中,
所述将压缩后的同类支持库文件放在软件安装包的同一部分中的步骤包 括:
在制作包(Packages )部分时, 将除了压缩后占用空间最大的一类支持 库文件之外的其它类压缩后的支持库文件连同用户界面 (UI )编译程序一起 制作成应用程序 (App )部分; 以及
在制作资源 (Resources )部分时, 将所述压缩后占用空间最大的一类支 持库文件添加到所述 Resources部分。
3、 如权利要求 1或 2所述的制作方法, 该方法还包括:
在制作 Resources部分时,将能解压缩所述压缩后的同类支持库文件的解 压缩软件添加到所述 Resources部分。
4、 如权利要求 3所述的制作方法, 该方法还包括:
在制作 Resources部分时, 将执行脚本添加到所述 Resources部分; 其中, 所述执行脚本用于在 Packages部分被安装到终端上后控制所述终 端按照下述流程进行操作:将所述 Resources部分中包含的解压缩软件及压缩 后的同类支持库文件拷贝到所述终端上, 然后用所述解压缩软件分别对所述 终端上保存的 Resources部分及 Packages部分的压缩后的同类支持库文件进 行解压缩操作; 解压缩操作完成后,执行 UI支持相关部分的拷贝及相关后续 操作。
5、 如权利要求 3所述的制作方法, 该方法还包括:
在制作 Resources部分时, 将执行脚本添加到所述 Resources部分; 其中, 所述执行脚本用于在 Packages部分被安装到终端上后控制所述终 端按照下述流程进行操作: 先判断所述终端中是否存在开发该软件所需的所 有支持库文件, 如有, 则直接执行 UI支持相关部分的拷贝及相关后续操作; 如没有,将所述 Resources部分中包含的解压缩软件及压缩后的同类支持库文 件拷贝到所述终端上, 然后用所述解压缩软件分别对所述终端上保存的 Resources部分及 Packages部分的压缩后的同类支持库文件进行解压缩操作, 解压缩操作完成后, 执行 UI支持相关部分的拷贝及相关后续操作。
6、 如权利要求 3所述的方法, 其中,
所述将同类支持库文件压缩在一起的步骤包括: 利用 7z压缩软件将同类 支持库文件压缩在一起;
所述将能解压缩所述压缩后的同类支持库文件的解压缩软件添加到所述
Resources部分的步骤包括: 将 7z压缩软件添加到所述 Resources部分。
7、 一种软件安装包的制作装置, 其包括:
划分单元, 其设置为: 将开发该软件所需的多个支持库文件按照文件类 型进行划分;
压缩单元, 其设置为: 将同类支持库文件压缩在一起; 以及
制作单元, 其设置为: 将压缩后的同类支持库文件放在软件安装包的同 一部分中。
8、 如权利要求 7所述的制作装置, 其中, 所述制作单元是设置为: 在制作包(Packages )部分时, 将除了压缩后占用空间最大的一类支持 库文件之外的其它类压缩后的支持库文件连同用户界面 (UI )编译程序一起 制作成应用程序 (App )部分; 以及
在制作资源 (Resources )部分时, 将所述压缩后占用空间最大的一类支 持库文件添加到所述 Resources部分。
9、 如权利要求 7或 8所述的制作方法,其中,所述制作单元还设置为: 在制作 Resources部分时,将能解压缩所述压缩后的同类支持库文件的解 压缩软件添加到所述 Resources部分。
10、 如权利要求 9所述的制作方法, 其中, 所述制作单元还设置为: 在制作 Resources部分时, 将执行脚本添加到所述 Resources部分; 其中, 所述执行脚本是用于在 Packages部分被安装到终端上后控制所述 终端按照下述流程进行操作:将所述 Resources部分中包含的解压缩软件及压 缩后的同类支持库文件拷贝到所述终端上, 然后用所述解压缩软件分别对所 述终端上保存的 Resources部分及 Packages部分的压缩后的同类支持库文件 进行解压缩操作; 解压缩操作完成后,执行 UI支持相关部分的拷贝及相关后 续操作。
11、 如权利要求 9所述的制作方法, 其中, 所述制作单元还设置为: 在制作 Resources部分时, 将执行脚本添加到所述 Resources部分; 其中, 所述执行脚本用于在 Packages部分被安装到终端上后控制所述终 端按照下述流程进行操作: 先判断所述终端中是否存在开发该软件所需的所 有支持库文件, 如有, 则直接执行 UI支持相关部分的拷贝及相关后续操作; 如没有,将所述 Resources部分中包含的解压缩软件及压缩后的同类支持库文 件拷贝到所述终端上, 然后用所述解压缩软件分别对所述终端上保存的 Resources部分及 Packages部分的压缩后的同类支持库文件进行解压缩操作, 解压缩操作完成后, 执行 UI支持相关部分的拷贝及相关后续操作。
12、 如权利要求 9所述的方法, 其中,
所述压缩模块是设置为: 利用 7z压缩软件将同类支持库文件压缩在一 起;
所述制作单元是设置为以如下方式将能解压缩所述压缩后的同类支持库 文件的解压缩软件添加到所述 Resources部分: 将 7z压缩软件添加到所述 Resources部分。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10844409A EP2444892A4 (en) | 2010-01-27 | 2010-05-17 | METHOD AND DEVICE FOR PRODUCING A SOFTWARE INSTALLATION PACKAGE |
US13/384,596 US8898662B2 (en) | 2010-01-27 | 2010-05-17 | Method and device for generating software installation packet |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010103114.0 | 2010-01-27 | ||
CN201010103114A CN101763269A (zh) | 2010-01-27 | 2010-01-27 | 一种软件安装包的制作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011091631A1 true WO2011091631A1 (zh) | 2011-08-04 |
Family
ID=42494441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2010/072837 WO2011091631A1 (zh) | 2010-01-27 | 2010-05-17 | 一种软件安装包的制作方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8898662B2 (zh) |
EP (1) | EP2444892A4 (zh) |
CN (2) | CN101763269A (zh) |
WO (1) | WO2011091631A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8910148B2 (en) * | 2010-07-29 | 2014-12-09 | International Business Machines Corporation | Packaging an application with plurality of libraries |
CN102447739B (zh) * | 2011-11-18 | 2015-07-29 | 湖南赛格导航技术研究有限公司 | 数据传输方法及*** |
CN103425503A (zh) * | 2012-05-18 | 2013-12-04 | 宇龙计算机通信科技(深圳)有限公司 | 基于Android的应用管理方法、***及通信终端 |
CN102819430B (zh) * | 2012-07-06 | 2016-05-04 | 中科方德软件有限公司 | 一种在linux环境下实现串行通信接口的装置及方法 |
US20140357357A1 (en) | 2013-05-30 | 2014-12-04 | Microsoft Corporation | Game bundle package |
US20140359605A1 (en) * | 2013-05-30 | 2014-12-04 | Microsoft Corporation | Bundle package signing |
US20140359606A1 (en) * | 2013-05-30 | 2014-12-04 | Microsoft Corporation | Bundle package retrieving |
US9766870B2 (en) * | 2013-05-30 | 2017-09-19 | Microsoft Technology Licensing, Llc | Bundle package generation |
US9323514B2 (en) | 2013-05-30 | 2016-04-26 | Microsoft Technology Licensing, Llc | Resource package indexing |
CN104850561A (zh) * | 2014-02-18 | 2015-08-19 | 北京京东尚科信息技术有限公司 | 一种Android APK文件自适应压缩方法 |
CN105094868A (zh) * | 2014-05-13 | 2015-11-25 | 中兴通讯股份有限公司 | 一种软件升级方法、服务器及终端 |
CN103955375A (zh) * | 2014-05-21 | 2014-07-30 | 北京安兔兔科技有限公司 | 一种应用安装文件的生成方法、应用的启动方法及装置 |
CN104679523A (zh) * | 2015-03-17 | 2015-06-03 | 浪潮集团有限公司 | 一种基于国产平台的图形化打包软件实现方法 |
CN106325834A (zh) * | 2015-06-18 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 安卓安装包压缩方法和装置 |
CN106325896B (zh) * | 2015-06-18 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 安装包的共享函数库文件处理方法及装置 |
CN106406923B (zh) * | 2015-07-30 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 动态库文件的处理方法及装置 |
CN106897052B (zh) * | 2015-12-24 | 2021-08-24 | 北京奇虎科技有限公司 | Apk文件压缩方法及装置 |
CN106997364A (zh) * | 2016-01-26 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 一种终端的应用资源检测方法及装置 |
CN107305495A (zh) * | 2016-04-19 | 2017-10-31 | 华为技术有限公司 | 实现软件安装包功能修改的方法及终端 |
CN106341660A (zh) * | 2016-09-12 | 2017-01-18 | 四川天辰智创科技有限公司 | 一种图像处理方法、装置及无人机图像处理*** |
CN106775781B (zh) * | 2017-02-17 | 2021-04-27 | 北京金山安全软件有限公司 | 减小应用安装包的方法、装置及电子设备 |
JP6855348B2 (ja) * | 2017-07-31 | 2021-04-07 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびダウンロード処理方法 |
CN108415708B (zh) * | 2018-01-19 | 2021-07-20 | 五八有限公司 | 应用程序安装包大小的处理方法、装置、设备和存储介质 |
US10552140B2 (en) * | 2018-01-31 | 2020-02-04 | Oracle International Corporation | Automated identification of deployment data for distributing discrete software deliverables |
CN108776591B (zh) * | 2018-06-08 | 2021-11-02 | 超越科技股份有限公司 | 一种国产平台软件打包***及方法 |
US10552136B2 (en) | 2018-06-29 | 2020-02-04 | Alibaba Group Holding Limited | One click application asset distribution |
CN109491664B (zh) * | 2018-11-08 | 2021-03-26 | 腾讯科技(深圳)有限公司 | iOS应用程序的生成方法、装置、设备及存储介质 |
CN110377363A (zh) * | 2019-07-17 | 2019-10-25 | Oppo(重庆)智能科技有限公司 | 安装应用的方法、装置、终端及存储介质 |
CN110442353B (zh) * | 2019-07-26 | 2023-03-10 | 北京奇艺世纪科技有限公司 | 一种安装包管理的方法、装置及电子设备 |
CN113900671A (zh) * | 2020-06-22 | 2022-01-07 | 北京字节跳动网络技术有限公司 | 应用程序安装包的数据处理方法、装置及电子设备 |
CN113656044B (zh) * | 2021-08-24 | 2023-09-19 | 平安科技(深圳)有限公司 | 安卓安装包压缩方法、装置、计算机设备及存储介质 |
CN114416668B (zh) * | 2022-03-29 | 2022-07-08 | 杭州默安科技有限公司 | 一种pkg诱饵文件生成方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713147A (zh) * | 2005-07-20 | 2005-12-28 | 威盛电子股份有限公司 | 制作一多国语言安装包的方法 |
CN1777317A (zh) * | 2005-12-16 | 2006-05-24 | 北京金山软件有限公司 | 一种实现无线终端程序更新的方法 |
CN101296458A (zh) * | 2008-06-30 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 应用程序的功能表现方法、***及设备 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867713A (en) * | 1995-04-05 | 1999-02-02 | International Business Machines Corporation | Committing an install plan object for the network installation of application programs |
US5774715A (en) * | 1996-03-27 | 1998-06-30 | Sun Microsystems, Inc. | File system level compression using holes |
US6675382B1 (en) * | 1999-06-14 | 2004-01-06 | Sun Microsystems, Inc. | Software packaging and distribution system |
US6282711B1 (en) * | 1999-08-10 | 2001-08-28 | Hewlett-Packard Company | Method for more efficiently installing software components from a remote server source |
US6493871B1 (en) * | 1999-09-16 | 2002-12-10 | Microsoft Corporation | Method and system for downloading updates for software installation |
AU3274301A (en) * | 2000-01-05 | 2001-07-16 | Realnetworks, Inc. | Systems and methods for multiple-file data compression |
GB0017478D0 (en) * | 2000-07-18 | 2000-08-30 | Bit Arts Ltd | Computer software installation |
US20030182414A1 (en) * | 2003-05-13 | 2003-09-25 | O'neill Patrick J. | System and method for updating and distributing information |
US7814474B2 (en) * | 2000-11-17 | 2010-10-12 | Hewlett-Packard Development Company, L.P. | Updatable mobile handset based on Linux with compression and decompression techniques |
US20030182563A1 (en) * | 2002-03-22 | 2003-09-25 | Liu James C. | Method and apparatus for software license verification |
US8233893B2 (en) * | 2002-08-22 | 2012-07-31 | Hewlett-Packard Development Company, L.P. | Mobile handset update package generator that employs nodes technique |
AU2003229585A1 (en) | 2003-03-06 | 2004-09-28 | Sap Aktiengesellschaft | A method for generating a computer program and a computer program product |
US6976253B1 (en) * | 2003-07-30 | 2005-12-13 | Microsoft Corporation | Method and apparatus for configuring a mobile device |
US20050125524A1 (en) * | 2003-12-08 | 2005-06-09 | Chandrasekhar Babu K. | Cache system in factory server for software dissemination |
US20050172284A1 (en) * | 2004-01-30 | 2005-08-04 | Dandekar Shree A. | Method and system for automated generation of customized factory installable software |
US7694291B2 (en) * | 2004-04-06 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Build optimizer tool for efficient management of software builds for mobile devices |
US7492953B2 (en) * | 2004-06-17 | 2009-02-17 | Smith Micro Software, Inc. | Efficient method and system for reducing update requirements for a compressed binary image |
US7661102B2 (en) * | 2004-08-20 | 2010-02-09 | Smith Micro Software, Inc. | Method for reducing binary image update package sizes |
CN101326492B (zh) * | 2005-10-06 | 2013-07-17 | 雷德本德有限公司 | 用于更新包括压缩版本的内容的方法和*** |
RU2388045C2 (ru) * | 2006-06-19 | 2010-04-27 | Самсунг Электроникс Ко., Лтд. | Система и способ обновления программы для переносного устройства с поддержкой ота |
US8495622B2 (en) * | 2007-11-07 | 2013-07-23 | International Business Machines Corporation | Micro installation process for software packaging and distribution |
CN100511143C (zh) * | 2007-12-27 | 2009-07-08 | 腾讯科技(深圳)有限公司 | 安装包生成装置及方法、以及安装进度传递方法 |
US7917902B2 (en) * | 2008-03-21 | 2011-03-29 | Symantec Corporation | Archive stream based install |
WO2010037117A1 (en) * | 2008-09-29 | 2010-04-01 | Nirvanix, Inc. | Client application program interface for network-attached storage system |
JP2012003679A (ja) * | 2010-06-21 | 2012-01-05 | Kyocera Mita Corp | 画像形成装置用追加アプリケーションのセキュリティ確保方法、画像形成システム及び画像形成装置 |
-
2010
- 2010-01-27 CN CN201010103114A patent/CN101763269A/zh active Pending
- 2010-01-27 CN CN201610875500.9A patent/CN106445608A/zh active Pending
- 2010-05-17 US US13/384,596 patent/US8898662B2/en active Active
- 2010-05-17 WO PCT/CN2010/072837 patent/WO2011091631A1/zh active Application Filing
- 2010-05-17 EP EP10844409A patent/EP2444892A4/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713147A (zh) * | 2005-07-20 | 2005-12-28 | 威盛电子股份有限公司 | 制作一多国语言安装包的方法 |
CN1777317A (zh) * | 2005-12-16 | 2006-05-24 | 北京金山软件有限公司 | 一种实现无线终端程序更新的方法 |
CN101296458A (zh) * | 2008-06-30 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 应用程序的功能表现方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20120159470A1 (en) | 2012-06-21 |
EP2444892A4 (en) | 2012-12-26 |
EP2444892A1 (en) | 2012-04-25 |
CN101763269A (zh) | 2010-06-30 |
CN106445608A (zh) | 2017-02-22 |
US8898662B2 (en) | 2014-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011091631A1 (zh) | 一种软件安装包的制作方法和装置 | |
US20210049024A1 (en) | Method and apparatus for loading multiple differing versions of a native library into a native environment | |
CN104375849B (zh) | 加载内核的方法及装置 | |
WO2017148171A1 (zh) | 一种嵌入式装置的启动方法和装置 | |
TWI467488B (zh) | 用以處理資訊之設備、方法及程式 | |
US9672032B2 (en) | Mobile enabled application | |
CN105677421B (zh) | 一种移动终端的桌面启动器的定制方法及*** | |
CN110895471A (zh) | 安装包生成方法、装置、介质及电子设备 | |
CN104317573B (zh) | 安卓安装包转换方法和装置以及运行应用的方法和装置 | |
CN111740948A (zh) | 数据包发布方法、动态更新方法、装置、设备及介质 | |
US20200319867A1 (en) | Systems and methods for eager software build | |
CN111026439B (zh) | 应用程序的兼容方法、装置、设备及计算机存储介质 | |
CN113127361A (zh) | 应用程序的开发方法、装置、电子设备和存储介质 | |
KR20110130611A (ko) | 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛 | |
CN113127000B (zh) | 应用程序组件的编译方法、装置、设备及存储介质 | |
KR20110065804A (ko) | 이동 단말기 및 상기 이동 단말기에서 웹 애플리케이션 실행 방법 | |
CN105204876A (zh) | ***启动方法以及电子设备 | |
JP2015122018A (ja) | アプリケーション開発支援プログラム及びアプリケーション開発支援システム | |
CN112379885A (zh) | 小程序编译方法、装置、设备及可读存储介质 | |
CN113296781A (zh) | 应用程序安装包文件编译构建方法、装置及电子设备 | |
CN112612531A (zh) | 应用程序启动方法、装置、电子设备及存储介质 | |
WO2021015182A1 (ja) | コンピューティングシステムおよび情報処理方法 | |
US7702890B2 (en) | Information processing apparatus and program | |
JP7473145B2 (ja) | ソフトウェア開発装置およびソフトウェア開発プログラム | |
CN110705221B (zh) | 一种在ppt中实现html5的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10844409 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13384596 Country of ref document: US |
|
REEP | Request for entry into the european phase |
Ref document number: 2010844409 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010844409 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |