CN111782230B - 程序安装控制方法、装置和电子设备 - Google Patents

程序安装控制方法、装置和电子设备 Download PDF

Info

Publication number
CN111782230B
CN111782230B CN202010646197.1A CN202010646197A CN111782230B CN 111782230 B CN111782230 B CN 111782230B CN 202010646197 A CN202010646197 A CN 202010646197A CN 111782230 B CN111782230 B CN 111782230B
Authority
CN
China
Prior art keywords
file
installation
script
script file
memory
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
CN202010646197.1A
Other languages
English (en)
Other versions
CN111782230A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202010646197.1A priority Critical patent/CN111782230B/zh
Publication of CN111782230A publication Critical patent/CN111782230A/zh
Application granted granted Critical
Publication of CN111782230B publication Critical patent/CN111782230B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种程序安装控制方法、装置和电子设备,该方法包括:将待安装的管理程序的安装包文件复制到内存,得到内存中存储的安装包文件,其中,该安装包文件包括位于第一压缩包内的第一脚本文件;向该内存中的安装包文件内添加包含第二脚本文件的第二压缩包,并配置该第二脚本文件为替代该第一脚本文件生效的脚本文件;利用该内存中添加有该第二脚本文件的安装包文件安装该管理程序。本申请的方案可以实现对管理程序的安装包文件内存在问题的脚本文件进行修改替换。

Description

