CN108153533A - 制作安装程序的方法和装置、程序的安装方法和装置 - Google Patents
制作安装程序的方法和装置、程序的安装方法和装置 Download PDFInfo
- Publication number
- CN108153533A CN108153533A CN201611097344.4A CN201611097344A CN108153533A CN 108153533 A CN108153533 A CN 108153533A CN 201611097344 A CN201611097344 A CN 201611097344A CN 108153533 A CN108153533 A CN 108153533A
- Authority
- CN
- China
- Prior art keywords
- logic
- interface
- installation
- unit
- plug
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种制作安装程序的方法和装置,包括:获取安装程序脚本,所述安装程序脚本包括配置脚本和通用逻辑脚本,所述配置脚本包括待安装产品的配置安装信息,所述通用逻辑脚本包括与所述插件存在交互逻辑的逻辑启动接口,配置安装信息包括待安装产品信息和安装过程配置信息;获取插件,所述插件包括供所述逻辑启动接口调用的安装行为逻辑接口,所述安装行为逻辑接口用于实现安装的行为和逻辑;解析所述安装程序脚本,将所述配置安装信息和逻辑启动接口写入预设数据包,预设数据包包括所述待安装产品的程序主体,将所述安装程序脚本与插件关联,打包生成安装程序,提高安装程序的制作效率,还提供了一种程序的安装方法和装置。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种制作安装程序的方法和装置、程序的安装方法和装置。
背景技术
随着计算机技术的发展,人们通过各式各样的应用进行娱乐、沟通和获取信息,其中安装和卸载应用是软件应用使用过程中的重要步骤,通过安装程序进行应用的安装和卸载。
传统的安装程序通过脚本语言来描述和控制安装程序的行为和逻辑,每个应用由于安装逻辑和行为的差异性,需要为每个应用编写一套安装脚本。不同安装程序开发工具往往通过不同的脚本语言进行安装程序的制作,存在大量自定义语法,编写难度大,开发效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种制作安装程序的方法和装置、程序的安装方法和装置,提高安装程序的制作效率。
一种制作安装程序的方法,所述方法包括:
获取安装程序脚本,所述安装程序脚本包括配置脚本和通用逻辑脚本,所述配置脚本包括待安装产品的配置安装信息,所述通用逻辑脚本包括与所述插件存在交互逻辑的逻辑启动接口,所述配置安装信息包括待安装产品信息和安装过程配置信息;
获取插件,所述插件包括供所述逻辑启动接口调用的安装行为逻辑接口,所述安装行为逻辑接口用于实现安装的行为和逻辑;
解析所述安装程序脚本,将所述配置安装信息和逻辑启动接口写入预设数据包,所述预设数据包包括所述待安装产品的程序主体,将所述安装程序脚本与插件关联,打包生成安装程序。
一种制作安装程序的装置,所述装置包括:
脚本获取模块,用于获取安装程序脚本,所述安装程序脚本包括配置脚本和通用逻辑脚本,所述配置脚本包括待安装产品的配置安装信息,所述通用逻辑脚本包括与所述插件存在交互逻辑的逻辑启动接口,所述配置安装信息包括待安装产品信息和安装过程配置信息;
插件获取模块,用于获取插件,所述插件包括供所述逻辑启动接口调用的安装行为逻辑接口,所述安装行为逻辑接口用于实现安装的行为和逻辑;
打包生成模块,用于解析所述安装程序脚本,将所述配置安装信息和逻辑启动接口写入预设数据包,所述预设数据包包括所述待安装产品的程序主体,将所述安装程序脚本与插件关联,打包生成安装程序。
上述制作安装程序的方法和装置,通过获取安装程序脚本,安装程序脚本包括配置脚本和通用逻辑脚本,配置脚本包括待安装产品的配置安装信息,配置安装信息包括待安装产品信息和安装过程配置信息,通用逻辑脚本包括与插件存在交互逻辑的逻辑启动接口,获取插件,插件包括供逻辑启动接口调用的安装行为逻辑接口,安装行为逻辑接口用于实现安装的行为和逻辑,解析安装程序脚本,将配置安装信息和逻辑启动接口写入包括待安装产品的程序主体的预设数据包,将安装程序脚本与插件关联,打包生成安装程序,通过自定义的扩展插件接管启动入口,将真正的安装和卸载逻辑移到插件,可以简化和固定脚本,由于插件不是通过脚本语言编写,而是通用的研发语言编写,插件的生成效率高,从而提高了安装程序的生成效率,降低了开发成本。
一种程序的安装方法,所述方法包括:
获取安装程序,所述安装程序包括插件,所述插件包括安装行为逻辑接口;
从所述安装程序获取待安装产品的配置安装信息和逻辑启动接口,所述逻辑启动接口包括与所述插件的交互逻辑;
根据所述交互逻辑和所述配置安装信息分别调用所述插件的安装行为逻辑接口实现安装。
一种程序的安装装置,所述装置包括:
获取模块,用于获取安装程序,所述安装程序包括插件,所述插件包括安装行为逻辑接口;
处理模块,用于从所述安装程序获取待安装产品的配置安装信息和逻辑启动接口,所述逻辑启动接口包括与所述插件的交互逻辑;
安装模块,用于根据所述交互逻辑和所述配置安装信息分别调用所述插件的安装行为逻辑接口实现安装。
上述程序的安装方法和装置,通过获取安装程序,安装程序包括插件,插件包括安装行为逻辑接口,从安装程序获取待安装产品的配置安装信息和逻辑启动接口,逻辑启动接口包括与所述插件的交互逻辑,根据交互逻辑和配置安装信息分别调用插件的安装行为逻辑接口实现安装,通过自定义的扩展插件接管启动入口,将真正的安装和卸载逻辑移到插件,可以简化和固定脚本,由于插件不是通过脚本语言编写,而是通用的研发语言编写,插件的生成效率高,从而提高了安装程序的生成效率,降低了开发成本。
附图说明
图1为一个实施例中制作安装程序的方法、程序的安装方法的应用环境图;
图2为一个实施例中图1中终端的内部结构图;
图3为另一个实施例中图1中终端的内部结构图;
图4为一个实施例中图1中服务器的内部结构图;
图5为一个实施例中制作安装程序的方法的流程图;
图6为一个实施例中在安装区段中定义的逻辑启动接口示意图;
图7为一个实施例中逻辑启动接口在安装过程中与插件的交互逻辑示意图;
图8为一个实施例中配置安装信息界面示意图;
图9为一个实施例中程序的安装方法的流程图;
图10为一个实施例中调用插件的安装行为逻辑接口实现安装的流程图;
图11为一个实施例中制作安装程序的装置的结构框图;
图12为另一个实施例中制作安装程序的装置的结构框图;
图13为一个实施例中程序的安装装置的结构框图;
图14为一个实施例中安装模块的结构框图。
具体实施方式
图1为一个实施例中制作安装程序的方法、程序的安装方法运行的应用环境图。如图1所示,该应用环境包括终端110和服务器120,其中终端110、服务器120通过网络进行通信。
终端110,可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。制作安装程序的方法可以在服务器120或终端110中完成,终端110可从服务器120获取安装程序并进行安装。
在一个实施例中,图1中的终端110的内部结构如图2所示,该终端110包括通过系统总线连接的处理器、图形处理单元、存储介质、内存、网络接口、显示屏幕和输入设备。其中,终端110的存储介质存储有操作系统,还包括第一制作安装程序的装置,该装置用于实现一种适用于终端的制作安装程序的方法。该处理器用于提供计算和控制能力,支撑整个终端110的运行。终端110中的图形处理单元用于至少提供显示界面的绘制能力,内存为存储介质中的第一制作安装程序的装置的运行提供环境,网络接口用于与服务器120进行网络通信。显示屏幕用于显示应用界面等,如显示配置安装信息,输入设备用于接收用户输入的命令或数据等。对于带触摸屏的终端110,显示屏幕和输入设备可为触摸屏。
在另一个实施例中,图1中的终端110的内部结构如图3所示,该终端110包括通过系统总线连接的处理器、图形处理单元、存储介质、内存、网络接口、显示屏幕和输入设备。其中,终端110的存储介质存储有操作系统,还包括程序的安装装置,该装置用于实现一种适用于终端的程序的安装方法。该处理器用于提供计算和控制能力,支撑整个终端110的运行。终端110中的图形处理单元用于至少提供显示界面的绘制能力,内存为存储介质中的程序的安装装置的运行提供环境,网络接口用于与服务器120进行网络通信。显示屏幕用于显示应用界面等,如显示安装进度,输入设备用于接收用户输入的命令或数据等。对于带触摸屏的终端110,显示屏幕和输入设备可为触摸屏。
在一个实施例中,图1中的服务器120的内部结构如图4所示,该服务器120包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该服务器120的存储介质存储有操作系统、数据库、第二制作安装程序的装置,数据库用于存储数据,如存储安装程序脚本,第二制作安装程序的装置用于实现一种适用于服务器120的制作安装程序的方法。该服务器120的处理器用于提供计算和控制能力,支撑整个服务器120的运行。该服务器120的内存为存储介质中的第二制作安装程序的装置的运行提供环境。该服务器120的网络接口用于与外部的终端110通过网络连接通信,比如向终端110发送安装程序等。
在一个实施例中,如图5所示,提供了一种制作安装程序的方法,以应用于上述应用环境中的终端或服务器来举例说明,包括以下步骤:
步骤S210,获取安装程序脚本,安装程序脚本包括配置脚本和通用逻辑脚本,配置脚本包括待安装产品的配置安装信息,通用逻辑脚本包括与插件存在交互逻辑的逻辑启动接口,配置安装信息包括待安装产品信息和安装过程配置信息。
具体的,安装程序脚本用于描述和控制安装程序的行为和逻辑,可供安装程序制作工具使用,如供NSIS(Nullsoft Scriptable Install System)安装程序制作工具,即开源的Windows系统下安装程序制作程序使用。当使用不同的安装程序制作工具制作安装程序时,可根据不同的工具对应的语言生成具有不同语法的安装程序脚本。安装程序脚本包括配置脚本和通用逻辑脚本,配置脚本用于描述待安装产品的配置安装信息,配置安装信息与待安装的产品对应,对安装过程进行配置,实现安装的自定义化,其中配置安装信息可为预设的信息,也可进行实时的修改获取更新的信息。配置安装信息包括待安装产品信息和安装过程配置信息,待安装产品信息用于定义产品的信息,如产品的名称、版本、渠道、公司、版权等用于填写安装程序的详细信息,安装过程配置信息用于描述供安装过程使用的信息,如包括主程序文件、生成安装程序的路径、安装程序资源、安装程序图标等信息。
通用逻辑脚本用于定义安装过程通用的行为和逻辑,通用是指不同的产品共用同一个通用逻辑脚本。通用逻辑脚本包括与插件存在交互逻辑的逻辑启动接口,逻辑启动接口可包括4个,分别为静默安装逻辑启动接口、非静默安装逻辑启动接口、静默卸载逻辑启动接口和非静默卸载逻辑启动接口。将逻辑启动接口写入安装区段,就可实现逻辑启动接口的运行,其中安装区段是指执行安装操作的步骤区间,即在区间内定义和实现步骤以完成安装操作。如图6所示,为一个具体的实施例中在安装区段中定义的逻辑启动接口示意图。
逻辑启动接口包括了与插件进行交互的交互逻辑,从而启动接口运行的过程中会根据自定义的交互逻辑与插件进行交互,从而调用插件的安装行为逻辑接口实现真正的安装和卸载行为,将真正的安装和卸载逻辑移到插件,由于插件不是通过脚本语言编写,而是通用的研发语言编写,插件的生成效率高,从而提高了安装程序的生成效率,降低了开发成本。
步骤S220,获取插件,插件包括供逻辑启动接口调用的安装行为逻辑接口,安装行为逻辑接口用于实现安装的行为和逻辑。
具体的,插件是一种遵循一定规范的应用程序接口编写出来的程序,其只能运行在程序规定的系统平台下,可通过动态链接库实现插件。在一个实施例中,所述插件支持多个平台,通过同一个脚本文件可调用跨平台的插件从而实现不同系统安装程序中插件的共享,进一步提高安装程序的生成效率。安装行为逻辑接口实现安装的具体行为和逻辑,包括安装资源的获取、具体的安装行为、安装结束后资源的释放等。安装行为逻辑接口还可调用第三方工具提供的接口,如文件的解压接口等。安装程序脚本只定义了安装和卸载的配置信息和通用逻辑步骤,真正安装和卸载的实现的部分是在插件中,因此如果需要添加和修改应用功能,只需要修改插件,而插件是与待安装的应用采用同一种开发语言编写,不需要额外的脚本语言学习成本,降低了安装程序的生成难度,和安装程序修改的错误率。在插件中可实现不同的产品的安装的具体逻辑和行为,只需要修改配置脚本就可通过插件对应的具体逻辑和行为生成对应的不同的产品的安装程序,不需要在脚本中修改安装行为和逻辑,简单方便。
步骤S230,解析安装程序脚本,将配置安装信息和逻辑启动接口写入预设数据包,预设数据包包括待安装产品的程序主体,将安装程序脚本与插件关联,打包生成安装程序。
具体的,可通过与安装程序脚本匹配的安装程序打包工具,如NSIS工具,解析安装程序脚本,将配置安装信息和逻辑启动接口写入预设数据包,预设数据包包括待安装产品的程序主体,待安装产品的程序主体是指使得待安装产品运行的主要中心程序,将安装程序脚本与插件关联,关联是指建立安装程序脚本与插件之间的函数调用关系,从而打包生成安装程序。
本实施例中,通过获取安装程序脚本,安装程序脚本包括配置脚本和通用逻辑脚本,配置脚本包括待安装产品的配置安装信息,配置安装信息包括待安装产品信息和安装过程配置信息,通用逻辑脚本包括与插件存在交互逻辑的逻辑启动接口,获取插件,插件包括供逻辑启动接口调用的安装行为逻辑接口,安装行为逻辑接口用于实现安装的行为和逻辑,解析安装程序脚本,将配置安装信息和逻辑启动接口写入包括待安装产品的程序主体的预设数据包,将安装程序脚本与插件关联,打包生成安装程序,通过自定义的扩展插件接管启动入口,将真正的安装和卸载逻辑移到插件,可以简化和固定脚本,由于插件不是通过脚本语言编写,而是通用的研发语言编写,插件的生成效率高,从而提高了安装程序的生成效率,降低了开发成本。
在一个实施例中,交互逻辑包括初始化插件逻辑、绑定操作逻辑、启动逻辑和释放插件逻辑。
具体的,初始化插件逻辑用于触发插件的初始化,可通过在通用逻辑脚本中调用第三方工具提供的接口释放资源,如通过NSIS提供的接口释放资源,资源文件是安装和卸载界面的图片和布局文件。再调用插件的安装行为逻辑接口加载资源,实现插件的初始化。绑定操作逻辑用于触发插件与第三方工具提供的接口的绑定,可通过调用插件的安装行为逻辑接口获取第三方工具提供的接口的实际函数地址,从而使得插件能快速调用第三方工具提供的接口,实现绑定操作。启动逻辑用于启动实际的安装或卸载,为插件的安装行为逻辑接口提供命令参数,实际的安装或卸载行为全部在插件中实现。释放插件逻辑用于触发资源的释放,通过调用插件的安装行为逻辑接口实现,安装结束后再释放插件,退出进程。
在一个实施例中,安装行为逻辑接口包括与初始化插件逻辑对应的加载资源接口,与绑定操作逻辑对应的函数地址映射接口,与启动逻辑对应的以所述配置安装信息为命令参数的操作启动接口和与释放插件逻辑对应的释放资源接口。
具体的,安装行为逻辑接口用于通过预设逻辑实现实际的安装行为。加载资源接口与初始化插件逻辑对应,初始化插件逻辑调用加载资源接口加载资源,实现插件的初始化。函数地址映射接口与绑定操作逻辑对应,用于获取第三方工具提供的接口的实际接口函数地址,从而可根据实际接口函数地址快速调用第三方工具提供的接口。操作启动接口与启动逻辑对应,根据配置安装信息得到命令参数,将命令参数输入操作启动接口实现应用实际的安装或卸载。释放资源接口与释放插件逻辑对应,实现资源的释放,退出进程。如图7所示,为一个具体的实施例中通用逻辑脚本中与插件存在交互逻辑的逻辑启动接口在安装过程中与插件的交互逻辑示意图,如图中所示,通过交互逻辑分别实现初始化插件240、绑定操作250、启动安装260和释放插件270,分别通过调用动态加载库实现的插件中的加载资源接口240a、函数地址映射接口250a、操作启动接口260a和释放资源接口270a实现。
在一个实施例中,步骤S230中将安装程序脚本与插件关联的步骤包括:获取安装行为逻辑接口的接口名称,将接口名称映射到插件的实际接口函数地址。
具体的,通过将安装行为逻辑接口的接口名称映射到插件的实际接口函数地址,从而可快速通过实际接口函数地址调用插件的安装行为逻辑接口。
在一个实施例中,方法还包括:通过界面显示配置安装信息,通过界面修改配置安装信息,通过界面获取触发操作以进入解析安装程序脚本的步骤。
具体的,通过读取配置脚本并在界面展示配置安装信息,同时通过界面可修改和保存配置安装信息,实现配置安装信息的动态更新,与需要安装的产品相匹配,从而可快速生成不同产品对应的安装程序。配置安装信息配置成功,则可通过界面获取触发操作以进入解析安装程序脚本,进而打包生成安装程序,实现一键操作,方便快速。如图8所示,为一个具体的实施例中显示的配置安装信息界面示意图,可在输入选择框280中修改配置安装信息,且通过虚拟按键290触发进入解析安装程序脚本的步骤。
在一个实施例中,如图9所示,提供了一种程序的安装方法,以应用于上述应用环境中的终端来举例说明,包括以下步骤:
步骤S310,获取安装程序,安装程序包括插件,插件包括安装行为逻辑接口。
具体的,安装程序是用于安装应用的安装数据包,通过将安装程序脚本与插件关联,可打包生成安装程序。其中插件是一种遵循一定规范的应用程序接口编写出来的程序,其只能运行在程序规定的系统平台下,可通过动态链接库实现插件。插件用于实现实际的安装过程,安装行为逻辑接口用于实现安装的行为和逻辑,还可调用第三方工具提供的接口,如文件的解压接口等。真正安装和卸载的实现的部分是在插件中,因此如果需要添加和修改应用功能,只需要修改插件,而插件是与待安装的应用采用同一种开发语言编写,不需要额外的脚本语言学习成本,降低了安装程序的生成难度,和安装程序修改的错误率。在插件中可实现不同的产品的安装的具体逻辑和行为,只需要修改配置脚本就可通过插件对应的具体逻辑和行为生成对应的不同的产品的安装程序,不需要在脚本中修改安装行为和逻辑,简单方便。
步骤S320,从安装程序获取待安装产品的配置安装信息和逻辑启动接口,逻辑启动接口包括与插件的交互逻辑。
具体的,在生成安装程序时,配置安装信息和逻辑启动接口写入了预设数据包,可通过解压安装程序获取待安装产品的配置安装信息和逻辑启动接口。配置安装信息与待安装的产品对应,对安装过程进行配置,实现安装的自定义化。逻辑启动接口用于启动安装,可包括4个,分别为静默安装逻辑启动接口、非静默安装逻辑启动接口、静默卸载逻辑启动接口和非静默卸载逻辑启动接口。逻辑启动接口包括与插件的交互逻辑,从而启动接口运行的过程中会根据自定义的交互逻辑与插件进行交互,从而调用插件的安装行为逻辑接口实现真正的安装和卸载行为,将真正的安装和卸载逻辑移到插件,由于插件不是通过脚本语言编写,而是通用的研发语言编写,插件的生成效率高,从而提高了安装程序的生成效率,降低了开发成本。
步骤S330,根据交互逻辑和配置安装信息分别调用插件的安装行为逻辑接口实现安装。
具体的,安装行为逻辑接口实现安装的具体行为和逻辑,包括安装资源的获取、具体的安装行为、安装结束后资源的释放等。根据交互逻辑按照安装逻辑触发调用不同的安装行为逻辑接口,并根据配置安装信息为安装行为逻辑接口输入命令参数,从而实现应用的安装或卸载。
本实施例中,通过获取安装程序,安装程序包括插件,插件包括安装行为逻辑接口,从安装程序获取待安装产品的配置安装信息和逻辑启动接口,逻辑启动接口包括与所述插件的交互逻辑,根据交互逻辑和配置安装信息分别调用插件的安装行为逻辑接口实现安装,通过自定义的扩展插件接管启动入口,将真正的安装和卸载逻辑移到插件,可以简化和固定脚本,由于插件不是通过脚本语言编写,而是通用的研发语言编写,插件的生成效率高,从而提高了安装程序的生成效率,降低了开发成本。
在一个实施例中,交互逻辑包括初始化插件逻辑、绑定操作逻辑、启动逻辑和释放插件逻辑,如图10所示,步骤S330包括:
步骤S331,根据初始化插件逻辑调用加载资源接口加载与配置安装信息相对应的资源。
具体的,初始化插件逻辑用于触发插件的初始化,可通过调用第三方工具提供的接口释放资源,如通过NSIS提供的接口释放资源,资源文件是安装和卸载界面的图片和布局文件。再调用加载资源接口加载与配置安装信息相对应的资源,实现插件的初始化。
步骤S332,根据绑定操作逻辑调用函数地址映射接口将第三方工具接口名称映射到实际接口函数地址实现绑定操作。
具体的,绑定操作逻辑用于触发插件与第三方工具提供的接口的绑定,可通过调用插件的函数地址映射接口获取第三方工具提供的接口的实际函数地址,从而使得插件能快速调用第三方工具提供的接口,实现绑定操作。
步骤S333,根据启动逻辑通过配置安装信息生成命令参数,根据命令参数调用操作启动接口启动安装。
具体的,启动逻辑用于启动实际的安装或卸载,通过配置安装信息生成命令参数,将命令参数输入操作启动接口,从而在插件中实现实际的安装或卸载行为。
步骤S334,根据释放插件逻辑调用释放资源接口释放资源。
具体的,释放插件逻辑用于触发资源的释放,通过调用插件的释放资源接口实现,安装结束后再释放插件,退出进程。
本实施例中,通过交互逻辑逐步自动调用插件的不同安装行为逻辑接口,通过插件实现应用的安装或卸载。
在一个实施例中,步骤S330包括:从安装程序中直接获取插件安装行为逻辑接口的实际接口函数地址,根据实际接口函数地址调用插件的安装行为逻辑接口。
具体的,安装程序中记录了插件的安装行为逻辑接口的实际接口函数地址,从而可快速通过实际接口函数地址调用插件的安装行为逻辑接口。
在一个实施例中,如图11所示,提供了一种制作安装程序的装置,包括:
脚本获取模块410,用于获取安装程序脚本,安装程序脚本包括配置脚本和通用逻辑脚本,配置脚本包括待安装产品的配置安装信息,通用逻辑脚本包括与所述插件存在交互逻辑的逻辑启动接口,配置安装信息包括待安装产品信息和安装过程配置信息。
插件获取模块420,用于获取插件,插件包括供逻辑启动接口调用的安装行为逻辑接口,安装行为逻辑接口用于实现安装的行为和逻辑。
打包生成模块430,用于解析安装程序脚本,将配置安装信息和逻辑启动接口写入预设数据包,预设数据包包括待安装产品的程序主体,将安装程序脚本与插件关联,打包生成安装程序。
在一个实施例中,交互逻辑包括初始化插件逻辑、绑定操作逻辑、启动逻辑和释放插件逻辑。
在一个实施例中,安装行为逻辑接口包括与初始化插件逻辑对应的加载资源文件接口,与绑定操作逻辑对应的函数地址映射接口,与启动逻辑对应的以所述配置安装信息为命令参数的操作启动接口和与释放插件逻辑对应的释放资源接口。
在一个实施例中,打包生成模块430还用于获取安装行为逻辑接口的接口名称,将接口名称映射到插件的实际接口函数地址。
在一个实施例中,如图12所示,装置还包括:
界面模块440,用于通过界面显示所述配置安装信息,通过界面修改所述配置安装信息,通过界面获取触发操作以进入打包生成模块430。
在一个实施例中,如图13所示,提供了一种程序的安装装置,包括:
获取模块510,用于获取安装程序,安装程序包括插件,插件包括安装行为逻辑接口。
处理模块520,用于从安装程序获取待安装产品的配置安装信息和逻辑启动接口,逻辑启动接口包括与所述插件的交互逻辑。
安装模块530,用于根据交互逻辑和所述配置安装信息分别调用插件的安装行为逻辑接口实现安装。
在一个实施例中,交互逻辑包括初始化插件逻辑、绑定操作逻辑、启动逻辑和释放插件逻辑,如图14所示,安装模块530包括:
资源加载单元531,用于根据初始化插件逻辑调用加载资源接口加载与配置安装信息相对应的资源。
绑定单元532,用于根据绑定操作逻辑调用函数地址映射接口将第三方工具接口名称映射到实际接口函数地址实现绑定操作。
启动安装单元533,用于根据启动逻辑通过所述配置安装信息生成命令参数,根据命令参数调用操作启动接口启动安装。
释放单元534,用于根据释放插件逻辑调用释放资源接口释放所述资源。
在一个实施例中,安装模块530还用于从安装程序中直接获取插件的安装行为逻辑接口的实际接口函数地址,根据实际接口函数地址调用安装行为逻辑接口。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种制作安装程序的方法,所述方法包括:
获取安装程序脚本,所述安装程序脚本包括配置脚本和通用逻辑脚本,所述配置脚本包括待安装产品的配置安装信息,所述通用逻辑脚本包括与所述插件存在交互逻辑的逻辑启动接口,所述配置安装信息包括待安装产品信息和安装过程配置信息;
获取插件,所述插件包括供所述逻辑启动接口调用的安装行为逻辑接口,所述安装行为逻辑接口用于实现安装的行为和逻辑;
解析所述安装程序脚本,将所述配置安装信息和逻辑启动接口写入预设数据包,所述预设数据包包括所述待安装产品的程序主体,将所述安装程序脚本与插件关联,打包生成安装程序。
2.根据权利要求1所述的方法,其特征在于,所述交互逻辑包括初始化插件逻辑、绑定操作逻辑、启动逻辑和释放插件逻辑。
3.根据权利要求2所述的方法,其特征在于,所述安装行为逻辑接口包括与初始化插件逻辑对应的加载资源接口,与绑定操作逻辑对应的函数地址映射接口,与启动逻辑对应的以所述配置安装信息为命令参数的操作启动接口和与释放插件逻辑对应的释放资源接口。
4.根据权利要求1所述的方法,其特征在于,所述将所述安装程序脚本与插件关联的步骤包括:
获取所述安装行为逻辑接口的接口名称,将所述接口名称映射到插件的实际接口函数地址。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过界面显示所述配置安装信息,通过所述界面修改所述配置安装信息;
通过所述界面获取触发操作以进入所述解析所述安装程序脚本的步骤。
6.一种程序的安装方法,所述方法包括:
获取安装程序,所述安装程序包括插件,所述插件包括安装行为逻辑接口;
从所述安装程序获取待安装产品的配置安装信息和逻辑启动接口,所述逻辑启动接口包括与所述插件的交互逻辑;
根据所述交互逻辑和所述配置安装信息分别调用所述插件的安装行为逻辑接口实现安装。
7.根据权利要求6所述的方法,其特征在于,所述交互逻辑包括初始化插件逻辑、绑定操作逻辑、启动逻辑和释放插件逻辑,所述根据所述交互逻辑和所述配置安装信息分别调用所述插件的安装行为逻辑接口实现安装的步骤包括:
根据所述初始化插件逻辑调用加载资源接口加载与所述配置安装信息相对应的资源;
根据所述绑定操作逻辑调用函数地址映射接口将第三方工具接口名称映射到实际接口函数地址实现绑定操作;
根据所述启动逻辑通过所述配置安装信息生成命令参数,根据所述命令参数调用操作启动接口启动安装;
根据所述释放插件逻辑调用释放资源接口释放所述资源。
8.根据权利要求6所述的方法,其特征在于,所述根据所述交互逻辑和所述配置安装信息分别调用所述插件的安装行为逻辑接口实现安装的步骤包括:
从所述安装程序中直接获取插件的安装行为逻辑接口的实际接口函数地址;
根据所述实际接口函数地址调用所述安装行为逻辑接口。
9.一种制作安装程序的装置,其特征在于,所述装置包括:
脚本获取模块,用于获取安装程序脚本,所述安装程序脚本包括配置脚本和通用逻辑脚本,所述配置脚本包括待安装产品的配置安装信息,所述通用逻辑脚本包括与所述插件存在交互逻辑的逻辑启动接口,所述配置安装信息包括待安装产品信息和安装过程配置信息;
插件获取模块,用于获取插件,所述插件包括供所述逻辑启动接口调用的安装行为逻辑接口,所述安装行为逻辑接口用于实现安装的行为和逻辑;
打包生成模块,用于解析所述安装程序脚本,将所述配置安装信息和逻辑启动接口写入预设数据包,所述预设数据包包括所述待安装产品的程序主体,将所述安装程序脚本与插件关联,打包生成安装程序。
10.根据权利要求9所述的装置,其特征在于,所述交互逻辑包括初始化插件逻辑、绑定操作逻辑、启动逻辑和释放插件逻辑。
11.根据权利要求10所述的装置,其特征在于,所述安装行为逻辑接口包括与初始化插件逻辑对应的加载资源文件接口,与绑定操作逻辑对应的函数地址映射接口,与启动逻辑对应的以所述配置安装信息为命令参数的操作启动接口和与释放插件逻辑对应的释放资源接口。
12.根据权利要求9所述的装置,其特征在于,所述打包生成模块还用于获取所述安装行为逻辑接口的接口名称,将所述接口名称映射到插件的实际接口函数地址。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:
界面模块,用于通过界面显示所述配置安装信息,通过所述界面修改所述配置安装信息,通过所述界面获取触发操作以进入所述打包生成模块。
14.一种程序的安装装置,其特征在于,所述装置包括:
获取模块,用于获取安装程序,所述安装程序包括插件,所述插件包括安装行为逻辑接口;
处理模块,用于从所述安装程序获取待安装产品的配置安装信息和逻辑启动接口,所述逻辑启动接口包括与所述插件的交互逻辑;
安装模块,用于根据所述交互逻辑和所述配置安装信息分别调用所述插件的安装行为逻辑接口实现安装。
15.根据权利要求14所述的装置,其特征在于,所述交互逻辑包括初始化插件逻辑、绑定操作逻辑、启动逻辑和释放插件逻辑,所述安装模块包括:
资源加载单元,用于根据所述初始化插件逻辑调用加载资源接口加载与所述配置安装信息相对应的资源;
绑定单元,用于根据所述绑定操作逻辑调用函数地址映射接口将第三方工具接口名称映射到实际接口函数地址实现绑定操作;
启动安装单元,用于根据所述启动逻辑通过所述配置安装信息生成命令参数,根据所述命令参数调用操作启动接口启动安装;
释放单元,用于根据所述释放插件逻辑调用释放资源接口释放所述资源。
16.根据权利要求14所述的装置,其特征在于,所述安装模块还用于从所述安装程序中直接获取插件的安装行为逻辑接口的实际接口函数地址,根据所述实际接口函数地址调用所述安装行为逻辑接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611097344.4A CN108153533B (zh) | 2016-12-02 | 2016-12-02 | 制作安装程序的方法和装置、程序的安装方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611097344.4A CN108153533B (zh) | 2016-12-02 | 2016-12-02 | 制作安装程序的方法和装置、程序的安装方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108153533A true CN108153533A (zh) | 2018-06-12 |
CN108153533B CN108153533B (zh) | 2020-12-11 |
Family
ID=62469325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611097344.4A Active CN108153533B (zh) | 2016-12-02 | 2016-12-02 | 制作安装程序的方法和装置、程序的安装方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153533B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597514A (zh) * | 2018-06-13 | 2019-12-20 | 研祥智能科技股份有限公司 | VxWorks下的程序发布系统 |
CN111176663A (zh) * | 2019-12-20 | 2020-05-19 | 北京字节跳动网络技术有限公司 | 应用程序的数据处理方法、装置、设备及存储介质 |
CN113190228A (zh) * | 2021-05-14 | 2021-07-30 | 北京字节跳动网络技术有限公司 | 一种脚本文件生成的方法、装置以及计算机存储介质 |
WO2023197926A1 (zh) * | 2022-04-15 | 2023-10-19 | 华为技术有限公司 | 一种预取函数段的方法以及网络设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1924800A (zh) * | 2005-09-02 | 2007-03-07 | 北京灵图软件技术有限公司 | 用于二次开发平台的基于控件的插件管理系统及方法 |
US20100242034A1 (en) * | 2006-11-01 | 2010-09-23 | Microsoft Corporation | Distributing software products as an executable containing script logic with external resources |
CN102246144A (zh) * | 2008-12-12 | 2011-11-16 | 诺基亚公司 | 用于在计算机平台上安装程序的方法和装置 |
CN103970573A (zh) * | 2014-05-21 | 2014-08-06 | 百度在线网络技术(北京)有限公司 | 用于移动设备的轻应用程序系统及其程序加载系统和方法 |
CN104391700A (zh) * | 2014-11-11 | 2015-03-04 | 百度在线网络技术(北京)有限公司 | 应用程序功能扩展方法和装置 |
CN104978213A (zh) * | 2014-07-21 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 实现应用安装包的链接获取方法和装置 |
CN106126205A (zh) * | 2016-06-14 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种安卓程序安装包的快速批量生成方法及系统 |
-
2016
- 2016-12-02 CN CN201611097344.4A patent/CN108153533B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1924800A (zh) * | 2005-09-02 | 2007-03-07 | 北京灵图软件技术有限公司 | 用于二次开发平台的基于控件的插件管理系统及方法 |
US20100242034A1 (en) * | 2006-11-01 | 2010-09-23 | Microsoft Corporation | Distributing software products as an executable containing script logic with external resources |
CN102246144A (zh) * | 2008-12-12 | 2011-11-16 | 诺基亚公司 | 用于在计算机平台上安装程序的方法和装置 |
CN103970573A (zh) * | 2014-05-21 | 2014-08-06 | 百度在线网络技术(北京)有限公司 | 用于移动设备的轻应用程序系统及其程序加载系统和方法 |
CN104978213A (zh) * | 2014-07-21 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 实现应用安装包的链接获取方法和装置 |
CN104391700A (zh) * | 2014-11-11 | 2015-03-04 | 百度在线网络技术(北京)有限公司 | 应用程序功能扩展方法和装置 |
CN106126205A (zh) * | 2016-06-14 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种安卓程序安装包的快速批量生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
纪星: "使用NSIS脚本语言编写安装程序", 《电脑编程技巧与维护》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597514A (zh) * | 2018-06-13 | 2019-12-20 | 研祥智能科技股份有限公司 | VxWorks下的程序发布系统 |
CN111176663A (zh) * | 2019-12-20 | 2020-05-19 | 北京字节跳动网络技术有限公司 | 应用程序的数据处理方法、装置、设备及存储介质 |
CN111176663B (zh) * | 2019-12-20 | 2024-02-02 | 抖音视界有限公司 | 应用程序的数据处理方法、装置、设备及存储介质 |
CN113190228A (zh) * | 2021-05-14 | 2021-07-30 | 北京字节跳动网络技术有限公司 | 一种脚本文件生成的方法、装置以及计算机存储介质 |
CN113190228B (zh) * | 2021-05-14 | 2024-01-26 | 抖音视界有限公司 | 一种脚本文件生成的方法、装置以及计算机存储介质 |
WO2023197926A1 (zh) * | 2022-04-15 | 2023-10-19 | 华为技术有限公司 | 一种预取函数段的方法以及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108153533B (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108153533A (zh) | 制作安装程序的方法和装置、程序的安装方法和装置 | |
CN102411506B (zh) | Java系统业务单元插件式管理系统及业务功能动态变更方法 | |
CN104965790B (zh) | 基于关键字驱动的软件测试方法及系统 | |
US7930182B2 (en) | Computer-implemented tool for creation of speech application code and associated functional specification | |
CN111930617B (zh) | 基于数据对象化的自动化测试方法及装置 | |
CN107451162A (zh) | 网络资源访问设备、混合设备及方法 | |
CN107092475A (zh) | 一种交互控件的调用方法及装置 | |
CN110609678A (zh) | 一种函数编程方法、装置及组态软件系统 | |
US20230214231A1 (en) | Driver Configuration Management Method and Apparatus, Medium, Device, and System | |
CN112306486B (zh) | 一种界面生成方法、装置、服务器及存储介质 | |
CN116263657A (zh) | 处理单元、软件模块、方法和程序代码 | |
CN107423095A (zh) | 适配硬件的数据处理方法、装置、存储介质和计算机设备 | |
CN110020370B (zh) | 在客户端应用中实现动画的方法、装置及动画脚本的框架 | |
CN102419708B (zh) | 一种j2me游戏运行方法和装置 | |
CN115658109A (zh) | 微服务热部署方法、系统、电子设备和存储介质 | |
CN112181418B (zh) | 一种核反应堆计算软件图形界面的快速构建方法及系统 | |
CN109933355A (zh) | 应用程序升级方法及装置 | |
CN111142872A (zh) | 一种主题界面的定制方法及系统 | |
CN114489607A (zh) | 跨栈应用处理与页面渲染方法、装置、设备及存储介质 | |
Soininen | Jetpack Compose vs React Native–Differences in UI Development | |
WO2013017054A1 (zh) | 自动生成用例脚本的方法和装置 | |
CN115269170A (zh) | 内存申请方法及相关设备 | |
KR100943876B1 (ko) | 무선 통신 디바이스 | |
CN113672222B (zh) | 一种应用程序接口管理装置及其构建方法 | |
CN110058893A (zh) | 一种应用程序控件的展示方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |