Software installation method and apparatus, electronic device and storage medium
By detecting and modifying the registry information accessed by the installer on the cloud computer, the problem of operating system failure when installing incompatible software on the cloud computer is solved, and automatic installation and compatibility improvement is achieved.
Patent Information
- Application Number
- PCT/IB2024/061536
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-21
- Filing Date
- 2024-11-19
- Publication Date
- 2025-06-26
AI Technical Summary
When installing certain software on a cloud computer, there may be problems that the operating system does not support it, resulting in the inability to use the software.
By controlling the received installer to run on a cloud computer and detecting an access request from the process running the installer to access the registry, the operating system information in the returned registry response is modified to the system information supported by the installer.
There is no need for users to manually modify the registry, and the installation of incompatible software is automatically realized on cloud computers, which improves the consistent experience of offline desktops and cloud computers, and ensures the compatibility and stability of cloud computers.
Smart Images

Figure IB2024061536_26062025_PF_FP_ABST
Abstract
Description
[0001]A Software Installation Method, Apparatus, Electronic Device, and Storage Medium. Technical Field: This disclosure relates to the field of computer technology, and more specifically, to a software installation method, apparatus, electronic device, and storage medium. Background: Cloud computing integrates a computer's hardware resources (computing, storage, network terminals, etc.) through virtualization, and places the operating environment in the cloud. Cloud computing provides users with on-demand, elastically allocated services via a virtual desktop connection protocol. Users simply connect to the cloud computing via a terminal device (such as a mobile phone, tablet computer, or TV) to enjoy the same computing and usage experience as a traditional computer. Currently, when users install certain software on cloud computing, they may encounter operating system support issues, resulting in the inability to use the software. Summary of the Invention: The present disclosure addresses the shortcomings of the aforementioned prior art by providing a software installation method, apparatus, electronic device, and storage medium. This objective is achieved through the following technical solutions. In a first aspect, the present disclosure provides a software installation method, comprising: controlling a received installation program to execute on a cloud computing machine; detecting a registry access request from a process running the installation program, and modifying the operating system information in a registry response returned to the process to that supported by the installation program. The second aspect of the present disclosure provides a software installation device, comprising: a control execution module configured to control the execution of a received installation program on a cloud computer; and a modification module configured to detect a registry access request from a process executing the installation program and modify the operating system information in a registry response returned to the process to system information supported by the installation program. The third aspect of the present disclosure provides an electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor executing the program to implement the method described in the first aspect. The fourth aspect of the present disclosure provides a computer-readable storage medium storing a computer program, the program being executed by the processor to implement the method described in the first aspect. Based on the software installation methods and devices described in the first and second aspects, the present disclosure has at least the following beneficial effects or advantages: After controlling the installation program to begin execution on the cloud computer, by detecting a registry access request from the process executing the installation program and modifying the operating system information in the registry response returned in response to the access request to system information supported by the installation program, the user can automatically install incompatible software on the cloud computer without having to manually modify the registry, thereby improving the user experience consistency between offline desktops and cloud computers.Furthermore, this disclosure only simulates supported system information for the designated installer process, affecting only that specific installer without affecting other program processes on the cloud computer. This ensures both compatibility and stability of the cloud computer. The above description is merely an overview of the technical solution of this disclosure. To better understand the technical approach of this disclosure, implementation should be based on the contents of this specification. To further enhance the understanding of the aforementioned and other objectives, features, and advantages of this disclosure, specific embodiments of this disclosure are described below. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings described herein are provided to further understand this disclosure and constitute a part of this disclosure. The illustrative embodiments of this disclosure and their descriptions are provided for illustrative purposes only and are not intended to unduly limit this disclosure. In the accompanying drawings: Figure 1 is an error message when installing incompatible software on a cloud computer; Figure 2 is a schematic diagram of manually modifying the registry; Figure 3 is a flowchart of an embodiment of a software installation method according to an exemplary embodiment; Figure 4 is a schematic diagram of the program structure of a compatibility assistant according to an exemplary embodiment; Figure 5 is a flowchart of a compatibility assistant implementing software installation according to the embodiment shown in Figure 4; Figure 6 is a schematic diagram of the structure of a software installation device according to an exemplary embodiment; Figure 7 is a schematic diagram of the hardware structure of an electronic device according to an exemplary embodiment; Figure 8 is a schematic diagram of the structure of a storage medium according to an exemplary embodiment. DETAILED DESCRIPTION OF THE EMBODIMENTS The exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, unless otherwise indicated, like numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Rather, they are merely examples of apparatuses and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims. The terminology used in this disclosure is for the purpose of describing specific embodiments only and is not intended to be limiting of the present disclosure. As used in this disclosure and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It should be understood that although the terms "first," "second," "third," etc. may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are merely used to distinguish information of the same type from one another. For example, first information could be referred to as second information, and similarly, second information could be referred to as first information without departing from the scope of this disclosure.Depending on the context, the term "if" as used herein can be interpreted as "at the time of," "when," or "in response to a determination." As previously mentioned, when a user was installing some software on a cloud computer, an operating system incompatibility issue occurred, rendering the software unusable on the cloud computer. As shown in Figure 1, when a user was installing wallpaper software on the cloud computer, an "Error" message appeared. As can be seen from Figure 1, the error message read: "This software is only compatible with Windows 7, 8, and 8." Upon investigation, it was discovered that the software failed to install successfully not because of an inadequate operating system version, but because the installer recognized that the cloud computer was a Windows Server system, not a Windows Client system such as Windows 10 or Windows 11, and therefore blocked the installation. Therefore, the user opened the registry editor on the cloud computer, as shown in Figure 2, found the registry key that records the operating system type, manually changed the operating system data type from "Server" to "Client," and then double-clicked the incompatible software to install it. The installation was successful. After the successful installation, the operating system data type in the registry key was changed back to "Server." However, manually modifying the registry can affect other processes running on the cloud computer, potentially introducing potential risks. To address this issue, the present disclosure proposes a software installation method for installing incompatible software on a cloud computer. After controlling an installer to begin installation on the cloud computer, if the installer process detects a registry access request, the method automatically updates the operating system information in the registry response to the access request with system information supported by the installer. This eliminates the need for manual registry modification by the user and automatically enables installation of incompatible software on the cloud computer, improving the user experience between offline desktops and cloud computers. Furthermore, the present disclosure simulates the supported system information only for the designated installer process, affecting only that specific installer and not other program processes on the cloud computer. This ensures both compatibility and stability of the cloud computer. The following detailed description of the present disclosure's technical solutions and how they address the aforementioned technical issues is provided in detail using specific embodiments. The enumerated embodiments may be combined, and identical or similar concepts or processes may not be described in detail in some embodiments. The following detailed description of the present disclosure's embodiments is accompanied by the accompanying drawings. FIG3 is a flow chart showing an embodiment of a software installation method according to an exemplary embodiment. The software installation method includes the following steps: Step 301: Control the received installation program to run on a cloud computer.In this step, the installer can be incompatible software that cannot be successfully installed directly on the cloud computer. A compatibility assistant is installed on the cloud computer to successfully install the incompatible software. Therefore, the installer can be dragged onto the compatibility assistant or selected using the compatibility assistant to control the installation and execution of the installer on the cloud computer. It should be noted that the incompatible software described above is incompatible with the cloud computer's operating system. The cloud computer's operating system is typically Windows Server, which is provided to some enterprise users as a server, such as for deployment services. Generally speaking, the operating system of personal offline computers is generally a Windows Client series system, such as Windows 10 and Windows 11. Therefore, the operating system of personal offline computers is compatible. In other words, the disclosed solution is equivalent to installing software on a Windows Server system that is by default prohibited from installation on Windows Server. Before executing step 301, it is necessary to pre-register a process callback function and a registry callback function. The process callback function is used to call back the process creation request when a process is created based on the process creation request, thereby detecting the process creation request. Furthermore, the process callback function is used to call back the process destruction notification when a process is destroyed based on a process destruction notification, thereby detecting the process destruction notification. The registry callback function is used to call back the registry access request when the registry is operated based on a registry access request, thereby detecting the registry access request. Step 302: Upon detecting the registry access request by the process running the installer, the operating system information in the registry response returned to the process is modified to the system information supported by the installer. In this step, after controlling the installer to begin installation, the cloud computer creates a process for the installer. This process is used to execute the installer's installation process. During the installer's installation process, the installer needs to access the registry to obtain operating system information. Therefore, the process initiates a registry access request to read the operating system information recorded in the registry. Based on this, by detecting the process's registry access request and modifying the operating system information read from the registry to the system information supported by the installer, the process provides the installer with the impression that the installation is being performed on a supported operating system. This modification only affects the designated installer and does not affect the processes of other programs, thereby ensuring the stability of the operation of other programs.As a possible embodiment, the process for detecting registry access requests from a process running an installer includes the following: First, process information of the process running the installer is obtained and stored to facilitate subsequent detection of registry operations by the process. This process information may include the process PID (Process Identifier), the number of bits of memory accessed by the program (i.e., whether the program is 32-bit or 64-bit), etc. In one embodiment, the storage path of the installer on the cloud computer can be obtained, and the process information of the process running the installer can be determined based on the storage path. In this embodiment, the storage path of the installer can be a full path starting from the root directory of the cloud computer system, consisting of a series of consecutive directories separated by slashes, until the directory or file to be specified. The last name in the path is the directory or file to be pointed to. Furthermore, in the process of determining the process information of the process running the installer based on the storage path, if a process creation request is detected to contain the obtained storage path, the process created by the process creation request is used as the process running the installer, and the process information carried in the process creation request is obtained. Because a process callback function is registered before executing step 301, all process creation requests generated by the cloud computer will be called back. Using the installation program's storage path, it is possible to distinguish whether a process creation request is from the installation program. The process creation request carries process information related to the creation process, so the process information of the process running the installation program can be obtained. Next, the registry key path used to store operating system information is obtained. The registry is a crucial database in the Windows operating system, recording key operating system configuration information, including the operating system type. The obtained registry key path allows direct access to the operating system information. Finally, all registry access requests are checked to see if they contain the stored process information and the obtained registry key path. If a registry access request is detected to contain both the process information and the registry key path, the access request is determined to be a registry access request from the process running the installation program. As one possible embodiment, after detecting a registry access request from the process running the installation program, a return callback function can be executed to obtain a registry response returned to the process. The operating system information in the registry response can then be modified using the preset operating system information, and the modified registry response is sent to the process.In this embodiment, the return callback function is used to call back the registry response when it is returned to the process, thereby obtaining the registry response returned to the process. In Windows systems, the return callback can be implemented using pre_handler(). The preset operating system information is system information supported by the installer, such as system information for the Windows Client series. It should be noted that after storing the process information of the process running the installer, the stored process information can also be deleted if a process termination notification is detected that contains the stored process information. The process termination notification indicates that the process running the program is exiting. Since the process callback function is registered before executing step 301, all process termination notifications generated by the cloud computer will be called back. Detecting a process termination notification containing the stored process information indicates that the installer is exiting, and the previously stored process information can be cleared to terminate the installation process detection of the installer. At this point, the software installation process shown in Figure 3 is complete. After the control installer begins running and installing on the cloud computer, if a registry access request is detected by the installer's process, the operating system information in the registry response returned in response to the access request is modified to system information supported by the installer. This eliminates the need for the user to manually modify the registry, automatically enabling the installation of incompatible software on the cloud computer and improving the consistency of the user experience between offline desktops and cloud computers. Furthermore, the present disclosure simulates supported system information only for the designated installer process, affecting only that designated installer and not other program processes on the cloud computer. This ensures both compatibility and stability of the cloud computer. Based on the embodiment shown in Figure 3, the following describes the software installation process from the perspective of a compatibility assistant on a cloud computer. Figure 4 shows a schematic diagram of the program structure of a compatibility assistant according to an exemplary embodiment. The compatibility assistant includes the application layer program EdsSecurity.exe and the kernel layer program EdsSecurity.sys. oApplication-layer programs are .exe executables and can be used without installation. Kernel-layer programs are .sys files and require installation. Therefore, you need to double-click the compatibility assistant to install the kernel-layer program. The app checks whether the kernel-layer program is currently running. If not, it releases the kernel-layer program files to a temporary directory and then installs them. The kernel-layer program installation process includes: registering a process callback function by calling an API (Application Programming Interface) provided by the operating system. This callback function is used to call back the kernel-layer program in the compatibility assistant when the operating system issues a process creation request or process destruction request; and registering a registry callback function by calling an API provided by the operating system. This callback function is used to call back the kernel-layer program in the compatibility assistant when the operating system issues a registry access request or operation request. Figure 5 is a flowchart illustrating software installation using the compatibility assistant according to the embodiment shown in Figure 4. The flowchart includes the following steps 501 to 507: Step 501: Upon receiving the installation program, the application-layer program obtains the installation program's storage path. Step 502: The application-layer program sends the installation program's storage path to the kernel-layer program. Step 503: The application-layer program controls the installation program's execution. In this step, after the application-layer program controls the installation program's execution, the operating system creates a process for the installation program to execute the installation program and returns the process creation request to the kernel-layer program. Step 504: After receiving the process creation request containing the storage path, the kernel-layer program stores the process information carried in the process creation request. Step 505: If the kernel-layer program receives an access request containing the process information and the registry key path used to store operating system information, it executes a return callback function to obtain a registry response to be returned to the process running the installation program. As previously described, since the operating system returns a registry access request to the kernel-layer program when it operates the registry, the kernel-layer program receives all registry access requests. Step 506: The kernel-layer program modifies the operating system information carried in the obtained registry response using the system information supported by the installation program and returns the modified registry response to the process running the installation program, ensuring that the process recognizes the current system as one supported by the installation program. Step 507: Upon receiving a process destruction notification containing the stored process information, the kernel-layer program clears the stored process information. As previously mentioned, when the operating system destroys a process, it will call back the process destruction notification to the kernel layer program. Therefore, the kernel layer program will receive process destruction notifications for all processes. Step 508: When the application layer program detects that the installation program has completed the installation and exited, the application layer program exits.The execution entities of the embodiments of the present disclosure may be applications, services, instances, software-based functional modules, virtual machines (VMs), containers, or cloud servers, or hardware devices (such as servers or terminal devices) or hardware chips (such as CPUs, GPUs, FPGAs, NPUs, AI accelerator cards, or DPUs) with data processing capabilities. The software installation device may be deployed on the computing device of the application provider providing the corresponding service, or on a cloud computing platform that provides computing power, storage, and network resources. The cloud computing platform may provide external services in the form of IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a Service), or DaaS (Data as a Service). For example, if the platform provides SaaS software as a service, the cloud computing platform can utilize its own computing resources to provide software installation model training or software installation module functional execution. The specific application architecture can be built based on service requirements. For example, the platform can provide a construction service based on the aforementioned model to applications or individuals using platform resources. Furthermore, the platform can invoke the aforementioned model and implement online or offline software installation functionality based on software installation requests submitted by devices such as relevant clients or servers. It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, storage, and display, etc.) involved in this disclosure are all authorized by the user or fully authorized by all parties. The collection, use, and processing of such data must comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or deny such data. Corresponding to the aforementioned software installation method embodiments, this disclosure also provides embodiments of software installation devices. Figure 6 is a schematic structural diagram of a software installation device according to an exemplary embodiment, which is used to execute the software installation method provided by any of the above embodiments. As shown in Figure 6, the software installation device includes: a control operation module 610, which is configured to control the execution of a received installation program on a cloud computer; a modification module 620, which is configured to detect an access request to the registry by a process running the installation program, and modify the operating system information in the registry response returned to the process to the system information supported by the installation program.In an optional implementation, the modification module 620 is specifically configured to, upon detecting a registry access request from the process running the installer, obtain process information of the process running the installer and store the process information; obtain a registry key path for storing operating system information; and, upon detecting that the registry access request includes the process information and the registry key path, determine that the access request is a registry access request from the process. In an optional implementation, the modification module 620 is specifically configured to, upon obtaining the process information of the process running the installer, obtain the storage path of the installer on the cloud computer; and determine the process information of the process running the installer based on the storage path. In an optional implementation, the modification module 620 is specifically configured to, upon determining the process information of the process running the installer based on the storage path, detect that a process creation request includes the storage path, determine that the process created by the process creation request is the process running the installer, and obtain the process information carried in the process creation request. In an optional implementation, the modification module 620 is specifically configured to, during the process of modifying the operating system information in the registry response returned to the process to system information supported by the installer, execute a return callback function to obtain a registry response returned to the process; modify the operating system information in the registry response using preset operating system information; and return the modified registry response to the process. In an optional implementation, the apparatus further includes (not shown in FIG6 ): a deletion module configured to, after the modification module 620 stores the process information, detect that a process destruction notification includes the stored process information and delete the stored process information. In an optional implementation, the apparatus further includes (not shown in FIG6 ): a registration module configured to, before the control execution module 610 controls the execution of the received installer on the cloud computer, register a process callback function for calling back the process creation request when a process is created based on a process creation request, and for calling back the process destruction notification when a process is destroyed based on a process destruction notification; and register a registry callback function for calling back the registry access request when a registry access request is performed. The implementation process of the functions and effects of each unit in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned method, and will not be repeated here. For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can be referred to the partial description of the method embodiment.The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one location or distributed across multiple network units. Some or all of these modules can be selected based on actual needs to achieve the objectives of the disclosed solutions. Persons of ordinary skill in the art can understand and implement the disclosed solutions without inventive effort. The disclosed embodiments also provide an electronic device corresponding to the software installation method provided in the aforementioned embodiments, for executing the aforementioned software installation method. Figure 7 is a hardware structure diagram of an electronic device according to an exemplary embodiment. The electronic device includes: a communication interface 601, a processor 602, a memory 603, and a bus 604. The communication interface 601, the processor 602, and the memory 603 communicate with each other via the bus 604. The processor 602 executes the software installation method described above by reading and executing machine-executable instructions corresponding to the control logic of the software installation method in the memory 603. The details of this method are described in the aforementioned embodiments and will not be repeated here. The memory 603 mentioned in this disclosure can be any electronic, magnetic, optical, or other physical storage device, and can contain stored information, such as executable instructions, data, and the like. Specifically, the memory 603 can be RAM (Random Access Memory), flash memory, a storage drive (such as a hard disk drive), any type of storage disk (such as an optical disk, DVD, etc.), or similar storage media, or a combination thereof. Communication between the system network element and at least one other network element is achieved via at least one communication interface 601 (which can be wired or wireless), and can utilize the Internet, a wide area network, a local area network, a metropolitan area network, and the like. The bus 604 can be an ISA bus, a PCI bus, or an EISA bus. Such buses can be classified as address buses, data buses, and control buses. The memory 603 is used to store programs, and the processor 602 executes the programs upon receiving execution instructions. The processor 602 can be an integrated circuit chip with signal processing capabilities. During implementation, the steps of the above method can be performed by hardware integrated logic circuits in the processor 602 or by software instructions.The aforementioned processor 602 may be a general-purpose processor, including a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., and may implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this disclosure. A general-purpose processor may be a microprocessor, or any conventional processor. The steps of the methods disclosed in conjunction with the embodiments of this disclosure may be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules within the decoding processor. The electronic device provided in the embodiments of this disclosure and the software installation method provided in the embodiments of this disclosure are based on the same inventive concept and have the same beneficial effects as the methods employed, executed, or implemented therein. The embodiments of this disclosure also provide a computer-readable storage medium corresponding to the software installation method provided in the aforementioned embodiments. Please refer to FIG. 8 , which shows a computer-readable storage medium as an optical disc 30 storing a computer program (i.e., a program product). When executed by a processor, the computer program executes the software installation method provided in any of the aforementioned embodiments. It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or other optical or magnetic storage media, which are not further detailed here. The computer-readable storage medium provided in the above-described embodiments of the present disclosure and the software installation method provided in the embodiments of the present disclosure are based on the same inventive concept and have the same beneficial effects as the methods employed, executed, or implemented by the stored application programs. Those skilled in the art will readily conceive of other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered merely as exemplary; the true scope and spirit of the present disclosure are indicated by the following claims.It should also be noted that the terms "comprise," "include," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, product, or device comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, product, or device. Without further limitation, elements defined by the phrase "comprising a..." do not preclude the presence of other identical elements in the process, method, product, or device comprising the elements. The foregoing description is merely a preferred embodiment of the present disclosure and is not intended to limit the present disclosure. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present disclosure are intended to be included within the scope of protection of the present disclosure. Industrial Applicability: After the control installer begins running on a cloud computer, the system detects registry access requests from the process executing the installer and replaces the operating system information in the registry response returned in response to the access request with system information supported by the installer. This eliminates the need for users to manually modify the registry, automatically enabling the installation of incompatible software on the cloud computer and improving the user experience consistency between offline desktops and cloud computers. Furthermore, the present disclosure only simulates supported system information for the process of a specified installation program, affecting only the specified installation program without affecting the processes of other programs on the cloud computer. Therefore, not only the compatibility of the cloud computer can be guaranteed, but also the stability can be guaranteed.
Claims
Claims 1. A software installation method, the method comprising: Control the received installation program to run on the cloud computer; An access request of the process running the installation program to access the registry is detected, and the operating system information in the registry response returned to the process is modified to the system information supported by the installation program.
2. The method according to claim 1, wherein: The detecting an access request for the process running the installer to access the registry includes: obtaining process information of the process running the installer, and storing the process information; obtaining a registry item path for storing operating system information; and determining that the access request is an access request for the process to access the registry when detecting that the registry access request includes the process information and the registry item path.
3. The method according to claim 2, wherein: The obtaining of process information of the process running the installation program includes: obtaining a storage path of the installation program on the cloud computer; and determining the process information of the process running the installation program according to the storage path.
4. The method according to claim 3, wherein: Determining the process information of the process running the installation program according to the storage path includes: detecting that a process creation request includes the storage path, determining that the process created by the process creation request is the process running the installation program, and obtaining the process information carried by the process creation request.
5. The method according to claim 1, wherein: The step of modifying the operating system information in the registry response returned to the process to the system information supported by the installation program includes: executing a return callback function to obtain the registry response returned to the process; modifying the operating system information in the registry response using preset operating system information; and returning the modified registry response to the process.
6. The method according to claim 2, wherein: After storing the process information, the method further includes: detecting that the process destruction notification includes the stored process information, and deleting the stored process information.
7. The method according to any one of claims 1 to 6, wherein: Before controlling the received installation program to run on the cloud computer, the method also includes: registering a process callback function, the process callback function being used to call back the process creation request when a process is created based on a process creation request, and calling back the process destruction notification when a process is destroyed based on a process destruction notification; registering a registry callback function, the registry callback function being used to call back the access request when operating the registry based on the registry access request.
8. A software installation device, the device comprising: A control operation module is configured to control the received installation program to run on the cloud computer; The modification module is configured to detect an access request from a process running the installation program to access a registry, and modify the operating system information in a registry response returned to the process to the system information supported by the installation program.
9. The device according to claim 8, wherein: The modification module is further configured to obtain process information of the process running the installation program and store the process information; obtain a registry entry path for storing operating system information; and when detecting that a registry access request includes the process information and the registry entry path, determine that the access request is an access request for the process to access the registry.
10. The device according to claim 9, wherein: The modification module is further configured to obtain a storage path of the installation program on the cloud computer; and determine process information of a process running the installation program according to the storage path.
11. The device according to claim 10, wherein: The modification module is further configured to detect that the process creation request includes the storage path, determine that the process created by the process creation request is a process for running the installation program, and obtain process information carried by the process creation request.
12. The device according to claim 8, wherein: The modification module is further configured to execute a return callback function to obtain a registry response returned to the process; modify the operating system information in the registry response using preset operating system information; and return the modified registry response to the process.
13. The device according to claim 9, wherein: The device further comprises a deletion module, wherein the deletion module is configured to execute a return callback function to obtain a registry response returned to the process; modify the operating system information in the registry response using preset operating system information; The modified registry response is returned to the process.
14. The device according to any one of claims 8 to 13, wherein: The device also includes a registration module, which is configured to register a process callback function, the process callback function being used to call back the process creation request when a process is created based on a process creation request, and to call back the process destruction notification when a process is destroyed based on a process destruction notification; and a registration registry callback function, the registry callback function being used to call back the access request when operating the registry based on an access request to the registry.
15. An electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method according to any one of claims 1 to 7.
16. A computer-readable storage medium having a computer program stored thereon, wherein the program is executed by a processor to implement the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Virtual os computing environment
US20080016489A1