CN113553071B - 软件安装方法、计算机设备和存储介质 - Google Patents

软件安装方法、计算机设备和存储介质 Download PDF

Info

Publication number
CN113553071B
CN113553071B CN202110807493.XA CN202110807493A CN113553071B CN 113553071 B CN113553071 B CN 113553071B CN 202110807493 A CN202110807493 A CN 202110807493A CN 113553071 B CN113553071 B CN 113553071B
Authority
CN
China
Prior art keywords
executable file
standard library
target
software
installation
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.)
Active
Application number
CN202110807493.XA
Other languages
English (en)
Other versions
CN113553071A (zh
Inventor
笪禹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bitmain Technologies Inc
Original Assignee
Bitmain Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bitmain Technologies Inc filed Critical Bitmain Technologies Inc
Priority to CN202110807493.XA priority Critical patent/CN113553071B/zh
Publication of CN113553071A publication Critical patent/CN113553071A/zh
Application granted granted Critical
Publication of CN113553071B publication Critical patent/CN113553071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

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是本申请实施例提供的一种软件安装系统的结构示意图;
图2是本申请实施例提供的一种客户端的结构示意图;
图3是本申请实施例提供的一种软件安装方法的示意性流程图;
图4是本申请实施例提供的一种服务端生成安装包的示意性流程图;
图5是本申请实施例提供的一种对目标安装程序进行解压的子步骤的示意性流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种软件安装方法、计算机设备和存储介质。其中,该软件安装方法可以应用于服务器或终端中,通过将标准库添加到目标软件的安装包中,并在安装过程中根据标准库修改目标软件对应的可执行文件的运行环境,使得目标软件可以正常运行在安装不同版本标准库的主机中,由于目标软件在运行时加载自带的标准库,无需加载主机中的标准库,因此提高了目标软件的兼容性。
其中,服务器可以为独立的服务器,也可以为服务器集群。终端可以是智能手机、平板电脑、笔记本电脑和台式电脑等电子设备。
请参阅图1,图1是本申请实施例提供的一种软件安装系统的结构示意图。该软件安装系统可以包括服务端和客户端。其中,服务端用于生成软件的安装包,客户端用于获取服务端生成的安装包,并将安装包安装到本地磁盘。
示例性的,服务端和客户端可以在同一服务器或终端中,也可以在不同的服务器或终端中。
示例性的,当服务端和客户端在不同的服务器或终端时,服务端和客户端可以通过有线/无线的通信方式进行通信连接。例如,客户端可以与服务端建立有线/无线的通信连接,下载服务端中的软件的安装包。
在一些实施例中,服务端生成安装包,可以包括:获取编程好的可执行文件以及获取可执行文件在编程时使用的标准库;对可执行文件与标准库进行压缩和格式转换,生成数组数据;根据数组数据,生成目标安装程序;然后对目标安装程序进行校验码计算,得到目标安装程序对应的校验码;根据目标安装程序与校验码,生成安装包。
在一些实施例中,客户端安装目标软件的过程,可以包括:确定待安装的目标软件;获取待安装的目标软件对应的安装包;对安装包进行解压,获得目标软件对应的可执行文件与标准库,标准库为生成可执行文件时采用的标准库;根据标准库,修改可执行文件的运行信息,获得修改后的可执行文件;将修改后的可执行文件安装到目标目录,其中,修改后的可执行文件在运行时加载标准库。
示例性的,客户端可以根据服务端上发布的新版本软件,确定待安装的目标软件;也可以根据用户的选中操作,确定待安装的目标软件。
请参阅图2,图2是本申请实施例提供的一种客户端10的结构示意图。客户端10可以包括处理器11和存储器12,其中,所述处理器11和所述存储器12可以通过总线连接,该总线比如为I2C(Inter-integrated Circuit)总线等任意适用的总线。
其中,所述存储器12可以包括非易失性存储介质和内存储器。非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得所述处理器11执行客户端10对应的文件处理方法。
其中,所述处理器11用于提供计算和控制能力,支撑整个客户端10的运行。
其中,所述处理器11可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器11用于运行存储在存储器12中的计算机程序,以实现如下步骤:
获取待安装的目标软件对应的安装包;对所述安装包进行解压,获得所述目标软件对应的可执行文件与标准库,所述标准库为生成所述可执行文件时采用的标准库;根据所述标准库,修改所述可执行文件的运行信息,获得修改后的所述可执行文件;将修改后的所述可执行文件安装到目标目录,其中,修改后的所述可执行文件在运行时加载所述标准库。
在一个实施例中,所述处理器11在实现对所述安装包进行解压,获得所述目标软件对应的可执行文件与标准库之前,还用于实现:
根据所述校验码对所述目标安装程序进行校验。
在一个实施例中,所述处理器11在实现对所述安装包进行解压,获得所述目标软件对应的可执行文件与标准库时,用于实现:
若所述目标安装程序校验成功,则获取所述目标安装程序中的所述数组数据;对所述数组数据进行解压,得到对应的解压数据,并将所述解压数据保存至预设的临时目录;根据所述解压数据,获得所述可执行文件与所述标准库。
在一个实施例中,所述处理器11在实现对所述数组数据进行解压,得到对应的解压数据之前,还用于实现:
获取所述目标软件对应的安装路径;根据所述安装路径,生成所述临时目录与所述目标目录。
在一个实施例中,所述处理器11在实现将修改后的所述可执行文件安装到目标目录之后,还用于实现:
将所述临时目录中的所述标准库复制到所述目标目录中,并删除所述临时目录。
在一个实施例中,所述处理器11在实现根据所述标准库,修改所述可执行文件的运行信息,获得修改后的所述可执行文件时,用于实现:
获取所述标准库中的运行配置信息;根据所述运行配置信息,对所述运行信息进行修改,获得修改后的所述可执行文件。
在一个实施例中,所述处理器11在实现将修改后的所述可执行文件安装到目标目录之后,还用于实现:
当修改后的所述可执行文件运行时,根据所述解释器信息与所述搜索路径信息加载所述标准库。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图3所示,软件安装方法包括步骤S10至步骤S40。
步骤S10、获取待安装的目标软件对应的安装包。
需要说明的是,在本申请实施例中,可以自动确定待安装的目标软件,也可以根据用户的选中操作,确定待安装的目标软件。
示例性的,客户端可以根据服务端上发布新版本的软件,确定待安装的目标软件。
示例性的,客户端也可以根据用户的选中操作,确定待安装的目标软件。需要说明的是,用户可以根据实际需求,对需要版本更新的软件进行手动更新。
示例性的,在确定待安装的目标软件之后,可以从服务端上获取目标软件对应的安装包。其中,安装包可以包括目标安装程序与校验码,目标安装程序可以包括对可执行文件与标准库进行压缩和格式转换生成的数组数据,校验码为对目标安装程序进行校验码计算得到。
请参阅图4,图4是本申请实施例提供的一种服务端生成安装包的示意性流程图。如图4所示,服务端在生成软件的安装包时,可以获取软件对应的可执行文件以及获取可执行文件在生成时使用的标准库;对可执行文件与标准库进行压缩和格式转换,获得数组数据;根据数组数据,生成目标安装程序;然后对目标安装程序进行校验码计算,得到目标安装程序对应的校验码;根据目标安装程序与校验码,生成安装包。
需要说明的是,采用动态链接方式生成的可执行文件,可以保存对标准库中的全局变量、全局函数对应的引用信息;可执行文件在运行时,需要加载标准库,基于标准库解析其依赖的符号后,才可以正常运行。其中,符号可以包括全局变量、全局函数等等。在本申请实施例中,通过获取可执行文件在生成时使用的标准库,并将标准库与可执行文件打包生成目标软件的安装包,可以使得目标软件在运行时加载自带的标准库,无需加载外部标准库,从而提高了目标软件的兼容性。
示例性的,服务端可以先对可执行文件与标准库进行压缩,获得对应的压缩文件;然后对压缩文件进行格式转换,获得对应的数组数据。
例如,可以通过压缩算法,对可执行文件与标准库进行压缩,获得对应的压缩文件。其中,压缩算法可以包括但不限于RLE(Run Length Encoding)算法、哈夫曼编码算法、Rice算法以及Lempel-Ziv算法等等。
示例性的,服务端可以通过文件转数组工具,对压缩文件进行格式转换,获得对应的数组数据。其中,具体的格式转换过程,在此不作限定。需要说明的是,通过将压缩文件转换成数组数据,便于生成最终的目标安装程序,以及在安装软件时,可以对数组数据进行直接解压,得到可执行文件与标准库。
示例性的,服务端可以将数组数据添加至初始的安装程序中,获得目标安装程序。
示例性的,服务端可以基于CRC(Cyclic Redundancy Check,循环冗余校验)算法,对目标安装程序进行校验码计算,得到目标安装程序对应的校验码。当然,也可以基于摘要算法,对目标安装程序进行校验码计算,得到目标安装程序对应的校验码。其中,摘要算法可以包括但不限于MD2算法、MD4算法、MD5算法、SHA-1算法、SHA-2算法以及SHA-256算法等等。
步骤S20、对所述安装包进行解压,获得所述目标软件对应的可执行文件与标准库,所述标准库为生成所述可执行文件时采用的标准库。
在本申请实施例中,在获取待安装的目标软件对应的安装包之后,可以对安装包进行解压,从而可以得到目标软件对应的可执行文件与标准库。
在一些实施例中,对安装包进行解压,获得目标软件对应的可执行文件与标准库之前,还可以包括:根据校验码对目标安装程序进行校验。
示例性的,由于安装包包括目标安装程序与校验码,因此可以根据当前的校验码对目标安装程序进行校验。例如,可以根据CRC算法,对目标安装程序进行校验码计算,获得对应的第一校验码;对当前的校验码与第一校验码进行对比,若一致,则可以确定目标安装程序校验成功;若不一致,则可以确定目标安装程序校验失败。需要说明的是,当确定目标安装程序校验失败时,可以重新获取待安装的目标软件对应的安装包。
通过根据校验码对目标安装程序进行校验,可以检测出目标安装程序在下载过程中是否出现数据错误,避免出现安装失败的情况。
在本申请实施例中,当确定目标安装程序校验成功之后,可以对目标安装程序进行解压,获得对应的可执行文件与标准库。
请参阅图5,图5是本申请实施例提供的一种对目标安装程序进行解压的子步骤的示意性流程图,具体可以包括以下步骤S201至步骤S203。
步骤S201、若所述目标安装程序校验成功,则获取所述目标安装程序中的所述数组数据。
示例性的,当确定目标安装程序校验成功时,可以提取目标安装程序中的数组数据。
可以理解的是,由于目标安装程序是将数组数据添加至初始的安装程序中得到的,因此,可以直接从目标安装程序获得数组数据。
步骤S202、对所述数组数据进行解压,得到对应的解压数据,并将所述解压数据保存至预设的临时目录。
示例性的,可以通过解压软件,对数组数据进行解压,得到对应的解压数据,并将解压数据保存至预设的临时目录。其中,解压软件可以是WINRAR软件,也可以是其它解压软件,在此不作限定。
在一些实施例中,对数组数据进行解压,得到对应的解压数据之前,还可以包括:获取目标软件对应的安装路径;根据安装路径,生成临时目录与目标目录。
需要说明的是,临时目录用于保存解压得到的解压数据;目标目录用于保存目标软件安装后的全部数据。
示例性的,可以根据用户的路径设定操作,确定目标软件对应的安装路径;然后根据安装路径,新建一个临时文件夹以及一个目标文件夹;根据安装路径以及临时文件夹对应的名称,获得临时目录;根据安装路径以及目标文件夹对应的名称,获得目标目录。
步骤S203、根据所述解压数据,获得所述可执行文件与所述标准库。
需要说明的是,由于数组数据是对可执行文件与标准库进行压缩和格式转换得到,因此对数组数据进行解压后,得到的解压数据包括可执行文件与标准库。从而,可以直接根据解压数据,获得可执行文件与所述标准库。
通过对目标安装程序进行解压,可以得到可执行文件以及可执行文件在生成时使用的标准库。
步骤S30、根据所述标准库,修改所述可执行文件的运行信息,获得修改后的所述可执行文件。
需要说明的是,在本申请实施例中,在获得目标软件对应的可执行文件与标准库之后,可以根据标准库修改可执行文件的运行信息,使得修改后的可执行文件在运行时加载安装包中的标准库,避免加载外部标准库。从而有效解决目标软件中的可执行文件在运行时出现符号不匹配,导致目标软件出现加载标准库失败的问题。
可以理解的是,由于客户端有可能存在不同版本的标准库,若目标软件中的可执行文件在加载时,使用到客户端上低版本标准库未定义的符号,则会出现目标软件出现加载标准库失败的情况,因此需要修改可执行文件的运行信息,使得可执行文件加载安装包中自带的标准库。
在一些实施例中,根据标准库,修改可执行文件的运行信息,获得修改后的可执行文件,可以包括:获取标准库中的运行配置信息;根据运行配置信息,对运行信息进行修改,获得修改后的可执行文件。
示例性的,运行配置信息可以包括解释器信息与搜索路径信息。其中,解释器信息用于确定标准库的名称,搜索路径信息用于搜索标准库。例如,解释器信息可以是PT_INTERP信息;搜索路径信息可以是DT_RPATH信息。
需要说明的是,可执行文件在运行时,需要根据运行信息加载对应的标准库。通过根据目标软件自带的标准库中的运行配置信息,对可执行文件的运行信息进行修改,可以使得可执行文件加载目标软件自带的标准库,而不是加载主机中的其它标准库。
示例性的,可以获取标准库中的运行配置信息,例如,根据标准库中的解释器信息,确定标准库的名称;例如根据标准库中的搜索路径信息,确定标准库对应的安装路径。
示例性的,可以根据标准库的名称,对可执行文件的运行信息进行修改,使得可执行文件的运行信息包括标准库的名称;可以根据标准库对应的安装路径,对可执行文件的运行信息进行修改,使得可执行文件的运行信息包括标准库的安装路径。
通过根据标准库中的运行配置信息对运行信息进行修改,可以使得修改后的可执行文件可以根据标准库的名称以及标准库的安装路径,实现加载标准库。
步骤S40、将修改后的所述可执行文件安装到目标目录,其中,修改后的所述可执行文件在运行时加载所述标准库。
示例性的,在根据标准库,修改可执行文件的运行信息,获得修改后的可执行文件之后,需要将将修改后的可执行文件安装到目标目录,以完成目标软件的安装。
在一些实施例中,在将修改后的可执行文件安装到目标目录之后,还可以包括:将临时目录中的标准库复制到目标目录中,并删除临时目录。
通过将临时目标中的标准库复制到目标目录中,可以使得修改后的可执行文件在运行时,可以加载目标目录中的标准库,不仅可以提高加载效率,而且还可以提高成功加载标准库的概率。
在一些实施例中,将修改后的可执行文件安装到目标目录之后,还可以包括:当修改后的可执行文件运行时,根据解释器信息与搜索路径信息加载标准库。
示例性的,在修改后的可执行文件运行时,由于根据标准库中的运行配置信息对可执行文件的运行信息进行了修改,因此可以根据运行信息中的解释器信息与搜索路径信息加载标准库。例如,根据搜索路径信息,确定待加载的标准库所在的位置;然后根据解释器信息,确定待加载的标准库对应的名称,进而可以实现加载目标软件自带的标准库。
通过在修改后的可执行文件运行时,根据解释器信息与搜索路径信息加载标准库,可以准确地加载目标软件自带的标准库,避免加载外部的标准库,从而提高了目标软件的兼容性。
上述实施例提供的软件安装方法,通过根据校验码对目标安装程序进行校验,可以检测出目标安装程序在下载过程中是否出现数据错误,避免出现安装失败的情况;通过对目标安装程序进行解压,可以得到可执行文件以及可执行文件在生成时使用的标准库;通过根据标准库修改可执行文件的运行信息,使得修改后的可执行文件在运行时加载安装包中的标准库,避免加载外部标准库,从而有效解决目标软件中的可执行文件在运行时出现符号不匹配,导致目标软件出现加载标准库失败的问题;通过根据标准库中的运行配置信息对运行信息进行修改,可以使得修改后的可执行文件可以根据标准库的名称以及标准库的安装路径,实现加载标准库;通过将临时目标中的标准库复制到目标目录中,可以使得修改后的可执行文件在运行时,可以加载目标目录中的标准库,不仅可以提高加载效率,而且还可以提高成功加载标准库的概率;通过在修改后的可执行文件运行时,根据解释器信息与搜索路径信息加载标准库,可以准确地加载目标软件自带的标准库,避免加载外部的标准库,从而提高了目标软件的兼容性。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项软件安装方法。
例如,该计算机程序被处理器加载,可以执行如下步骤:
获取待安装的目标软件对应的安装包;对所述安装包进行解压,获得所述目标软件对应的可执行文件与标准库,所述标准库为生成所述可执行文件时采用的标准库;根据所述标准库,修改所述可执行文件的运行信息,获得修改后的所述可执行文件;将修改后的所述可执行文件安装到目标目录,其中,修改后的所述可执行文件在运行时加载所述标准库。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种软件安装方法,其特征在于,包括:
获取待安装的目标软件对应的安装包;
对所述安装包进行解压,获得所述目标软件对应的可执行文件与标准库,所述标准库为生成所述可执行文件时采用的标准库,所述可执行文件为基于动态连接方式生成的;
根据所述标准库,修改所述可执行文件的运行信息,获得修改后的所述可执行文件;
将修改后的所述可执行文件安装到目标目录,其中,修改后的所述可执行文件在运行时加载所述标准库;
所述根据所述标准库,修改所述可执行文件的运行信息,获得修改后的所述可执行文件,包括:获取所述标准库中的运行配置信息;根据所述运行配置信息,对所述运行信息进行修改,获得修改后的所述可执行文件,所述运行配置信息包括解释器信息与搜索路径信息,所述解释器信息用于确定所述标准库的名称,所述搜索路径信息用于搜索所述标准库。
2.根据权利要求1所述的软件安装方法,其特征在于,所述安装包包括目标安装程序与校验码,所述目标安装程序包括对所述可执行文件与所述标准库进行压缩和格式转换生成的数组数据,所述校验码为对所述目标安装程序进行校验码计算得到。
3.根据权利要求2所述的软件安装方法,其特征在于,所述对所述安装包进行解压,获得所述目标软件对应的可执行文件与标准库之前,还包括:
根据所述校验码对所述目标安装程序进行校验;
所述对所述安装包进行解压,获得所述目标软件对应的可执行文件与标准库,包括:
若所述目标安装程序校验成功,则获取所述目标安装程序中的所述数组数据;
对所述数组数据进行解压,得到对应的解压数据,并将所述解压数据保存至预设的临时目录;
根据所述解压数据,获得所述可执行文件与所述标准库。
4.根据权利要求3所述的软件安装方法,其特征在于,所述对所述数组数据进行解压,得到对应的解压数据之前,还包括:
获取所述目标软件对应的安装路径;
根据所述安装路径,生成所述临时目录与所述目标目录。
5.根据权利要求4所述的软件安装方法,其特征在于,所述将修改后的所述可执行文件安装到目标目录之后,还包括:
将所述临时目录中的所述标准库复制到所述目标目录中,并删除所述临时目录。
6.根据权利要求1所述的软件安装方法,其特征在于,所述将修改后的所述可执行文件安装到目标目录之后,还包括:
当修改后的所述可执行文件运行时,根据所述解释器信息与所述搜索路径信息加载所述标准库。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至6任一项所述的软件安装方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至6任一项所述的软件安装方法。
CN202110807493.XA 2021-07-16 2021-07-16 软件安装方法、计算机设备和存储介质 Active CN113553071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110807493.XA CN113553071B (zh) 2021-07-16 2021-07-16 软件安装方法、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110807493.XA CN113553071B (zh) 2021-07-16 2021-07-16 软件安装方法、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113553071A CN113553071A (zh) 2021-10-26
CN113553071B true CN113553071B (zh) 2024-03-12

Family

ID=78131934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110807493.XA Active CN113553071B (zh) 2021-07-16 2021-07-16 软件安装方法、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113553071B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984184A (zh) * 2018-06-22 2018-12-11 珠海市君天电子科技有限公司 一种软件安装方法、装置及电子设备、存储介质
KR20190112491A (ko) * 2018-03-26 2019-10-07 삼성에스디에스 주식회사 애플리케이션 변환 장치 및 방법
CN110457044A (zh) * 2019-07-04 2019-11-15 广东三维家信息科技有限公司 Haxe应用程序的编译方法、装置及电子设备
CN110674474A (zh) * 2019-09-19 2020-01-10 大唐高鸿信安(浙江)信息科技有限公司 一种应用程序的运行控制方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190112491A (ko) * 2018-03-26 2019-10-07 삼성에스디에스 주식회사 애플리케이션 변환 장치 및 방법
CN108984184A (zh) * 2018-06-22 2018-12-11 珠海市君天电子科技有限公司 一种软件安装方法、装置及电子设备、存储介质
CN110457044A (zh) * 2019-07-04 2019-11-15 广东三维家信息科技有限公司 Haxe应用程序的编译方法、装置及电子设备
CN110674474A (zh) * 2019-09-19 2020-01-10 大唐高鸿信安(浙江)信息科技有限公司 一种应用程序的运行控制方法及装置

Also Published As

Publication number Publication date
CN113553071A (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
CN102521081B (zh) 修复遭破坏的软件
KR101003888B1 (ko) 전자 장치에서의 3-단계 부팅 프로세스
KR101143112B1 (ko) 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법
US20070294685A1 (en) Program upgrade system and method for ota-capable portable device
CN113326058B (zh) 一种应用的版本更新方法、装置、设备及介质
WO2008007922A1 (en) Program upgrade system and method for ota-capable mobile terminal
US20130138934A1 (en) Loading configuration information
US8549165B2 (en) Processing devices and methods for transmitting and receiving data
CN111880826A (zh) 云业务应用升级方法、装置、电子设备和存储介质
CN111782523B (zh) 云端服务部署测试方法、装置、电子设备和存储介质
EP3563247A1 (en) Method and apparatus for compressing an application
CN107239309A (zh) 补丁生成方法及装置、更新方法、电子设备、存储介质
CN113138768A (zh) 应用程序包生成方法、装置、电子设备以及可读存储介质
CN106155723B (zh) 业务应用程序的升级方法和装置、终端和计算机存储介质
CN115543429A (zh) 项目环境的搭建方法、电子设备及计算机可读存储介质
CN110620800B (zh) 电力二次系统跨安全区的配置数据同步处理方法和装置
CN112286543B (zh) 一种应用服务部署方法及装置
CN113553071B (zh) 软件安装方法、计算机设备和存储介质
CN113741954A (zh) 系统软件生成方法、装置、电子设备及存储介质
CN106445737B (zh) 一种多备份启动方法
CN107301105B (zh) 校验热补丁或者动态库的方法及装置
CN108959915B (zh) 一种rootkit检测方法、装置及服务器
US10210334B2 (en) Systems and methods for software integrity assurance via validation using build-time integrity windows
CN115658388A (zh) 应用程序兼容模式运行方法和装置、计算设备
CN114090070A (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