软件包生成方法及系统技术方案

技术编号:6326356 阅读:257 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及软件处理技术领域,公开了一种软件包生成方法及系统,所述方法包括:在运行应用程序的安装程序的过程中,收集所述应用程序运行所需的数据及操作信息;对所述数据及操作信息进行变量化处理;根据变量化处理后的数据及所述操作信息,生成对应所述应用程序的软件包。利用本发明专利技术,可以自动生成软件包,减少人工操作。

【技术实现步骤摘要】

本专利技术涉及软件处理技术,具体涉及一种软件包生成方法及系统
技术介绍
通常,对于一款以安装包形式发布的软件而言,要实现制作软件包的功能,最简单 的方法就是手动运行软件的安装程序,然后根据安装程序的提示信息以及实施人员的操作 经验,手工整理出安装程序,包括将文件安装到了哪一个指定的目录,有哪一些文件被写入 了非安装目录(比如系统目录),安装程序向注册表中写入了哪些信息。收集这样的数据是 非常繁琐和复杂的,很容易出现遗漏或者错误。
技术实现思路
本专利技术实施例提供一种软件包生成方法及系统,可以自动生成软件包,减少人工 操作。为此,本专利技术实施例提供如下技术方案一种软件包生成方法,包括在运行应用程序的安装程序的过程中,收集所述应用程序运行所需的数据及操作 fn息;对所述数据及操作信息进行变量化处理;根据变量化处理后的数据及所述操作信息,生成对应所述应用程序的软件包。优选地,所述应用程序运行所需的数据包括所述安装程序读写磁盘的数据、更改 注册表的数据;所述操作信息包括各数据被写入的文件、各文件的写入路径。可选地,所述收集所述应用程序运行所需的数据及操作信息包括利用钩子函数获取所述应用程序运行所需的数据及操作信息。可选地,所述收集所述应用程序运行所需的数据及操作信息包括利用沙箱技术拦截所述应用程序运行所需的数据及操作信息,并将被拦截的数据 重定向到指定文件夹中;从所述指定文件夹中获取所述数据。优选地,所述方法还包括在从所述指定文件夹中获取所述数据后,删除所述指定文件夹。优选地,所述根据变量化处理后的信息生成对应所述应用程序的软件包包括为所述软件包指定一个全局唯一的标识;生成包描述文件、数据文件及注册表文件。一种软件包生成系统,包括信息收集单元,用于在运行应用程序的安装程序的过程中,收集所述应用程序运 行所需的数据及操作信息;处理单元,用于对所述数据及操作信息进行变量化处理;生成单元,根据变量化处理后的数据及所述操作信息,生成对应所述应用程序的 软件包。可选地,所述信息收集单元,具体用于利用钩子函数获取所述应用程序运行所需 的数据及操作信息。可选地,所述信息收集单元包括拦截及重定向子单元,用于利用沙箱技术拦截所述应用程序运行所需的数据及操 作信息,并将被拦截的数据重定向到指定文件夹中;数据获取子单元,用于从所述指定文件夹中获取所述数据。优选地,所述系统还包括维护单元,用于在所述数据获取子单元从所述指定文件夹中获取所述数据后,删 除所述指定文件夹。优选地,所述生成单元包括标识子单元,用于为所述软件包指定一个全局唯一的标识;文件生成子单元,用于生成包描述文件、数据文件及注册表文件。一种计算机可读存储介质,包括计算机程序代码,该计算机程序代码由一个计算 机单元执行,使得该计算机单元在运行应用程序的安装程序的过程中,收集所述应用程序运行所需的数据及操作 fn息;对所述数据及操作信息进行变量化处理;根据变量化处理后的数据及所述操作信息,生成对应所述应用程序的软件包。本专利技术实施例软件包生成方法及系统,在运行应用程序的安装程序的过程中,收 集所述应用程序运行所需的数据及操作信息,对所述信息数据进行变量化处理,根据变量 化处理后的数据及所述操作信息生成对应所述应用程序的软件包,从而使生成软件包的过 程自动化,减少人工操作。附图说明图1是本专利技术实施例软件包生成方法的流程图;图2是本专利技术实施例软件包生成系统的一种结构示意图;图3是本专利技术实施例软件包生成系统的另一种结构示意图。具体实施例方式所谓软件包是指某一个或一组程序运行时会使用到的数据的集合以及对这些数 据的描述,包括一个或多个软件所需的文件。比如一个WPS软件包中包括WPS文字、WPS演 示和WPS表格三个软件所需要的文件。 为此,本专利技术实施例软件包生成方法及系统,针对上述现有技术存在的缺点,提供 自动化的解决方案,在运行应用程序的安装程序的过程中,收集所述应用程序运行所需的 数据及操作信息,也就是说安装程序对操作系统持久性的修改操作信息,根据这些信息得 到所述应用程序运行所需的全部数据集合,进而根据这些数据集合生成相应的软件包,从 而减少人工操作。为了使本
的人员更好地理解本专利技术实施例的方案,下面结合附图和实施 方式对本专利技术实施例作进一步的详细说明。如图1所示,是本专利技术实施例软件包生成方法的流程图,包括以下步骤步骤101,在运行应用程序的安装程序的过程中,收集所述应用程序运行所需的数 据及操作信息。其中,所述应用程序运行所需的数据包括所述安装程序读写磁盘的数据、更改注 册表的数据;所述操作信息包括各数据被写入的文件、各文件的写入路径。因此,在具体应用中,可以通过监测所述安装程序的行为,比如安装程序读写磁 盘、更改注册表等行为,获得所述应用程序运行所需的数据及操作信息。在计算机编程领 域,使用钩子,可以拦截软件组件间的函数调用和消息传递,进而改变函数调用的执行结果 或消息传递的内容。为此,在本专利技术实施例中,可以利用钩子函数获取所述应用程序运行所 需的数据及操作信息。在不同的应用程序安装到同一操作系统上时,应用程序之间的数据可能会相互干 扰,因此,为了保证数据收集的准确性,在收集所述应用程序运行所需的数据及操作信息 时,最好选择一个干净的操作系统来运行所述应用程序的安装程序,以避免其他应用程序 的数据对所述应用程序的数据的干扰。而且,为了避免所述应用程序的数据对后续其他需 要制作软件包的应用程序的数据产生干扰,在所述应用程序安装完成后,可以及时将其卸 载掉,以保证在需要制作多款不同应用程序的软件包时,可以使用同一个操作系统,也就是 说,可以利用同一台计算机生成不同应用程序的软件包。另外,为了更方便用户的使用,避免频繁的卸载操作,还可以利用沙箱技术收集所 述应用程序运行所需的数据及操作信息。在现有技术中,沙箱是用于保证网络安全的一种技术,所谓沙箱是指一种按照安 全策略限制程序行为的执行环境,其实现途径一般是通过拦截系统调用,监视程序行为,然 后依据用户定义的策略来控制和限制程序对计算机资源的使用,比如改写注册表、读写磁 盘等,进而将这些读写动作重定向到另外的位置。在本专利技术实施例中,可以将沙箱技术引入软件包制作流程,在指定的操作系统上 加载沙箱环境,在沙箱中运行要制作软件包的应用程序的安装程序,拦截所述应用程序运 行所需的数据及操作信息,比如,拦截安装程序的读写磁盘、更改注册表等操作行为,并将 被拦截的数据重定向到沙箱特定存储位置,从该特定存储位置即可获取所述数据。一般而言,应用程序的安装程序通常会向以下位置写入数据安装程序的指定安 装目录、特定用户文档目录以及公共用户文档目录、Windows系统目录、应用程序数据目录、 本地应用程序数据目录、公共应用程序数据目录、开始菜单目录、桌面快捷方式目录、注册 表。因此,可以利用沙箱主动拦截安装程序以上位置的文件或数据的写入请求,并将 这些文件或数据重定向到沙箱特定存储位置。对于一般文件的写入,沙箱可将其重定向到 相关目录下;对于注册表的写入,沙箱可将其写到一个指定位置的注册表文件中。当然,本专利技术实施例并不仅限于通过重定向来实现沙箱的功能,还可以采用其它 的实现方式。相对于上述通过钩子函数获取所述应用程序运行所需的数据及操作信本文档来自技高网
...

【技术保护点】
1.一种软件包生成方法,其特征在于,包括:在运行应用程序的安装程序的过程中,收集所述应用程序运行所需的数据及操作信息;对所述数据及操作信息进行变量化处理;根据变量化处理后的数据及所述操作信息,生成对应所述应用程序的软件包。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱熠锷姜旺生
申请(专利权)人:北京金山数字娱乐科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1