程序安装控制方法、装置和电子设备
技术领域
本申请涉及信息技术领域,更具体地说,涉及一种程序安装控制方法、装置和电子设备。
背景技术
管理程序是用于实现软件安装及运行的程序,如,管理程序可以包括虚拟机管理程序。
其中,管理程序的安装盘可以为光盘、U盘或者虚拟光盘等,利用该安装盘可以实现向电子设备中安装管理程序。然而,如果安装盘中管理程序的安装包文件中的部分脚本文件存在漏洞或者存在其他导致管理程序无法安装的情况,则会影响到管理程序的正常安装。然而管理程序的安装盘难以修改,且从安全性角度考虑,也不适合对安装盘中的文件进行修改。可见,如何在管理程序的安装包文件存在需要修改的内容下,能够实现对安装包文件的修改并保证管理程序的正常安装是本领域技术人员迫切需要解决的技术问题。
发明内容
本申请提供了一种程序安装控制方法、装置和电子设备。
其中,一种程序安装控制方法,包括:
将待安装的管理程序的安装包文件复制到内存,得到内存中存储的安装包文件,其中,所述安装包文件包括位于第一压缩包内的第一脚本文件;
向所述内存中的安装包文件内添加包含第二脚本文件的第二压缩包,并配置所述第二脚本文件为替代所述第一脚本文件生效的脚本文件;
利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序。
优选的,所述管理程序的安装包文件包含安装引导程序的数据,其中,所述安装引导程序用于控制具有相同文件名和文件路径的至少两个脚本文件中加载顺序靠后的脚本文件生效;
所述配置所述第二脚本文件为替代所述第一脚本文件生效的脚本文件,包括:
配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后,其中,所述第二脚本文件与所述第一脚本文件对应相同的文件名和文件路径。
优选的,还包括:在内存中创建虚拟内存盘;
所述将待安装的管理程序的安装包文件复制到内存,包括:
将待安装的管理程序的安装包文件复制到所述虚拟内存盘。
优选的,所述第一脚本文件为第一密码检查程序的脚本文件,所述第二脚本文件为第二密码检查程序的脚本文件,所述第二密码检查程序与所述第一密码检查程序的密码检查规则不同;
所述方法还包括:
获得向安装配置文件中配置的密码,所述安装配置文件为用于安装管理程序的配置文件;
通过固件系统中配置的所述第一密码检查程序检测所述密码是否符合密码设定要求;
所述将待安装的管理程序的安装包文件复制到内存,包括:
如所述密码不符合密码设定要求,将待安装的管理程序的安装包文件复制到内存。
优选的,所述配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后,包括:
在所述内存存储的安装包文件中的加载配置文件中,配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后。
优选的,所述利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序,包括:
获得包含所述密码的安装配置文件;
基于所述安装配置文件,并利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序。
优选的,所述将待安装的管理程序的安装包文件复制到内存,包括:
将所述待安装的管理程序的安装盘中的安装包文件复制到内存;
所述方法还包括:
如所述密码符合密码设定要求,利用所述安装盘中的安装包文件安装所述管理程序。
其中,本申请还提供了一种程序安装控制装置,包括:
文件复制单元,用于将待安装的管理程序的安装包文件复制到内存,得到内存中存储的安装包文件,其中,所述安装包文件包括位于第一压缩包内的第一脚本文件;
脚本添加单元,用于向所述内存中的安装包文件内添加包含第二脚本文件的第二压缩包,并配置所述第二脚本文件为替代所述第一脚本文件生效的脚本文件;
安装控制单元,用于利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序。
优选的,所述文件复制单元中待安装的管理程序的安装包文件包含安装引导程序的数据,其中,所述安装引导程序用于控制具有相同文件名和文件路径的至少两个脚本文件中加载顺序靠后的脚本文件生效;
所述脚本添加单元在配置所述第二脚本文件为替代所述第一脚本文件生效的脚本文件时,具体为,用于配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后,其中,所述第二脚本文件与所述第一脚本文件对应相同的文件名和文件路径。
其中,一种电子设备,包括:
存储器和处理器;
其中,所述处理器,用于执行如上任一项所述的程序安装控制方法。
通过以上方案可知,本申请在将待安装的管理程序的安装包文件复制到内存后,可以向内存中该安装包文件内添加包含第二脚本文件的第二压缩包,并配置该第二脚本文件为替代该安装包文件内的第一脚本文件生效的脚本文件,在此基础上,利用该内存中添加有该第二脚本文件的安装包文件安装该管理程序,便可以使得第二脚本文件替代第一脚本文件生效,从而可以在不对管理程序的安装盘进行修改的基础上,实现对管理程序的安装包文件内存在问题的脚本文件进行替换,并能使得替换的脚本文件生效,进而降低了由于无法修改管理程序的安装包文件而导致管理程序安装出现异常的情况。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种程序安装控制方法一个实施例的流程示意图;
图2为本申请提供的一种程序安装控制方法又一个实施例的流程示意图;
图3为本申请提供的一种程序安装控制方法又一个实施例的流程示意图;
图4为本申请提供的一种程序安装控制方法在一种应用场景内的流程示意图;
图5为本申请提供的一种程序安装控制装置一个实施例的组成结构示意图;
图6为本申请提供的一种电子设备的组成结构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请提供的一种程序安装控制方法一个实施例的流程示意图,本实施例的方法可以应用于笔记本电脑、个人台式计算机以及服务器等电子设备。
本实施例的方法可以包括:
S101,将待安装的管理程序的安装包文件复制到内存,得到内存中存储的安装包文件。
其中,管理程序是指能够实现对软件程序安装以及运行等进行管理的程序。
如,在一种可能的实现方式中,该管理程序可以为虚拟机管理程序,虚拟机管理程序可以用于实现虚拟机安装及运行的程序。如,较为常见的虚拟机管理程序可以包括:ESXi各个版本,例如ESXi7等,其中,ESXi至少可以用于实现下载并运行虚拟机。
其中,安装包文件包括位于第一压缩包内的第一脚本文件。可以理解的是,安装包文件可以包括至少一个压缩包,压缩包内可以包括一个或者多个脚本文件。程序中不同的脚本文件所实现的功能也会所有不同。
在本实施例中,为了便于区分,将管理程序中原始存在的,且由于存在异常等问题而希望被替换的脚本文件称为第一脚本文件,并将该第一脚本文件所在的压缩包称为第一压缩包。
可以理解的是,考虑到管理程序的安装包文件一般都存在于光盘、U盘等安装盘呢,因此,此处可以将是待安装的管理程序的安装盘中该管理程序的安装包文件复制到内存。
可以理解的是,在将管理程序的安装包文件复制到内存之后,可以有效避免直接对管理程序的安装盘内的安装包文件进行修改,既有利于降低修改该安装包文件的难度,也减少修改安装盘内的文件所带来的安全性问题。
在一种可能的实现方式中,考虑到管理程序的安装都是基于安装盘来进行安装,为了尽可能保持该管理程序的安装流程一致,本申请还可以在该步骤之前,在内存中创建虚拟内存盘。其中,虚拟内存盘是通过软件将一部分内存模拟为硬盘来使用的一种技术。相应的,可以将待安装的管理程序的安装包文件复制到该虚拟内存盘。
S102,向该内存中的安装包文件内添加包含第二脚本文件的第二压缩包,并配置该第二脚本文件为替代该第一脚本文件生效的脚本文件。
其中,为了便于区分,将需要向内存的安装包文件内添加的脚本文件称为第二脚本文件,该第二脚本文件用于替换第一脚本文件。
其中,第二脚本文件和第一脚本文件可以实现相同功能的脚本文件,只不过第一脚本文件中可能会存在错误或者漏洞等问题,因此,需要通过添加用于替换该第一脚本文件的第二脚本文件,以使得该管理程序最终基于第二脚本文件实现相应功能。
其中,将该第二脚本文件配置为替代该第一脚本文件的脚本文件实际上就是配置该第一脚本文件为失效的脚本文件,而该第二脚本文件为替代第一脚本文件生效的脚本文件。
其中,具体的配置方式可以有多种可能,后续会以几种可能情况进行说明,在此不再赘述。
S103,利用该内存中添加有该第二脚本文件的安装包文件安装该管理程序。
可以理解的是,在配置内存的安装包文件中该第二脚本文件为替代第一脚本文件生效的脚本文件之后,在基于内存中该安装包文件安装该管理程序的过程中,并不会将第一配置文件生效,而只会加载并使得第二配置文件生效,使得第二配置文件被运行。可见,虽然并未直接修改第一脚本文件的基础上,但是通过本方案实际上实现了将修改管理程序的安装包文件内第一脚本文件修改为第二脚本文件的效果,以就达到了修改管理程序的安装包文件的目的。
本申请实施例的方案可以由电子设备的固件系统来完成,其中,固件系统用于连接操作系统与固件的接口系统,实现启动固件的引导流程。如,该固件系统可以为统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI),或者是,基本输入输出(Basic Input Output System,BIOS)系统。相应的,固件系统在完成对内存中安装包文件的修改之后,可以触发启动安装该安装包文件。
其中,在安装包文件中可以安装引导程序,在触发启动安装该安装包文件之后,安装引导程序会解析安装包文件内的压缩包、加载压缩包内的脚本文件,并控制相应的脚本文件生效。具体启动安装包文件执行该管理程序的安装的具体过程可以与基于管理程序的安装盘安装管理程序的过程相似,在此不再赘述。
可见,本申请在将待安装的管理程序的安装包文件复制到内存后,可以向内存中该安装包文件内添加包含第二脚本文件的第二压缩包,并配置该第二脚本文件为替代该安装包文件内的第一脚本文件生效的脚本文件,在此基础上,利用该内存中添加有该第二脚本文件的安装包文件安装该管理程序,便可以使得第二脚本文件替代第一脚本文件生效,从而可以在不对管理程序的安装盘进行修改的基础上,实现对管理程序的安装包文件内存在问题的脚本文件进行替换,并能使得替换的脚本文件生效,进而降低了由于无法修改管理程序的安装包文件而导致管理程序安装出现异常的情况。
为了便于理解本申请的方案,下面结合配置第二脚本文件为替代第一脚本文件生效的脚本文件的不同情况对本申请的程序安装控制方法进行介绍。如,参见图2,其示出了本申请一种程序安装控制方法又一个实施例的流程示意图,本实施例的方法可以包括:
S201,创建虚拟内存盘。
S202,将待安装的管理程序的安装包文件复制到该虚拟内存盘,得到内存中存储的安装包文件。
其中,该管理程序的安装包文件包含安装引导程序的数据。其中,该安装引导程序是安装包文件内用于基于该安装包文件实现安装该管理程序的程序。
在本实施例中,该安装引导程序用于控制具有相同文件名和文件路径的至少两个脚本文件中加载顺序靠后的脚本文件生效。
可以理解的是,由于同一个压缩包内的脚本文件并不能具有相同的文件名,也不可能具有相同的文件路径,因此,此处提到的具有相同文件名和文件路径的脚本文件是指位于不同压缩包内但是具有相同文件名和文件路径的脚本文件。
在内存中创建虚拟内存盘是在内存中模拟硬盘,相应的,将管理程序的安装包文件转移到该虚拟出的硬盘内,从而得到包含管理程序的安装包文件的虚拟硬盘。
需要说明的是,本实施例仅仅是为了便于理解,以待安装的管理程序的安装包复制到虚拟内存盘为例说明,但是直接将该安装包文件复制到内存中的情况也同样适用于本实施例。
S203,向该虚拟内存盘中的安装包文件内添加包含第二脚本文件的第二压缩包,并配置该第二脚本文件的加载顺序位于该第一脚本文件的加载顺序之后。
其中,第二脚本文件与该第一脚本文件对应相同的文件名和文件路径。其中,该文件路径相同是指第一脚本文件在第一压缩包内的路径与第二脚本文件在第二压缩包内的路径相同。
可以理解的是,由于安装引导程序具有使得具有相同文件名和文件路径的至少两个脚本文件中加载顺序靠后的脚本文件生效这一特性,因此,如果不同压缩包内包括具有相同文件名和文件路径的两个脚本文件,那么只需要将希望保留的脚本文件的加载顺序设置为位于另一个脚本文件的后面,则可以通过该安装引导程序将加载顺序靠后的脚本文件生效。
在一种可能的实现方式中,管理程序的安装包文件中还可以包括加载配置文件,该加载配置文件中记录有该安装包文件内各个压缩包内所涉及到的脚本文件的加载顺序。因此,可以在内存存储的该安装包文件中的加载配置文件中,配置该第二脚本文件的加载顺序位于该第一脚本文件的加载顺序之后。
相应的,利用内存中安装包文件安装管理程序的过程中,便可以基于该加载配置文件确定各个脚本文件的加载顺序,并控制先加载第一脚本文件再加载第二脚本文件。
S204,利用该虚拟内存盘中添加有该第二脚本文件的安装包文件安装该管理程序。
在本实施例中利用该安装内存盘中修改后的安装包文件安装该管理程序的过程中,该安装包文件内的安装引导程序便可以基于加载顺序先加载第一脚本文件在加载第二脚本文件,同时,由于第一脚本文件和第二脚本文件具有相同的文件名和路径,因此,该安装引导程序可以将第二脚本文件生效。
为了便于理解本实施例的好处,下面举例说明:
假设管理程序的安装包文件中某个压缩包A内的脚本文件A存在漏洞。如果用户希望对安装包文件进行该漏洞修复,则可以预先构建出包含脚本文件B的压缩包B,并该脚本文件B与该脚本文件A设置为相同文件名,并使得脚本文件B在压缩包B内的文件路径与脚本文件A在压缩包A的文件路径相同。
在以上基础上,电子设备在将管理程序的安装包文件复制到内存虚拟盘之后,可以获得该压缩包B,并将压缩包B添加到内存虚拟盘的该安装包文件中。然后,通过将安装包文件内的加载配置文件中加载顺序设置为脚本文件B在脚本文件B之后,在基于该内存虚拟盘内的安装包文件安装该管理程序时,通过运行安装包文件内的安装引导程序,该安装引导程序便会控制该脚本文件B,从而避免由于脚本文件A存在漏洞导致管理程序出现安装问题或者存在其他异常。
可以理解的是,图2是配置第二脚本文件为替代第一脚本文件生效的脚本文件的一种实现方式。在实际应用中,如还可以为第二脚本文件设置生效标识,而使得与第一脚本文件具有相同文件名和文件路径的第二脚本文件作为可生效的脚本文件,相应的,在安装管理程序过程中,如果存在两个脚本文件相同,则可以控制具有生效标识的脚本文件生效,而不具有生效标识的脚本文件不生效。
当然,还可以有其他可能配置第二脚本文件为需要生效的脚本文件的方式,对此不加限制。
可以理解的是,有些管理程序的安装包文件内可能并不存在漏洞,但是却可能存在脚本文件或者脚本文件执行功能所依据的规则不是用户期望的,则用户也会存在修改该安装包文件中该脚本文件的需求。
如,较为常见的一种情况为,很多管理程序会对用户设定的密码强度有要求。比如,有些管理程序对设定的密钥会要求:需要包含数字、大小写字符和特殊字符,而且还可能要求不能包含某些特定序列的字符串,例如,密码中不能包含键盘中相邻位置的字符等等。
而为了安装管理程序,可能需要为管理程序生成一安装配置文件,该安装配置文件中需要包括用户定义的密码,但是,如果用户定义的密码不符合管理程序中设定的密码规则,则会导致后续安装过程中报错。然而,很多情况下,用户可能并不希望完全按照管理程序中密码规则来设定密码,而希望设定一些用户能够较为敏感或者容易记忆的密码。那么为了满足这一用户需求,则可以通过本申请的方案来修改管理程序的安装包文件中用于实现密码检查的脚本文件。
如图3所示,其示出了本申请一种程序安装控制方法又一个实施例的流程示意图,本实施例的方法适用于管理程序安装过程中涉及密码检查的情况,相应的,该管理程序的安装包文件包括密码检查程序的脚本文件。
S301,获得向安装配置文件中配置的密码。
其中,安装配置文件为用于安装管理程序的配置文件。该安装配置文件中包括安装管理程序所需的一些配置信息,其中,在该安装配置文件中至少需要包括该管理程序安装过程中所需要验证的密码。该安装配置文件中的密码由用户设定。
如,固件系统(如UEFI)可以输出密码输入界面,并获得该密码输入界面输入的密码,则获得的密码为需要配置到安装配置文件中的密码。
S302,通过固件系统中配置的第一密码检查程序检测获得的密码是否符合密码设定要求,如果否,则执行步骤S303;如果是,则执行步骤S306。
可以理解的是,在自动安装管理程序的过程中,为了由于密码格式不符合管理程序中对应的密码格式要求而导致安装异常,固件系统会先对获得的密码进行格式检测。
其中,该固件系统中可以预置有第一密码检查程序,该第一密码检查程序也是管理程序中用于检测密码格式是否符合要求的程序,因此,如果通过该固件系统利用该第一密码检查程序确认S301中获得密码符合密码设定要求,则说明该S301中获得到密码符合该管理程序中的密码设定要求。
S303,将待安装的管理程序的安装盘中的安装包文件复制到内存。
可以理解的是,在用户设定的密码不符合管理程序的密码设定要求的情况下,为了能够使得用户的密码可用,或者在无人监管的程序安装场景下,为了保证管理程序的正常安装,则可以对该管理程序中用于进行密码检查的脚本文件进行修改。
可以理解的是,该管理程序的安装包文件至少包括:第一压缩包,该第一压缩包内包括第一密码检查程序的脚本文件,为了便于区分,将第一密码检查程序的脚本文件称为第一密码检查脚本,也可以称为第一脚本文件。
S304,向该内存中的安装包文件内添加包含第二密码检查脚本文件的第二压缩包,并配置该第二密码检查脚本文件为替代该第一密码检查脚本文件生效的脚本文件。
该第二密码检查脚本文件为第二密码检查程序的脚本文件,也可以称为第二脚本文件。
其中,该第二密码检查程序与该第一密码检查程序都是属于检查密码是否符合规则的程序,但是第二密码检查程序与第一密码检查程序的密码检查规则不同。
如,第一密码检查程序要求密码中必须包括数字、字母和设定的特殊符合,且密码的位数需要超过8位,而第二密码检查程序则可以要求密码包括数字、字母和特殊字符中任意两种即可,且密码的位数不低于6位即可。
其中,该第二密码检查脚本文件可以是预先配置的,适合该S301中获得的密码的密码检查程序的脚本文件,如,该第二密码检查脚本为;也可以是基于获得密码以及固件系统中配置的第一密码检查程序生成的。
其中,配置该第二密码检查脚本文件为替代该第一密码检查脚本文件生效的脚本文件的具体方式可以参见前面任意一个实施例中的相关介绍,在此不再赘述。
S305,利用该内存中添加有该第二密码检查脚本文件的安装包文件安装该管理程序。
在一种可能的实现方式中,由于安装该管理程序需要利用包含有密码的安装配置文件,因此,在该步骤S305之前,还可以先获得包含S301中获得的该密码的安装配置文件,其中,关于安装配置文件的具体配置以及获得过程的具体实现可以采用任意可实现方式,本实施例对此不加限制,具体可与目前获得管理程序的安装配置文件的过程相似,在此不再赘述。
相应的,可以基于该安装配置文件,并利用该内存中添加有第二密码检查脚本文件的安装包文件安装该管理程序。其中,安装该管理程序的过程与前面实施例的过程相似,只不过在安装该管理程序的过程中,会检测该安装配置文件中的密码是否符合密码要求。
可以理解的是,由于本申请安装该管理程序中会将第二密码检查脚本文件生效,因此,在安装管理程序的过程中,可以基于生效的该第二密码检查脚本对应的第二密码检查程序检测安装配置文件中的密码是否符合要求,从而可以有效减少由于密码不符合要求而导致管理程序安装错误的情况。
S306,如该密码符合密码设定要求,利用该安装盘中的安装包文件安装该管理程序。
可以理解的是,如果S301获得的密码符合第一密码检查程序的密码设定要求,则说明该密码符合管理程序中的密码设定要求,从而不会出现由于密码不符合要求而导致该管理程序安装异常的情况。在该种情况下,则无需对该管理程序的安装包文件进行修改,从而可以直接基于该安装包中的安装包文件执行该管理程序的安装。
需要说明的是,本实施例是以将管理程序的安装盘中的安装包文件复制到内存中为例说明,但是对于其他情况也适用于本实施例。相应的,该步骤S306为一可选步骤,可以根据实际情况选择执行或者不执行该步骤。
为了能够更清楚的理解本申请的方案,下面结合一应用场景进行介绍。以管理程序为虚拟机管理程序为例说明。为了便于描述,以该虚拟机管理程序可以为EXSI程序为例,该种虚拟机管理程序在安装过程中会检测用户设定的密码是否符合要求。基于此,为了避免由于用户密码设置不符合要求,而导致虚拟机管理程序运行异常,可以通过本申请的方案对虚拟机管理程序中的密码检查程序进行修改。
如,参见图4所示,其示出了本申请的程序安装控制方法应用于ESXI等虚拟机管理程序中的一种流程示意图,本实施例可以包括:
S401,电子设备的UEFI获得向安装配置文件中配置的密码。
其中,安装配置文件为用于安装ESXI(如ESXI7等EXSI相关版本的虚拟机管理程序)的配置文件。
本实施例以由固件系统执行该实施例为例说明,且以固件系统为UEFI为例,对于固件系统为其他情况也适用于本实施例。
S402,通过UEFI中配置的第一密码检查程序检测获得的密码是否符合密码设定要求,如果否,则执行步骤S403;如果是,则执行步骤S408。
S403,创建虚拟内存盘。
S404,将待安装的ESXI的安装盘中的ESXI安装包文件复制到该虚拟内存盘。
S405,向该虚拟内存盘中ESXI安装包文件内添加包含第二密码检查脚本文件的第二压缩包,并在虚拟内存盘中该ESXI安装包文件内的加载配置文件中配置该第二密码检查脚本文件的加载顺序位于第一密码检查脚本文件之后。
其中,该第二密码检查脚本文件为第二密码检查程序的脚本文件。第一密码检查脚本文件为ESXI安装包文件原始已有的第一密码检查程序的脚本文件。
其中,第二密码检查脚本文件的文件名与第一密码检查脚本文件的文件名相同,且第二密码检查脚本文件在第二压缩包中的文件路径与第二密码检查脚本文件在第一压缩包中的文件路径相同。
其中,该第二密码检查程序与该第一密码检查程序都属于检查密码是否符合规则的程序,但是这两个程序的密码检查规则不同。
S406,获得包含密码的安装配置文件。
S407,基于该安装配置文件,利用该虚拟内存盘中添加有该第二密码检查脚本文件的ESXI安装包文件安装该ESXI程序。
在基于ESXI安装包文件安装ESXI的过程中,所启动的安装运行环境里的文件系统是VMware专有的VisorFS文件系统。而该VisorFS有一个特性:如果多个压缩包里包含同名、同路径的文件,则最后加载的那个压缩包里的文件会生效。基于此,通过该步骤S407可以使得第二加密检查脚本生效。
S408,如该密码符合密码设定要求,利用该安装盘中的ESXI安装包文件安装该ESXI程序。
对应本申请的一种程序安装控制方法,本申请还提供了一种程序安装控制装置。如图5所示,其示出了本申请一种程序安装控制装置的一种组成结构示意图,本实施例的装置可以包括:
文件复制单元501,用于将待安装的管理程序的安装包文件复制到内存,得到内存中存储的安装包文件,其中,所述安装包文件包括位于第一压缩包内的第一脚本文件;
脚本添加单元502,用于向所述内存中的安装包文件内添加包含第二脚本文件的第二压缩包,并配置所述第二脚本文件为替代所述第一脚本文件生效的脚本文件;
安装控制单元503,用于利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序。
在一种可能的实现方式中,所述文件复制单元中待安装的管理程序的安装包文件包含安装引导程序的数据,其中,所述安装引导程序用于控制具有相同文件名和文件路径的至少两个脚本文件中加载顺序靠后的脚本文件生效;
所述脚本添加单元在配置所述第二脚本文件为替代所述第一脚本文件生效的脚本文件时,具体为,用于配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后,其中,所述第二脚本文件与所述第一脚本文件对应相同的文件名和文件路径。
可选的,该脚本添加在配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后,具体为,在所述内存存储的安装包文件中的加载配置文件中,配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后。
在又一种可能的实现方式中,该装置还可以包括:盘创建单元,用于在内存中创建虚拟内存盘;
该文件复制单元,具体为,用于将待安装的管理程序的安装包文件复制到所述虚拟内存盘。
在又一种可能的实现方式中,第一脚本文件为第一密码检查程序的脚本文件,所述第二脚本文件为第二密码检查程序的脚本文件,所述第二密码检查程序与所述第一密码检查程序的密码检查规则不同;
相应的,该装置还包括:
密码获得单元,用于获得向安装配置文件中配置的密码,所述安装配置文件为用于安装管理程序的配置文件;
密码检测单元,用于通过固件系统中配置的所述第一密码检查程序检测所述密码是否符合密码设定要求;
所述文件复制单元,具体为,用于如所述密码不符合密码设定要求,将待安装的管理程序的安装包文件复制到内存。
可选的,该安装控制单元,包括:
文件获得子单元,用于获得包含所述密码的安装配置文件;
安装控制子单元,用于基于所述安装配置文件,并利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序。
可选的,所述文件复制单元,具体为,用于将所述待安装的管理程序的安装盘中的安装包文件复制到内存;
该装置还包括:
盘文件安装单元,用于如所述密码符合密码设定要求,利用所述安装盘中的安装包文件安装所述管理程序。
又一方面,本申请提供了一种电子设备。如图6所示,其示出了本申请一种电子设备的一种组成结构示意图,该电子设备可以包括:
处理器601和存储器602。
其中,该处理器601用于执行如上任一个实施例中的程序安装控制方法。
该存储器602用于存储处理器执行操作所需的程序。
其中,该存储器还可以存储有固件系统等。
可以理解的是,该电子设备还可以包括显示器603、输入单元604以及通信总线605等等。当然,该电子设备还可以具有比图6更多或者更少的部件,对此不加限制。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种程序安装控制方法,包括:
将待安装的管理程序的安装包文件复制到内存,得到内存中存储的安装包文件,其中,所述管理程序的安装包文件包含安装引导程序的数据,所述安装引导程序用于控制具有相同文件名和文件路径的至少两个脚本文件中加载顺序靠后的脚本文件生效;所述安装包文件包括位于第一压缩包内的第一脚本文件;
向所述内存中的安装包文件内添加包含第二脚本文件的第二压缩包,而无需修改所述第一脚本文件,并配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后,其中,所述第二脚本文件与所述第一脚本文件对应相同的文件名和文件路径;所述第二脚本文件和所述第一脚本文件是实现相同功能的脚本文件;
利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序。
2.根据权利要求1所述的方法,还包括:在内存中创建虚拟内存盘;
所述将待安装的管理程序的安装包文件复制到内存,包括:
将待安装的管理程序的安装包文件复制到所述虚拟内存盘。
3.根据权利要求1所述的方法,所述第一脚本文件为第一密码检查程序的脚本文件,所述第二脚本文件为第二密码检查程序的脚本文件,所述第二密码检查程序与所述第一密码检查程序的密码检查规则不同;
所述方法还包括:
获得向安装配置文件中配置的密码,所述安装配置文件为用于安装管理程序的配置文件;
通过固件系统中配置的所述第一密码检查程序检测所述密码是否符合密码设定要求;
所述将待安装的管理程序的安装包文件复制到内存,包括:
如所述密码不符合密码设定要求,将待安装的管理程序的安装包文件复制到内存。
4.根据权利要求1所述的方法,所述配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后,包括:
在所述内存存储的安装包文件中的加载配置文件中,配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后。
5.根据权利要求3所述的方法,所述利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序,包括:
获得包含所述密码的安装配置文件;
基于所述安装配置文件,并利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序。
6.根据权利要求3所述的方法,所述将待安装的管理程序的安装包文件复制到内存,包括:
将所述待安装的管理程序的安装盘中的安装包文件复制到内存;
所述方法还包括:
如所述密码符合密码设定要求,利用所述安装盘中的安装包文件安装所述管理程序。
7.一种程序安装控制装置,包括:
文件复制单元,用于将待安装的管理程序的安装包文件复制到内存,得到内存中存储的安装包文件,其中,所述安装包文件包括位于第一压缩包内的第一脚本文件;
脚本添加单元,用于向所述内存中的安装包文件内添加包含第二脚本文件的第二压缩包,并配置所述第二脚本文件为替代所述第一脚本文件生效的脚本文件;所述第二脚本文件和所述第一脚本文件是实现相同功能的脚本文件;
安装控制单元,用于利用所述内存中添加有所述第二脚本文件的安装包文件安装所述管理程序;
所述文件复制单元中待安装的管理程序的安装包文件包含安装引导程序的数据,其中,所述安装引导程序用于控制具有相同文件名和文件路径的至少两个脚本文件中加载顺序靠后的脚本文件生效;
所述脚本添加单元在配置所述第二脚本文件为替代所述第一脚本文件生效的脚本文件时,具体为,用于配置所述第二脚本文件的加载顺序位于所述第一脚本文件的加载顺序之后,其中,所述第二脚本文件与所述第一脚本文件对应相同的文件名和文件路径。
8.一种电子设备,包括:
存储器和处理器;
其中,所述处理器,用于执行如上权利要求1-6任一项所述的程序安装控制方法。
CN202010646197.1A 2020-07-07 2020-07-07 程序安装控制方法、装置和电子设备 Active CN111782230B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010646197.1A CN111782230B (zh) 2020-07-07 2020-07-07 程序安装控制方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010646197.1A CN111782230B (zh) 2020-07-07 2020-07-07 程序安装控制方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN111782230A CN111782230A (zh) 2020-10-16
CN111782230B true CN111782230B (zh) 2022-05-31

