软件安装方法和系统的制作方法
【专利摘要】本发明提供一种软件安装方法,包括:接收客户端发送的对待安装软件的安装请求;根据所述安装请求查找预设的与所述软件对应的安装脚本;其中,所述安装脚本中包含有拦截插件的安装命令;发送所述安装脚本至所述客户端供所述客户端执行。本发明还提供另一种软件安装方法,包括:生成所述待安装软件的安装请求并发送给服务端;接收所述服务端根据所述安装请求返回的与所述待安装软件对应的安装脚本;其中,所述安装脚本中包含有拦截插件的安装命令;执行所述安装脚本,根据所述安装脚本中的安装命令,运行所述待安装软件的安装包。本发明还提供对应的系统,本发明处理过程简单快速,能显著提高拦截插件的效率。
【专利说明】软件安装方法和系统
【技术领域】
[0001] 本发明涉及计算机领域,特别是涉及一种软件安装方法,以及一种软件安装系统。
【背景技术】
[0002] 目前现有技术中拦截软件安装包中的插件有两种方法。
[0003] 第一种,技术人员编写点击脚本,用于模拟用户的鼠标键盘操作,一步步去掉安装 步骤中的插件勾选框,然后使用专用工具打包后手动分发给用户,用户运行打包后的新安 装包,达到自动去除插件的目的。
[0004] 第二种,技术人员预先安装软件,然后分析该软件所打包的插件,对安装后的软件 进行重新打包,保留软件的主体,去除插件,然后手动分发给用户下载。用户安装后即可得 到纯净的无插件的软件。
[0005] 现有的各种方案的缺点主要在于处理步骤复杂、人力成本大、并且准确率不足。市 面上的软件众多,安装包更新速度快,每一次厂商更新安装包,都有可能使之前专门制作的 去插件安装包失效;上述经处理过的无插件安装包,由特定的服务端处理后发布,用户需从 该特定的服务端下载才能获取到;若用户从其他渠道获得安装包,则仍然存在安装过程捆 绑插件的风险;上述两种方法具有一定的局限性。并且,上述两种方法都需要运行安装包后 进行分析处理,之后再重新打包安装包,处理过程繁琐,效率低下。
【发明内容】
[0006] 基于此,本发明提供一种软件安装方法和系统,其处理过程简单快速,能显著提高 拦截插件的效率。
[0007] -种软件安装方法,包括如下步骤:
[0008] 接收客户端发送的对待安装软件的安装请求;
[0009] 根据所述安装请求查找预设的与所述软件对应的安装脚本;其中,所述安装脚本 中包含有拦截插件的安装命令;
[0010] 发送所述安装脚本至所述客户端供所述客户端执行。
[0011] 一种软件安装方法,包括如下步骤:
[0012] 生成所述待安装软件的安装请求并发送给服务端;
[0013] 接收所述服务端根据所述安装请求返回的与所述待安装软件对应的安装脚本;其 中,所述安装脚本中包含有拦截插件的安装命令;
[0014] 执行所述安装脚本,根据所述安装脚本中的安装命令,运行所述待安装软件的安 装包。
[0015] 一种软件安装系统,包括:
[0016] 请求接收模块,用于接收客户端发送的对待安装软件的安装请求;
[0017] 查找模块,用于根据所述安装请求查找预设的与所述软件对应的安装脚本;其中, 所述安装脚本中包含有拦截插件的安装命令;
[0018] 脚本发送模块,用于发送所述安装脚本至所述客户端供所述客户端执行。
[0019] 一种软件安装系统,包括:
[0020] 请求生成模块,用于生成所述待安装软件的安装请求并发送给服务端;
[0021] 脚本接收模块,用于接收所述服务端根据所述安装请求返回的与所述待安装软件 对应的安装脚本;其中,所述安装脚本中包含有拦截插件的安装命令;
[0022] 脚本执行模块,用于执行所述安装脚本,根据所述安装脚本中的安装命令,运行所 述待安装软件的安装包。
[0023] 上述软件安装方法和系统,当客户端对待安装软件采用自动安装方式时,发送安 装请求,服务端接收安装请求,则根据预存的软件安装包与安装脚本的对应关系,获取预设 的安装脚本,该安装脚本中包含有能拦截插件的安装命令,客户端则根据安装脚本运行安 装包;一方面,客户端从各种渠道获得的软件安装包,服务端只要在接收到安装请求时再下 发对应的安装脚本,客户端能获取到最新版本的安装脚本,减少了客户端被安装插件的风 险,并且服务端不需要预先将安装脚本打包在软件安装包中,减少了处理步骤;安装脚本中 包含了预先编制好的能拦截插件的安装命令,能供客户端在选择自动安装时采用获取到的 安装脚本运行软件安装包,从而达到拦截插件的目的。
【专利附图】
【附图说明】
[0024] 图1为本发明软件安装方法在一实施例中的流程示意图。
[0025] 图2为本发明软件安装方法在一实施例中生成安装脚本的流程示意图。
[0026] 图3为本发明软件安装方法在一实施例中识别软件安装包采用第三方打包工具 进行打包的流程示意图。
[0027] 图4为本发明软件安装方法在一实施例中编制安装脚本的流程示意图。
[0028] 图5为本发明软件安装方法在另一实施例中判断是否安装插件的流程示意图。
[0029] 图6为本发明软件安装方法在另一实施例中的流程示意图。
[0030] 图7为本发明软件安装方法在一实施例中检测是否成功拦截插件的流程示意图。
[0031] 图8为本发明软件安装方法在另一实施例中的流程示意图。
[0032] 图9为本发明软件安装系统在一实施例中的结构示意图。
[0033] 图10为本发明软件安装系统在另一实施例中的结构示意图。
[0034] 图11为本发明软件安装系统在另一实施例中的结构示意图。
[0035] 图12为本发明软件安装系统在另一实施例中的结构示意图。
[0036] 图13为本发明软件安装系统在另一实施例中的结构示意图。
[0037] 图14为本发明软件安装系统在另一实施例中的结构示意图。
[0038] 图15为本发明实施例的一个计算机系统1000的模块图。
【具体实施方式】
[0039] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0040] 如图1所示,是本发明软件安装方法在一实施例中的流程示意图,本实施例以服 务端为例进行说明,可包括如下步骤:
[0041] S11、接收客户端发送的对待安装软件的安装请求;
[0042] 服务端接收来自客户端的安装请求,该安装请求是由客户端对待安装软件进行自 动安装时,触发并发送的安装请求。
[0043] S12、根据所述安装请求查找预设的与所述软件对应的安装脚本;其中,所述安装 脚本中包含有拦截插件的安装命令;
[0044] 服务端接收该安装请求,安装请求中可记录有所述待安装软件的名称及版本号, 服务端则可根据预存的软件安装包与安装脚本的对应关系,获取预设的安装脚本;其中,安 装脚本预先编制,包含了能拦截插件的安装命令;
[0045] 一般的软件安装包中,除了主程序外,经常还附带有软件厂商提供的其他应用程 序,本实施例中的插件,即是指软件安装包中附带的除了主程序之外,软件厂商添加的其他 功能的应用程序;
[0046] 脚本是指使用特定的描述性语言,按一定格式编写的可执行文件;本实施例中的 安装脚本,也即是包含多条安装命令的文件,在执行时可翻译成操作系统可识别的指令,根 据指令实现对软件安装包的运行操作。
[0047] S13、发送所述安装脚本至所述客户端供所述客户端执行;
[0048] 本实施例中,当客户端对待安装软件采用自动安装方式时,发送安装请求,服务端 接收安装请求,则根据预存的软件安装包与安装脚本的对应关系,获取预设的安装脚本,该 安装脚本中包含有能拦截插件的安装命令,客户端则根据安装脚本运行安装包;一方面, 客户端从各种渠道获得软件安装包,服务端只要在接收到安装请求时再下发对应的安装脚 本,客户端能获取到最新版本的安装脚本,减少了客户端被安装插件的风险,并且服务端不 需要预先将安装脚本打包在软件安装包中,减少了处理步骤,提高了处理效率;安装脚本中 包含了预先编制好的能拦截插件的安装命令,能供客户端在选择自动安装时采用获取到的 安装脚本运行软件安装包,从而达到拦截插件的目的。
[0049] 对于安装脚本中的安装命令,可包括预设的静默安装命令,如图2所示,示出了一 个生成安装脚本的实施例,本实施例的软件安装方法还可包括如下步骤:
[0050] S21、读取预设的所述软件的安装包中的文件;
[0051] S22、根据所述安装包中的文件,当判断所述待安装软件采用预设的第三方打包工 具进行打包时,获取预设的与所述第三方打包工具对应的静默安装命令;
[0052] S23、将所述静默安装命令添加到所述安装脚本中;
[0053] 根据本发明的一个实施例,可预先获取各种常用软件的安装包,对安装包进行分 析处理,预先编制好安装脚本;服务端可构建一安装脚本数据库,存储有常用软件的名称、 版本号及其对应的安装脚本。
[0054] 制作安装程序时,需要采用打包工具对制作好的文件进行打包,常用的制作 安装程序的软件有:Microsoft Windows Installer、Windows 补 丁包、InstallShielcU InstallShield with MSI、WISE Installer、Inno Setup 和 NullSoft Installation System 等第三方打包工具;第三方打包工具多有对应的能支持静默安装且具有自动拦截插件的静 默安装命令,因此,若检测到软件安装包采用第三方打包工具进行打包时,则可根据预存的 第三方打包工具及其静默安装命令的对应关系,获取第三方打包工具的静默安装命令,作 为所述安装命令记录在安装脚本中。
[0055] 例如,WISE Installer打包工具,其静默安装命令为"/s",执行该命令可实现对采 用WISE Installer打包工具打包的软件进行静默安装;
[0056] Inno Setup 打包工具,其静默安装命令为 "setup. exe/sp-/silent/norestart", 执行该命令可实现对采用Inno Setup打包工具打包的软件进行静默安装;
[0057] NullSoft Installation System打包工具,其静默安装命令为"/S",执行该命令可 实现对采用NullSoft Installation System打包工具打包的软件进行静默安装。
[0058] 根据获取到的第三方打包工具对应的静默安装命令,将静默安装命令记录到安装 脚本中,下面是一个安装脚本中静默安装命令的实施例:
[0059]
【权利要求】
1. 一种软件安装方法,其特征在于,包括如下步骤: 接收客户端发送的对待安装软件的安装请求; 根据所述安装请求查找预设的与所述软件对应的安装脚本;其中,所述安装脚本中包 含有拦截插件的安装命令; 发送所述安装脚本至所述客户端供所述客户端执行。
2. 根据权利要求1所述的软件安装方法,其特征在于,所述安装命令包括预设的静默 安装命令,所述软件安装方法还包括步骤: 读取预设的所述软件的安装包中的文件; 根据所述安装包中的文件,当判断所述待安装软件采用预设的第H方打包工具进行打 包时,获取预设的与所述第H方打包工具对应的静默安装命令; 将所述静默安装命令添加到所述安装脚本中。
3. 根据权利要求2所述的软件安装方法,其特征在于,所述判断所述待安装软件采用 预设的第H方打包工具进行打包的步骤包括: 根据所述安装包中的文件,检测是否包含有第一特征码;其中,所述第一特征码为预设 的与所述第H方打包工具对应的特征码; 若是,则判断所述待安装软件采用第H方打包工具进行打包。
4. 根据权利要求3所述的软件安装方法,其特征在于,还包括步骤: 当在所述文件中没有检测到所述第一特征码时,判断所述待安装软件不是采用第H方 打包工具进行打包,运行所述安装包; 监控所述安装包运行时生成的安装界面; 监控在所述安装界面上输入的按键操作; 将所述安装界面对应的按键操作记录在所述安装脚本中。
5. 根据权利要求4所述的软件安装方法,其特征在于,在运行所述安装包时,还包括如 下步骤: 监控注册表中记录的程序列表; 根据所述注册表中的程序列表在所述安装包运行前后的变化,判断是否安装了插件。
6. -种软件安装方法,其特征在于,包括如下步骤: 生成待安装软件的安装请求并发送给服务端; 接收所述服务端根据所述安装请求返回的与所述待安装软件对应的安装脚本;其中, 所述安装脚本中包含有拦截插件的安装命令; 执行所述安装脚本,根据所述安装脚本中的安装命令,运行所述待安装软件的安装包。
7. 根据权利要求6所述的软件安装方法,其特征在于,在运行所述待安装软件的安装 包时,还包括步骤: 监控注册表中记录的程序列表; 根据所述注册表中的程序列表在所述安装包运行前后的变化,判断是否成功拦截插件 并反馈给所述服务端。
8. 根据权利要求6所述的软件安装方法,其特征在于,在执行所述安装脚本时,还包 括步骤;创建虚拟桌面,在所述虚拟桌面中根据所述安装脚本中的安装命令,运行所述安装 包。
9. 一种软件安装系统,其特征在于,包括: 请求接收模块,用于接收客户端发送的对待安装软件的安装请求; 查找模块,用于根据所述安装请求查找预设的与所述软件对应的安装脚本;其中,所述 安装脚本中包含有拦截插件的安装命令; 脚本发送模块,用于发送所述安装脚本至所述客户端供所述客户端执行。
10. 根据权利要求9所述的软件安装系统,其特征在于,所述安装命令包括预设的静默 安装命令,所述软件安装系统还包括: 读取模块,用于读取预设的所述软件的安装包中的文件; 第一判断模块,用于根据所述安装包中的文件,当判断所述待安装软件采用预设的第 H方打包工具进行打包时,获取预设的与所述第H方打包工具对应的静默安装命令; 第一添加模块,用于将所述静默安装命令添加到所述安装脚本中。
11. 根据权利要求10所述的软件安装系统,其特征在于,还包括: 特征码检测模块,用于根据所述安装包中的文件,检测是否包含有第一特征码;其中, 所述第一特征码为预设的与所述第H方打包工具对应的特征码; 第二判断模块,用于当检测到包含有所述第一特征码时,判断所述待安装软件采用第 H方打包工具进行打包。
12. 根据权利要求11所述的软件安装系统,其特征在于,还包括: 运行模块,用于当在所述文件中没有检测到所述第一特征码时,判断所述待安装软件 不是采用第H方打包工具进行打包,运行所述安装包; 界面监控模块,用于监控所述安装包运行时生成的安装界面; 按键监控模块,用于监控在所述安装界面上输入的按键操作; 记录模块,用于将所述安装界面对应的按键操作记录在所述安装脚本中。
13. 根据权利要求12所述的软件安装系统,其特征在于,还包括第一检测模块,用于所 述运行模块在运行所述安装包时,监控注册表中记录的程序列表;根据所述注册表中的程 序列表在所述安装包运行前后的变化,判断是否安装了插件。
14. 一种软件安装系统,其特征在于,包括: 请求生成模块,用于生成待安装软件的安装请求并发送给服务端; 脚本接收模块,用于接收所述服务端根据所述安装请求返回的与所述待安装软件对应 的安装脚本;其中,所述安装脚本中包含有拦截插件的安装命令; 脚本执行模块,用于执行所述安装脚本,根据所述安装脚本中的安装命令,运行所述待 安装软件的安装包。
15. 根据权利要求14所述的软件安装系统,其特征在于,还包括反馈信息发送模块,用 于在所述脚本执行模块运行所述安装包时,监控注册表中记录的程序列表;根据所述注册 表中的程序列表在所述安装包运行前后的变化,判断是否成功拦截插件。
16. 根据权利要求14所述的软件安装系统,其特征在于,还包括创建模块,用于所述脚 本执行模块在执行所述安装脚本时,创建虚拟桌面,在所述虚拟桌面中根据所述安装脚本 中的安装命令,运行所述安装包。
【文档编号】G06F9/445GK104346195SQ201410248236
【公开日】2015年2月11日 申请日期:2014年6月5日 优先权日:2014年6月5日
【发明者】潘之漪 申请人:腾讯科技(深圳)有限公司