CN101561762A - 软件安装程序打包***及方法 - Google Patents
软件安装程序打包***及方法 Download PDFInfo
- Publication number
- CN101561762A CN101561762A CNA2008103012147A CN200810301214A CN101561762A CN 101561762 A CN101561762 A CN 101561762A CN A2008103012147 A CNA2008103012147 A CN A2008103012147A CN 200810301214 A CN200810301214 A CN 200810301214A CN 101561762 A CN101561762 A CN 101561762A
- Authority
- CN
- China
- Prior art keywords
- software installation
- installation procedure
- file
- installation
- software
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种软件安装程序打包***,应用于计算机,该***包括:读取模块、设置模块、文件合并模块及解析模块。本发明还提供一种软件安装程序打包方法。利用本发明,可以将软件安装程序的所有文件、目录结构及相关信息的二进制代码组合成一个可以单独完成整个软件安装的可执行文件,提高软件安装的安全性,并且支持用户自定义安装界面。
Description
技术领域
本发明涉及一种软件安装程序打包***及方法。
背景技术
随着软件技术的发展,各种软件安装程序制作工具及打包工具层出不穷,这些工具可以采用不同的实现语言、不同的压缩方式,适用于不同平台,甚至是跨平台,并且大都可以设置常规安装选项,定制部分安装界面,在安装流程上更是各式各样。
相同之处在于,这些软件安装程序制作工具及打包工具基本上都采用文件压缩技术进行打包,制作出来的安装程序在安装过程中,首先进行序列号验证软件的合法性,验证通过则进行解压操作,将文件解压到安装目录,最后进行写注册表操作或创建快捷方式。然而,利用当前的这些软件安装程序制作工具及打包工具制作出来的软件安装程序在安装过程中,经常会被一些黑客跳过序列号验证步骤直接进入解压安装,产生正版软件程序的破解版本,直接影响到正版软件拥有者的合法权益。此外,当前的软件安装程序制作工具及打包工具制作出来的安装程序提供的安装界面较为单一,大多不允许软件开发者进行修改或自定义操作,显得过于呆板。
发明内容
鉴于以上内容,有必要提供一种软件安装程序打包***,可以提高软件安装程序的安全性并且支持用户自定义安装界面。
本发明提供一种软件安装程序打包***,应用于计算机,该***包括:读取模块,用于读取用户从数据库中选择的需要打包的软件安装程序及安装界面模板;设置模块,用于供用户设置安装界面模板及安装规则;文件合并模块,用于合并该主目录下的所有文件得到一个新文件,在该新文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息;及解析模块,用于解析所述合并后的得到的新文件,生成文件数据、文件列表及文件目录结构信息对应的二进制代码,及用于解析安装界面模板、软件安装程序的注册表信息、快捷方式信息及安装规则以生成对应的二进制代码,并将所有二进制代码写入所述可执行文件。
本发明还提供一种软件安装程序打包方法,该方法包括以下步骤:(A)读取用户选取的安装界面;(B)设置安装规则;(C)读取需打包的软件安装程序所在的主目录;(D)合并该主目录下的所有文件得到一个新文件,在该新文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息;(E)解析该新文件,生成该新文件中记录的数据、文件目录结构信息及文件列表信息的二进制代码,并将所述二进制代码写入可执行文件;(F)从数据库读取所述需打包的软件安装程序的注册表信息及快捷方式信息;(G)生成所述注册表信息及快捷方式信息对应的二进制代码并写入可执行文件;及(H)生成所述安装界面及安装规则对应的二进制代码并写入可执行文件。
相较于现有技术,本发明提供的软件安装程序打包***及方法将软件安装程序的所有文件、目录结构及相关信息的二进制代码组合成一个可以单独完成整个软件安装的可执行文件,可以提高软件安装的安全性,并且支持用户自定义安装界面。
附图说明
图1是本发明软件安装程序打包***较佳实施例的硬件架构图。
图2是本发明软件安装程序打包方法较佳实施例的流程图。
图3是执行图2的流程图生成的可执行文件中储存的二进制代码对应的信息示意图。
图4是利用本发明软件安装程序打包***及方法生成的可执行文件的应用流程图。
具体实施方式
如图1所示,是本发明软件安装程序打包***较佳实施例的硬件架构图。该软件安装程序打包***20应用于一台计算机1。所述计算机1与一个输入装置2及显示装置3相连接。该计算机1还包括一个数据库10。于其它实施例中,数据库10也可以位于计算机1之外,例如,数据库10可以为与计算机1连接的服务器。
显示装置3可为***示装置,其为用户提供使用界面,用户通过输入装置2在显示装置3显示的操作界面为软件安装程序打包***20设置参数、输入操作命令。输入装置2可以为键盘或鼠标。
所述数据库10用于储存需要打包的软件安装程序、需要打包的软件安装程序对应的注册表信息及快捷方式信息、可供用户选择的安装界面模板及用户自定义的安装界面模板。
所述软件安装程序打包***20包括读取模块210、设置模块220、文件合并模块230及解析模块240。
读取模块210用于从数据库10中读取需要打包的软件安装程序及需要的安装界面模板。在本实施例中,所述安装界面模板可以为现有的安装界面模板或用户自定义的安装界面模板。此外,读取模块210还用于从数据库10中读取需要打包的软件安装程序的注册表信息及快捷方式信息。
设置模块220用于供用户根据需要设置安装界面模板、软件安装程序的加密/解密算法及安装规则。在本实施例中,所述加密/解密算法利用的是公钥/私钥加/解密技术,一个公钥对应于一个私钥,利用公钥加密,利用对应的私钥解密,在其它实施例中,所述加密算法还可以是其它类型的加/解密算法。所述安装规则用于定义软件安装程序的具体安装步骤及安装要求。
文件合并模块230用于合并所述软件安装程序所在主目录下的所有文件为一个文件,在该合并得到的文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息。
解析模块240用于解析所述合并后的得到的文件,生成文件数据、文件列表及文件目录结构信息对应的二进制代码并将二进制代码写入可执行文件30。此外,解析模块240还用于解析安装界面模板,解析软件安装程序的注册表信息、快捷方式信息及安装规则以生成对应的二进制代码并将二进制代码写入可执行文件30。
加/解密模块250用于根据设置的加密/解密算法对可执行文件30进行加密/解密。
如图2所示,是本发明软件安装程序打包方法较佳实施例的流程图。
在步骤S201,读取模块210读取用户从数据库10选择的安装界面模板或用户通过设置模块220设置的安装界面模板。
在步骤S202,用户通过设置模块220设置需要打包的软件安装程序的加/解密算法。根据需要,用户也可以不设置加/解密算法,跳过步骤S202直接进入步骤S203。
在步骤S203,用户通过设置模块220设置安装规则。
在步骤S204,读取模块210读取用户选择的需要打包的软件安装程序所在的主目录,例如C:\Tencent。
在步骤S205,文件合并模块230合并所述软件安装程序所在主目录下的所有文件为一个文件,在该合并得到的文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息。例如,主目录C:\QQ下有多个子目录C:\Tencent\folder1,C:\Tencent\folder2,…,C:\Tencent\folderN(N为自然数),每个子目录下储存有文件或进一步包括下级子目录,则文件合并模块230合并主目录C:\Tencent下的所有文件为一个文件C:\Merge,将合并前主目录C:\Tencent下的所有文件中的数据写入C:\Merge,在C:\Merge中设置合并前每个文件数据的起始标记和结束标记,并在C:\Merge文件中记录合并前的文件列表及文件目录结构信息。
在步骤S206,解析模块240解析合并后的得到的文件,生成所有文件数据、文件列表及文件目录结构信息对应的二进制代码并写入一个可执行文件30。例如,解析模块240解析文件C:\Merge,生成文件C:\Merge中记录的数据、文件列表及文件目录结构信息对应的二进制代码,并将二进制代码写入所述可执行文件30,如一个名为C:\QQ.EXE的可执行文件。
在步骤S207,读取模块210读取所述需要打包的软件安装程序的注册表信息及快捷方式信息,解析模块240生成该注册表信息及快捷方式信息对应的二进制代码,并将二进制代码写入所述可执行文件30,如C:\QQ.EXE。
在步骤S208,解析模块240生成安装界面及安装规则对应的二进制代码并将该二进制代码写入所述可执行文件30,如C:\QQ.EXE。
在步骤S209,加密模块250用于根据设置的加密算法对可执行文件30进行加密。
如图3所示,是执行图2的流程图生成的可执行文件30中储存的二进制代码对应的信息示意图。
如图4所示,是利用本发明软件安装程序打包***及方法生成的可执行文件30的应用流程图。在步骤S400,用户利用相应的私钥对加密后的可执行文件30进行解密。在步骤S401,计算机1从解密后的可执行文件30中读取安装规则信息并通过显示装置3显示。在步骤S402,计算机1加载安装界面。在步骤S403,用户设置安装目录,即设置软件安装程序在计算机上的安装位置。在步骤S404,计算机1从可执行文件30中读取目录结构信息。在步骤S405,计算机1根据所述目录结构信息生成软件安装程序的文件目录结构。在步骤S406,计算机1根据可执行文件30中的文件列表信息及可执行文件30中的标记信息从可执行文件30依次读取文件数据并将文件数据写入所述文件目录结构中相应的文件。在步骤S407,计算机1从可执行文件30中读取软件安装程序的注册表信息并写入计算机1的注册表。在步骤S408,计算机1从可执行文件30中读取软件安装程序的快捷方式信息、生成软件安装程序的快捷方式。
Claims (8)
1.一种软件安装程序打包方法,其特征在于,该方法包括以下步骤:
从数据库中读取一种安装界面;
设置安装规则;
读取需打包的软件安装程序所在的主目录;
合并该主目录下的所有文件得到一个新文件,在该新文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息;
解析该新文件,生成该新文件中记录的数据、文件目录结构信息及文件列表信息的二进制代码,并将所述二进制代码写入可执行文件;
从数据库读取所述需打包的软件安装程序的注册表信息及快捷方式信息;
生成所述注册表信息及快捷方式信息对应的二进制代码并写入可执行文件;及
生成所述安装界面及安装规则对应的二进制代码并写入可执行文件。
2.如权利要求1所述的软件安装程序打包方法,其特征在于,其中所述安装界面为用户自定义的安装界面。
3.如权利要求1所述的软件安装程序打包方法,其特征在于,在步骤读取一种安装界面后还包括一步骤:设置软件安装程序的加/解密算法。
4.如权利要求3所述的软件安装程序打包方法,其特征在于,在步骤生成所述安装界面及安装规则对应的二进制代码并写入可执行文件后还包括一步骤:利用所述加密算法对所述可执行文件进行加密。
5.如权利要求1至4任意一项所述的软件安装程序打包方法,其特征在于,所述的安装规则为软件安装程序的具体安装步骤及安装要求。
6.一种软件安装程序打包***,应用于计算机,其特征在于,该***包括:
读取模块,用于从数据库中读取需要打包的软件安装程序及一种安装界面模板,及从数据库读取需打包的软件安装程序的注册表信息及快捷方式信息;
设置模块,用于供用户设置安装界面模板及安装规则;
文件合并模块,用于合并该主目录下的所有文件得到一个新文件,在该新文件中记录合并前所有文件数据、每段文件数据的起始标记和结束标记、合并前的文件列表及文件目录结构信息;及
解析模块,用于解析所述合并后的得到的新文件,生成文件数据、文件列表及文件目录结构信息对应的二进制代码,及用于解析安装界面模板、软件安装程序的注册表信息、快捷方式信息及安装规则以生成对应的二进制代码,并将所有二进制代码写入所述可执行文件。
7.如权利要求6所述的软件安装程序打包***,其特征在于,所述设置模块还用于设置所述软件安装程序的加/解密算法。
8.如权利要求7所述的软件安装程序打包***,其特征在于,该***还包括加/解密模块,用于根据设置的加/解密算法对所述软件安装程序的可执行文件进行加/解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008103012147A CN101561762A (zh) | 2008-04-18 | 2008-04-18 | 软件安装程序打包***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008103012147A CN101561762A (zh) | 2008-04-18 | 2008-04-18 | 软件安装程序打包***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101561762A true CN101561762A (zh) | 2009-10-21 |
Family
ID=41220575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008103012147A Pending CN101561762A (zh) | 2008-04-18 | 2008-04-18 | 软件安装程序打包***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101561762A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984410A (zh) * | 2010-11-12 | 2011-03-09 | 中兴通讯股份有限公司 | 软件安装包的生成、卸载方法及装置 |
CN102207866A (zh) * | 2011-05-25 | 2011-10-05 | 盛乐信息技术(上海)有限公司 | 基于WebOS的应用程序开发、发布、安装、运行***及方法 |
CN102314366A (zh) * | 2011-09-08 | 2012-01-11 | 福州博远无线网络科技有限公司 | npk打包工具及制作并安装Android程序NPK格式安装包的方法 |
CN102314365A (zh) * | 2011-09-08 | 2012-01-11 | 北京新媒传信科技有限公司 | 一种安装包制作方法和工具 |
WO2012019395A1 (zh) * | 2010-08-11 | 2012-02-16 | 中兴通讯股份有限公司 | 版本升级软件包的打包方法及装置 |
CN102768624A (zh) * | 2011-05-04 | 2012-11-07 | 北京积木恒硕科技有限公司 | 一种基于Web标准构建终端操作***的方法 |
CN102799444A (zh) * | 2011-05-27 | 2012-11-28 | 华为软件技术有限公司 | 跨平台打包程序的方法及装置 |
CN102902531A (zh) * | 2012-09-11 | 2013-01-30 | Tcl集团股份有限公司 | 一种安卓应用程序的定制、生成方法及其装置 |
CN102929648A (zh) * | 2011-08-11 | 2013-02-13 | 魏鹏 | 一种软件安装程序运行的方法和装置 |
CN102955689A (zh) * | 2011-08-23 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 软件安装包的制作方法和软件安装包装置 |
CN104657131A (zh) * | 2015-01-15 | 2015-05-27 | 北京奥普维尔科技有限公司 | 一种软件安装包的生成***和方法 |
CN104679523A (zh) * | 2015-03-17 | 2015-06-03 | 浪潮集团有限公司 | 一种基于国产平台的图形化打包软件实现方法 |
CN105306443A (zh) * | 2015-09-18 | 2016-02-03 | 四川效率源信息安全技术股份有限公司 | 基于完全离线的阅后即焚方法 |
CN105787299A (zh) * | 2015-12-22 | 2016-07-20 | 中软信息***工程有限公司 | 一种具有安全标识的cpk软件包制作方法 |
CN102955689B (zh) * | 2011-08-23 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 软件安装包的制作方法和软件安装包装置 |
CN107077351A (zh) * | 2014-10-27 | 2017-08-18 | 微软技术许可有限责任公司 | 为软件***准备安装和更新 |
CN108845805A (zh) * | 2012-06-29 | 2018-11-20 | 吴东辉 | 一种软件连接的方法 |
CN110958289A (zh) * | 2018-09-27 | 2020-04-03 | 深圳兆日科技股份有限公司 | 第三方应用接入方法、装置及计算机可读存储介质 |
CN111026375A (zh) * | 2019-10-17 | 2020-04-17 | 北京达佳互联信息技术有限公司 | 项目打包方法、装置及设备 |
CN111722872A (zh) * | 2020-06-21 | 2020-09-29 | 苏州浪潮智能科技有限公司 | 一种可复用软件打包方法和装置 |
-
2008
- 2008-04-18 CN CNA2008103012147A patent/CN101561762A/zh active Pending
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8726265B2 (en) | 2010-08-11 | 2014-05-13 | Zte Corporation | Apparatus and method for packing a software package of version upgrade |
WO2012019395A1 (zh) * | 2010-08-11 | 2012-02-16 | 中兴通讯股份有限公司 | 版本升级软件包的打包方法及装置 |
WO2012062063A1 (zh) * | 2010-11-12 | 2012-05-18 | 中兴通讯股份有限公司 | 软件安装包的生成、卸载方法及装置 |
CN101984410A (zh) * | 2010-11-12 | 2011-03-09 | 中兴通讯股份有限公司 | 软件安装包的生成、卸载方法及装置 |
CN101984410B (zh) * | 2010-11-12 | 2015-06-10 | 中兴通讯股份有限公司 | 软件安装包的生成、卸载方法及装置 |
CN102768624A (zh) * | 2011-05-04 | 2012-11-07 | 北京积木恒硕科技有限公司 | 一种基于Web标准构建终端操作***的方法 |
CN102207866A (zh) * | 2011-05-25 | 2011-10-05 | 盛乐信息技术(上海)有限公司 | 基于WebOS的应用程序开发、发布、安装、运行***及方法 |
CN102207866B (zh) * | 2011-05-25 | 2014-07-09 | 上海盛轩网络科技有限公司 | 基于WebOS的应用程序开发、发布、安装、运行***及方法 |
CN102799444B (zh) * | 2011-05-27 | 2016-06-08 | 华为软件技术有限公司 | 跨平台打包程序的方法及装置 |
CN102799444A (zh) * | 2011-05-27 | 2012-11-28 | 华为软件技术有限公司 | 跨平台打包程序的方法及装置 |
CN102929648A (zh) * | 2011-08-11 | 2013-02-13 | 魏鹏 | 一种软件安装程序运行的方法和装置 |
CN102955689A (zh) * | 2011-08-23 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 软件安装包的制作方法和软件安装包装置 |
CN102955689B (zh) * | 2011-08-23 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 软件安装包的制作方法和软件安装包装置 |
CN102314365A (zh) * | 2011-09-08 | 2012-01-11 | 北京新媒传信科技有限公司 | 一种安装包制作方法和工具 |
CN102314366A (zh) * | 2011-09-08 | 2012-01-11 | 福州博远无线网络科技有限公司 | npk打包工具及制作并安装Android程序NPK格式安装包的方法 |
CN108845805A (zh) * | 2012-06-29 | 2018-11-20 | 吴东辉 | 一种软件连接的方法 |
CN108845805B (zh) * | 2012-06-29 | 2021-09-14 | 江苏特力威信息***有限公司 | 一种软件连接的方法 |
CN102902531A (zh) * | 2012-09-11 | 2013-01-30 | Tcl集团股份有限公司 | 一种安卓应用程序的定制、生成方法及其装置 |
CN107077351A (zh) * | 2014-10-27 | 2017-08-18 | 微软技术许可有限责任公司 | 为软件***准备安装和更新 |
CN104657131B (zh) * | 2015-01-15 | 2019-03-15 | 北京奥普维尔科技有限公司 | 一种软件安装包的生成***和方法 |
CN104657131A (zh) * | 2015-01-15 | 2015-05-27 | 北京奥普维尔科技有限公司 | 一种软件安装包的生成***和方法 |
CN104679523A (zh) * | 2015-03-17 | 2015-06-03 | 浪潮集团有限公司 | 一种基于国产平台的图形化打包软件实现方法 |
CN105306443A (zh) * | 2015-09-18 | 2016-02-03 | 四川效率源信息安全技术股份有限公司 | 基于完全离线的阅后即焚方法 |
CN105787299A (zh) * | 2015-12-22 | 2016-07-20 | 中软信息***工程有限公司 | 一种具有安全标识的cpk软件包制作方法 |
CN105787299B (zh) * | 2015-12-22 | 2020-06-19 | 中软信息***工程有限公司 | 一种具有安全标识的cpk软件包制作方法 |
CN110958289A (zh) * | 2018-09-27 | 2020-04-03 | 深圳兆日科技股份有限公司 | 第三方应用接入方法、装置及计算机可读存储介质 |
CN111026375A (zh) * | 2019-10-17 | 2020-04-17 | 北京达佳互联信息技术有限公司 | 项目打包方法、装置及设备 |
CN111722872A (zh) * | 2020-06-21 | 2020-09-29 | 苏州浪潮智能科技有限公司 | 一种可复用软件打包方法和装置 |
CN111722872B (zh) * | 2020-06-21 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 一种可复用软件打包方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101561762A (zh) | 软件安装程序打包***及方法 | |
CN109074462B (zh) | 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和*** | |
WO2021218331A1 (zh) | 离线软件授权方法、装置、设备及存储介质 | |
JP5281074B2 (ja) | 情報セキュリティ装置および情報セキュリティシステム | |
CN1936780B (zh) | 信息处理装置、验证处理装置及其控制方法 | |
CN104932902B (zh) | 一种生成apk文件的方法及终端 | |
JP4764639B2 (ja) | ファイルの暗号化・復号化プログラム、プログラム格納媒体 | |
CN111475824B (zh) | 数据访问方法、装置、设备和存储介质 | |
CN102171652A (zh) | 为电子装置提供可信软件的方法 | |
CN102073826A (zh) | 利用轻量级数字水印添加组件的数字版权管理的***和方法 | |
US8392723B2 (en) | Information processing apparatus and computer readable medium for preventing unauthorized operation of a program | |
KR19980081644A (ko) | 정보처리장치, 방법 및 기록매체 | |
CN104318135A (zh) | 一种基于可信执行环境的Java代码安全动态载入方法 | |
US20150121073A1 (en) | Software fingerprinting | |
CN114547558B (zh) | 授权方法、授权控制方法及装置、设备和介质 | |
US20060059350A1 (en) | Strong names | |
CN105095785A (zh) | 分布式文件***的文件访问处理、访问方法及装置 | |
Park et al. | A methodology for the decryption of encrypted smartphone backup data on android platform: A case study on the latest samsung smartphone backup system | |
JP2006350850A (ja) | ソフトウェア・パッケージを再構成する方法、装置、プログラム | |
CN102799815A (zh) | 一种安全加载程序库的方法和装置 | |
CN104951705A (zh) | 一种基于操作***接口重写的安卓应用数据加密封装方法 | |
CN112307503B (zh) | 签章管理方法、装置和电子设备 | |
JP5056995B1 (ja) | 改竄検知が可能なアプリケーションプログラムの配布実行方法 | |
CN102117389A (zh) | Word文件签署方法及*** | |
CN112528309A (zh) | 一种数据存储加密和解密的方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091021 |