Family

ID=72758206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010646197.1A Active CN111782230B (zh) 2020-07-07 2020-07-07 程序安装控制方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN111782230B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661548A (zh) * 2004-02-26 2005-08-31 明基电通股份有限公司 绕道修补程序的方法及使用该方法的电子装置
CN102750157A (zh) * 2011-04-20 2012-10-24 中兴通讯股份有限公司 一种应用程序加载的方法及装置
CN105204823A (zh) * 2014-05-29 2015-12-30 腾讯科技(深圳)有限公司 生成应用程序安装包的方法及装置
CN106293852A (zh) * 2016-08-19 2017-01-04 北京奇虎科技有限公司 一种加固安装包的资源文件的方法和装置
CN107357608A (zh) * 2017-06-21 2017-11-17 联想(北京)有限公司 一种自动安装操作系统的方法、装置及系统
CN108897543A (zh) * 2018-06-29 2018-11-27 苏州科达科技股份有限公司 版本的临时编译系统、方法、装置及存储介质
WO2019241028A1 (en) * 2018-06-14 2019-12-19 Microsoft Technology Licensing, Llc Modification package

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417314B2 (en) * 2012-06-14 2019-09-17 Open Text Sa Ulc Systems and methods of a script generation engine
CN106293863B (zh) * 2016-07-26 2019-10-25 北京北森云计算股份有限公司 多语言云编译实现系统功能动态扩展替换的方法及系统
JP6872703B2 (ja) * 2016-10-17 2021-05-19 パナソニックIpマネジメント株式会社 プログラム生成方法、プログラム生成装置および制御プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661548A (zh) * 2004-02-26 2005-08-31 明基电通股份有限公司 绕道修补程序的方法及使用该方法的电子装置
CN102750157A (zh) * 2011-04-20 2012-10-24 中兴通讯股份有限公司 一种应用程序加载的方法及装置
CN105204823A (zh) * 2014-05-29 2015-12-30 腾讯科技(深圳)有限公司 生成应用程序安装包的方法及装置
CN106293852A (zh) * 2016-08-19 2017-01-04 北京奇虎科技有限公司 一种加固安装包的资源文件的方法和装置
CN107357608A (zh) * 2017-06-21 2017-11-17 联想(北京)有限公司 一种自动安装操作系统的方法、装置及系统
WO2019241028A1 (en) * 2018-06-14 2019-12-19 Microsoft Technology Licensing, Llc Modification package
CN108897543A (zh) * 2018-06-29 2018-11-27 苏州科达科技股份有限公司 版本的临时编译系统、方法、装置及存储介质

Also Published As

Publication number Publication date
CN111782230A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
US9081596B2 (en) Information processing device, virtual machine creation method, and application distribution system
US9996374B2 (en) Deployment and installation of updates in a virtual environment
US9292275B2 (en) System and method for upgrading kernels in cloud computing environments
US8904518B2 (en) Information processing device, information processing method, and program distribution system
KR101232558B1 (ko) 컴퓨터 구현 방법 및 시스템
US10437580B2 (en) Software updating methods and systems
KR101280048B1 (ko) 운영체계들과 다른 소프트웨어의 인스톨을 제한하는 해킹방지 방법
US10599419B2 (en) Secure firmware updates using virtual machines to validate firmware packages
US11281768B1 (en) Firmware security vulnerability verification service
CN107567629B (zh) 在可信执行环境容器中的动态固件模块加载器
US20170255775A1 (en) Software verification systems with multiple verification paths
CN110874467B (zh) 信息处理方法、装置、系统以及处理器、存储介质
US20200379742A1 (en) Validation of configurations of factory installations
CN106909848A (zh) 一种基于bios扩展的计算机安全增强系统及其方法
US11907375B2 (en) System and method for signing and interlocking a boot information file to a host computing system
US20230342476A1 (en) Bootloaders
CN107077342B (zh) 固件模块运行权限
CN111966470B (zh) 虚拟机监控器的加载方法、装置和电子设备
US20230359741A1 (en) Trusted boot method and apparatus, electronic device, and readable storage medium
CN110363011B (zh) 用于验证基于uefi的bios的安全性的方法和设备
CN111782230B (zh) 程序安装控制方法、装置和电子设备
US20240086205A1 (en) Validation of ipxe scripts using owner certificates and ownership vouchers
US11977753B2 (en) BIOS NVRAM storage extension system and method for secure and seamless access for various boot architectures
KR20180023575A (ko) 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof

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