Windows software installation method and product based on Linux
By obtaining and using the target installation adaptation information of Windows software, creating the target container and installing Windows software, the problem of poor universality in the existing technology is solved, efficient installation and compatibility on the Linux system is achieved, and the software ecosystem is enriched.
Patent Information
- Application Number
- CN202411093618.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-09
- Publication Date
- 2024-12-27
AI Technical Summary
The existing Linux-based Windows software installation method has poor generality and cannot install Windows software that does not provide the deb package, resulting in users being unable to install certain Windows software.
Receive user installation trigger operations through the client, obtain target installation adaptation information of the software to be installed, including Windows version information, component information and registry configuration information, create target containers and install or run Windows software, and ensure that the software is on the Linux system adaptability and compatibility.
It improves the installation universality and compatibility of Windows software on Linux systems, and can install Windows software that does not provide deb packages, improving the user experience and software ecosystem richness.
Smart Images

Figure CN119201141A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a method, apparatus, device and medium for installing Windows software based on Linux. Background Art
[0002] Wine (Wine Is Not an Emulator) allows Windows software to run on the Linux operating system, which greatly improves the cross-platform compatibility of the software. The Linux-based Windows software installation method relies on this core function of Wine, providing users with a way to use Windows software without changing the operating system.
[0003] In the related art, the Linux-based Windows software installation method specifically includes: first, the Windows software service provider makes a corresponding deb (Debian) package for the Windows software, wherein deb is the file extension of the Debian software package format; then, the deb package is published; then, the Linux user downloads the deb package and installs the corresponding Windows software by installing the deb package.
[0004] However, the method of the related art can only install the Windows software corresponding to the deb package. In this way, if a service provider does not provide the deb package corresponding to Windows software A, the Linux user will not be able to install Windows software A. Therefore, the method of the related art has the problem of poor versatility. Summary of the invention
[0005] The embodiment of the present application provides a Linux-based Windows software installation method, which can improve the versatility of Linux-based Windows software installation and can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system.
[0006] Correspondingly, the embodiments of the present application also provide a Linux-based Windows software installation device, an electronic device and a machine-readable medium to ensure the implementation and application of the above method.
[0007] In order to solve the above problems, the embodiment of the present application discloses a method for installing Windows software based on Linux, the method comprising:
[0008] The client receives a user's installation trigger operation for the Windows software to be installed with an executable file;
[0009] The client obtains target installation adaptation information corresponding to the software name of the Windows software to be installed from the server according to the software name of the software to be installed; the target installation adaptation information includes: first Windows version information, first Windows component information and first Windows registry configuration information;
[0010] The client creates a first target container corresponding to the first Windows version information, installs a first target component corresponding to the first Windows component information in the first target container, configures a first registry entry corresponding to the first Windows registry configuration information in the first target container, and installs or runs the Windows software to be installed in the first target container.
[0011] The embodiment of the present application also discloses a Linux-based Windows software installation device, the device comprising:
[0012] A receiving module, applied to the client, for receiving a user's installation trigger operation for a to-be-installed Windows software with an executable file;
[0013] An acquisition module, applied to the client, is used to acquire target installation adaptation information corresponding to the software name of the Windows software to be installed from the server according to the software name of the software to be installed; the target installation adaptation information includes: first Windows version information, first Windows component information and first Windows registry configuration information;
[0014] A first installation processing module is applied to the client, and is used to create a first target container corresponding to the first Windows version information, install a first target component corresponding to the first Windows component information in the first target container, configure a first registry item corresponding to the first Windows registry configuration information in the first target container, and install or run the Windows software to be installed in the first target container.
[0015] Optionally, the installation trigger operation includes: a first trigger operation of a user on an installation control of a Windows software to be installed in an application store, and the client obtains an executable file corresponding to the software name from the server according to the software name corresponding to the first trigger operation;
[0016] Alternatively, the installation trigger operation includes: a second trigger operation of the user on an executable file of the Windows software to be installed.
[0017] Optionally, the acquisition module includes:
[0018] The sending module is applied to the client and is used to send the software name of the Windows software to be installed to the server;
[0019] The device also includes:
[0020] A search module, applied to the server, is used to search the mapping relationship between the software name and the installation adaptation information according to the software name of the Windows software to be installed, so as to obtain the target installation adaptation information corresponding to the software name; the installation adaptation information includes: Windows version information, Windows component information and Windows registry configuration information;
[0021] The first returning module is applied to the server and is used to return the target installation adaptation information to the client.
[0022] Optionally, the device further comprises:
[0023] A collection module is used to collect error information that occurs during the preset processing of Windows software; the preset processing includes: installation, startup and use;
[0024] An installation adaptation information determination module, used to determine the installation adaptation information corresponding to the Windows software according to the error information;
[0025] The record generation module is used to generate a data record corresponding to the mapping relationship between the software name and the installation adaptation information according to the software name and the installation adaptation information corresponding to the Windows software.
[0026] Optionally, the device further comprises:
[0027] The second return module is applied to the server and is used to return the template installation adaptation information corresponding to the software name to the client when there is no target installation adaptation information corresponding to the software name; the template installation configuration information includes: second Windows version information, second Windows component information and second Windows registry configuration information;
[0028] The second installation processing module is applied to the client, and is used to create a second target container corresponding to the second Windows version information, install the second target component corresponding to the second Windows component information in the target container, configure the second registry item corresponding to the second Windows registry configuration information in the second target container, and install or run the Windows software to be installed in the second target container.
[0029] Optionally, the device further comprises:
[0030] a first determining module, configured to perform first statistics on the installation adaptation information of the software category corresponding to the software name, and determine the template installation adaptation information corresponding to the software name according to the first statistical result; or
[0031] The second determination module is used to perform second statistics on the installation adaptation information of Windows software of multiple software categories, and determine the template installation adaptation information corresponding to the software name according to the second statistical result.
[0032] Optionally, the target installation adaptation information further includes: first compatibility layer code information;
[0033] The device also includes:
[0034] The code processing module is applied to the client and is used to obtain the corresponding target code from the compatible layer code library according to the first compatible layer code information, and set the target code in the compatible layer software.
[0035] The embodiment of the present application further discloses an electronic device, including: a processor; and a memory, on which executable code is stored. When the executable code is executed, the processor executes the method described in the embodiment of the present application.
[0036] The embodiment of the present application further discloses a machine-readable medium on which executable code is stored. When the executable code is executed, a processor executes the method described in the embodiment of the present application.
[0037] The embodiments of the present application include the following advantages:
[0038] In the technical solution of the embodiment of the present application, after receiving the installation trigger operation of the user for the Windows software to be installed with an executable file, the client will first obtain the target installation adaptation information corresponding to the software name of the Windows software to be installed from the server according to the software name of the Windows software to be installed; then, according to the target installation adaptation information, perform the following installation processing of the Windows software to be installed: create a first target container corresponding to the first Windows version information, install the first target component corresponding to the first Windows component information in the first target container, configure the first registry item corresponding to the first Windows registry configuration information in the first target container, and install or run the Windows software to be installed in the first target container.
[0039] Since the embodiment of the present application can directly perform the installation process in the Linux system according to the executable file of the Windows software to be installed, even if a service provider does not provide the deb package corresponding to the Windows software A, the embodiment of the present application can also implement the installation of the Windows software A in the Linux system according to the executable file of the Windows software A. Therefore, the embodiment of the present application can improve the versatility of the Windows software installation based on Linux.
[0040] Furthermore, the embodiment of the present application performs installation processing of the Windows software to be installed according to the target installation adaptation information, which can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system.
[0041] Specifically, there may be multiple Windows versions, such as Win7 or Win10, etc. The first Windows version information of the embodiment of the present application may be a Windows version with the best compatibility. Therefore, the embodiment of the present application creates a first target container corresponding to the first Windows version information, and installs the Windows software to be installed based on the first target container, which can improve the adaptation performance and compatibility between the Windows software to be installed and the Linux system in terms of Windows version.
[0042] Moreover, the compatibility between the Windows software to be installed and the Linux system usually requires components such as dynamic link libraries. The lack of components may cause errors in the installation, startup, or use of the Windows software to be installed. The first Windows component information of the embodiment of the present application can represent the components required for the installation, startup, or use of the Windows software to be installed. Therefore, the embodiment of the present application installs the first target component corresponding to the above-mentioned first Windows component information in the above-mentioned first target container, which can provide component support for the installation, startup, or use of the software to be installed. In other words, the embodiment of the present application can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system in terms of Windows components.
[0043] Furthermore, the registry is an important database in Windows, which is used to store system and application setting information. Improper setting of registry items may cause the functions of the Windows software to be installed to fail to work properly. The first Windows registry configuration information of the embodiment of the present application can represent the registry configuration required for the use process of the Windows software to be installed. Therefore, the embodiment of the present application configures the first registry item corresponding to the first Windows registry configuration information in the first target container, which can provide registry item support for the use of the software to be installed. In other words, the embodiment of the present application can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system in terms of the Windows registry. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 It is a schematic diagram of an application environment of a Windows software installation method based on Linux according to an embodiment of the present application;
[0045] Figure 2 This is a flowchart of the steps of a Linux-based Windows software installation method according to an embodiment of the present application;
[0046] Figure 3 This is a flowchart of the steps of a Linux-based Windows software installation method according to an embodiment of the present application;
[0047] Figure 4 It is a structural diagram of a Linux-based Windows software installation device according to an embodiment of the present application;
[0048] Figure 5 It is a schematic diagram of the structure of a device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0049] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0050] The embodiments of the present application can be used to install Windows software in a Linux environment. Through this installation method, Linux users can seamlessly access and run Windows software that was originally only available in a Windows environment, whether it is office software, design software or game software. This not only enriches the software ecosystem of Linux, but also brings more convenience and choices to users. Enterprise users especially benefit from this cross-platform compatibility. They can use Wine to run those key Windows software while obtaining the stability and security of the Linux system, thereby maximizing cost-effectiveness.
[0051] In view of the technical problem of poor universality of the methods in the related art, the embodiment of the present application provides a method for installing Windows software based on Linux, which can be applied to the Linux system and may specifically include the following steps:
[0052] The client receives a user's installation trigger operation for the Windows software to be installed with an executable file;
[0053] The client obtains target installation adaptation information corresponding to the software name of the Windows software to be installed from the server according to the software name of the software to be installed; the target installation adaptation information specifically includes: first Windows version information, first Windows component information and first Windows registry configuration information;
[0054] The client creates a first target container corresponding to the first Windows version information, installs a first target component corresponding to the first Windows component information in the first target container, configures a first registry entry corresponding to the first Windows registry configuration information in the first target container, and installs or runs the Windows software to be installed in the first target container.
[0055] After receiving an installation trigger operation from a user for a to-be-installed Windows software with an executable file, the client of the embodiment of the present application will first obtain the target installation adaptation information corresponding to the software name of the to-be-installed Windows software from the server according to the software name of the above software; and then, according to the target installation adaptation information, perform the following installation processing of the to-be-installed Windows software: create a first target container corresponding to the above first Windows version information, install the first target component corresponding to the above first Windows component information in the above first target container, configure the first registry item corresponding to the above first Windows registry configuration information in the above first target container, and install or run the above Windows software to be installed in the above first target container.
[0056] Since the embodiment of the present application can directly perform the installation process in the Linux system according to the executable file of the Windows software to be installed, even if a service provider does not provide the deb package corresponding to the Windows software A, the embodiment of the present application can also implement the installation of the Windows software A in the Linux system according to the executable file of the Windows software A. Therefore, the embodiment of the present application can improve the versatility of the Windows software installation based on Linux.
[0057] Furthermore, the embodiment of the present application performs installation processing of the Windows software to be installed according to the target installation adaptation information, which can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system.
[0058] Specifically, there may be multiple Windows versions, such as Win7 or Win10, etc. The first Windows version information of the embodiment of the present application may be a Windows version with the best compatibility. Therefore, the embodiment of the present application creates a first target container corresponding to the first Windows version information, and installs the Windows software to be installed based on the first target container, which can improve the adaptation performance and compatibility between the Windows software to be installed and the Linux system in terms of Windows version.
[0059] Moreover, the compatibility between the Windows software to be installed and the Linux system usually requires components such as dynamic link libraries. The lack of components may cause errors in the installation, startup, or use of the Windows software to be installed. The first Windows component information of the embodiment of the present application can represent the components required for the installation, startup, or use of the Windows software to be installed. Therefore, the embodiment of the present application installs the first target component corresponding to the above-mentioned first Windows component information in the above-mentioned first target container, which can provide component support for the installation, startup, or use of the software to be installed. In other words, the embodiment of the present application can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system in terms of Windows components.
[0060] Furthermore, the registry is an important database in Windows, which is used to store system and application setting information. Improper setting of registry items may cause the functions of the Windows software to be installed to fail to work properly. The first Windows registry configuration information of the embodiment of the present application can represent the registry configuration required for the use process of the Windows software to be installed. Therefore, the embodiment of the present application configures the first registry item corresponding to the first Windows registry configuration information in the first target container, which can provide registry item support for the use of the software to be installed. In other words, the embodiment of the present application can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system in terms of the Windows registry.
[0061] Reference Figure 1 , showing a schematic diagram of an application environment of a Linux-based Windows software installation method according to an embodiment of the present application, wherein a client 101 and a server 102 can perform data exchange based on a wireless network or a wired network.
[0062] In actual application, the client 101 may be a client application running in a Linux system. After the user opens the client 101, an installation trigger operation for a PE (executable file, Portable Executable) of the Windows software to be installed may be generated. Common executable files may include: EXE (executable file, executable file) and the like.
[0063] In actual applications, the above-mentioned installation trigger operation may include: a first trigger operation of a user on an installation control of a Windows software to be installed in an application store, and the client may obtain an executable file corresponding to the software name from the server according to the software name corresponding to the first trigger operation.
[0064] The application store of the embodiment of the present application can be an application store running on a Linux system, which can support Windows software and Linux software. Therefore, the application store of the embodiment of the present application can support both Linux and Windows ecological applications.
[0065] For example, the application store of the embodiment of the present application can be used for distributing and managing Windows software. It usually provides a graphical user interface, allowing users to easily search, browse, install, update and uninstall Windows software.
[0066] In a specific implementation, whether it is Windows software searched by a user or Windows software recommended by an application store, the content area of the Windows software may generally include: information such as the software name, icon, software category, star rating, application introduction, and installation control of the Windows software. The user may generate a first trigger operation for the installation control of the Windows software to be installed in the application store by clicking on the installation control and other operations. It should be noted that after receiving the first trigger operation, the client 101 may first obtain the executable file corresponding to the software name from the server according to the software name corresponding to the first trigger operation; and then perform subsequent operations.
[0067] Alternatively, the installation trigger operation may include: a second trigger operation of the user on the executable file of the Windows software to be installed. For example, if the user downloads the executable file of the Windows software to be installed through other channels (such as a website) other than the application store, the user may generate a second trigger operation on the executable file of the Windows software to be installed by double-clicking the executable file.
[0068] In the conventional technology, when downloading an executable file of Windows, Wine is usually required to install the executable file. For example, in the command line interface, the wine command plus the full path of the EXE file is used to run the file, thereby installing the EXE file. Furthermore, if an error occurs during the installation of the EXE file, the user needs to resolve the error by himself.
[0069] The embodiment of the present application can automatically obtain the target installation adaptation information corresponding to the software name, and execute the installation process of the Windows software to be installed according to the target installation adaptation information. On the one hand, the embodiment of the present application saves the input cost of the command line and simplifies the Windows software installation process based on Linux; on the other hand, the embodiment of the present application executes the installation process of the Windows software to be installed according to the target installation adaptation information, which can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system; in this way, it can reduce errors in the installation process.
[0070] No matter the client 101 receives the first trigger operation or the second trigger operation, it can send a request to the server 102 , and the request can include: the software name of the Windows software to be installed.
[0071] The server 102 may search the mapping relationship between the software name and the installation adaptation information according to the software name of the Windows software to be installed to obtain the target installation adaptation information corresponding to the software name, and return the target installation adaptation information to the client 101 .
[0072] Subsequently, the client 101 can perform the following installation processing of the Windows software to be installed according to the target installation adaptation information: create a first target container corresponding to the above-mentioned first Windows version information, install the first target component corresponding to the above-mentioned first Windows component information in the above-mentioned first target container, configure the first registry item corresponding to the above-mentioned first Windows registry configuration information in the above-mentioned first target container, and install or run the above-mentioned Windows software to be installed in the above-mentioned first target container.
[0073] It should be noted that, in the installation process of the Windows software to be installed, the installation process information can be displayed in the embodiment of the present application. Optionally, the installation process information can be displayed in the progress bar. For example, when the progress in the progress bar is 0 and the creation of the first target container is triggered, the text "start creating the first target container" can be displayed in the progress bar, and the progress bar can be moved with the creation process; then, when the creation of the first target container is completed, assuming that the progress stays at position A in the progress bar, after the installation of the first target component is triggered, the text "start installing the first target component" can be displayed in the progress bar, and the progress bar can be moved with the component installation process; then, when the installation of the first target component is completed, assuming that the progress stays at position B in the progress bar, after the configuration of the first registry item is triggered, the text "start configuring the first registry item" can be displayed in the progress bar, and the progress bar can be moved with the configuration process; further, when the configuration of the first registry item is completed, assuming that the progress stays at position C in the progress bar, after the installation of the Windows software to be installed is triggered, the text "start installing the software" can be displayed in the progress bar, and the progress bar can be moved with the software installation process. After the installation of the Windows software to be installed is completed, the progress of the progress bar reaches 100%, that is, reaches the end of the progress bar. The creation process is specifically the creation process of the first target container. The component installation process is specifically the installation process of the first target component. The configuration process is specifically the configuration process of the first registry entry. The software installation process is specifically the installation process of the Windows software.
[0074] It should be noted that some Windows software to be installed is free of installation, so when the first registry entry is configured, the progress bar can reach 100% and the Windows software to be installed can be run.
[0075] In summary, the embodiment of the present application encapsulates the complex installation process of Linux-based Windows software into a concise and easy-to-understand graphical interface, and stores the installation adaptation information of the Windows software on the server side. During installation, the target installation adaptation information of the Windows software to be installed is obtained from the server side, and the installation of the Windows software to be installed is implemented according to the target installation adaptation information.
[0076] In this way, the embodiment of the present application supports users to trigger the installation of Windows software based on simple clicks, and uses a graphical interface to display installation process information, thereby providing users with a friendly installation experience.
[0077] Furthermore, the embodiments of the present application can install any Windows software with an executable file, thereby improving the versatility of Linux-based Windows software installation.
[0078] Furthermore, the embodiment of the present application can perform independent installation processing on Windows software, and install a Windows software in an independent first target container, thereby improving the operating security of the Windows software.
[0079] Method Example 1
[0080] refer to Figure 2 , shows a schematic flow chart of a method for installing Windows software based on Linux according to an embodiment of the present application, which method may specifically include the following steps:
[0081] Step 201: The client receives a user's installation trigger operation for a Windows software to be installed with an executable file;
[0082] Step 202: The client obtains target installation adaptation information corresponding to the software name of the Windows software to be installed from the server according to the software name of the software to be installed; the target installation adaptation information specifically includes: first Windows version information, first Windows component information and first Windows registry configuration information;
[0083] Step 203: The client creates a first target container corresponding to the first Windows version information, installs a first target component corresponding to the first Windows component information in the first target container, configures a first registry entry corresponding to the first Windows registry configuration information in the first target container, and installs or runs the Windows software to be installed in the first target container.
[0084] Figure 2 The client and server of the illustrated method embodiment may be the client and server of an application store, which are used to simplify the Linux-based Windows software installation process and to improve the versatility of Linux-based Windows software installation.
[0085] In step 201, the installation trigger operation may be an installation trigger operation generated by a user for the Windows software to be installed with an executable file, and the installation trigger operation is used to trigger the installation of the Windows software to be installed.
[0086] In actual applications, the above-mentioned installation trigger operation may include: a first trigger operation of a user on an installation control of a Windows software to be installed in an application store, and the client may obtain an executable file corresponding to the software name from the server according to the software name corresponding to the first trigger operation.
[0087] Alternatively, the installation trigger operation may include: a second trigger operation of the user on the executable file of the Windows software to be installed. For example, if the user downloads the executable file of the Windows software to be installed through other channels (such as a website) other than the application store, the user may generate a second trigger operation on the executable file of the Windows software to be installed by double-clicking the executable file.
[0088] The processing script of the client can automatically detect the second trigger operation of the user for the executable file of the Windows software to be installed.
[0089] In one implementation, a desktop file may be created, which is associated with both the processing script and the double-click operation of the executable file. In this way, when a double-click operation for the executable file is detected, the processing script of the client may be automatically run.
[0090] In another implementation, the processing script may use a Linux command line tool to monitor changes in the file system and perform subsequent processing when a double-click operation on the executable file is detected. Examples of command line tools may include: an inotify tool.
[0091] In step 202, the client may send the software name of the Windows software to be installed to the server; the server may search the mapping relationship between the software name and the installation adaptation information according to the software name of the Windows software to be installed to obtain the target installation adaptation information corresponding to the software name; and the server may also return the target installation adaptation information to the client.
[0092] In actual applications, the server can use a database to store the mapping relationship between the software name and the installation adaptation information. In the mapping relationship, the software name can represent a software, and the software name can include: the name of the software type and the version number of the software. The installation adaptation information can represent the installation adaptation information corresponding to the successful adaptation of the software name.
[0093] In a specific implementation, the installation adaptation information may specifically include: Windows version information, Windows component information, and Windows registry configuration information, etc.
[0094] Among them, there can be multiple Windows versions, such as Win7 or Win10, etc. The Windows version information in the mapping relationship of the embodiment of the present application can be a Windows version with the best compatibility corresponding to the Windows software of the software name.
[0095] The Windows component information in the mapping relationship of the embodiment of the present application can represent the components required for the installation, startup or use of the Windows software with the software name. The above-mentioned Windows component information can overcome the problems or errors that occur during the installation, startup or use of the Windows software with the software name and realize the normal use of the functions.
[0096] The Windows registry configuration information in the mapping relationship of the embodiment of the present application can represent the registry configuration required for the use of the Windows software of the software name. The Windows registry configuration information can overcome problems or errors that occur during the use of the Windows software of the software name and realize the normal use of the functions.
[0097] The embodiment of the present application may adopt the following steps to generate a data record corresponding to the mapping relationship:
[0098] Step A1, collecting error information that occurs during the preset processing of Windows software; the preset processing includes: installation, startup and use;
[0099] Step A2: determining installation adaptation information corresponding to the Windows software according to the error information;
[0100] Step A3: Generate a data record corresponding to the mapping relationship between the software name and the installation adaptation information according to the software name and the installation adaptation information corresponding to the Windows software.
[0101] In step A1, the preset process may be a manual process or an automatic process.
[0102] Taking automatic processing as an example, automatic processing of Windows software can be performed based on the executable file of Windows software. The automatic processing may include: installation; receiving component information of preset interactive components in the interface of the first application from the compatibility layer software, and jumping the interface during the automatic processing according to the component information; updating the processing status information of the first application according to whether error information is collected during the automatic processing; if the processing status information at a certain moment is successful installation, the automatic processing also includes: starting.
[0103] Wine is a compatibility layer software that can port Windows operating system applications to Linux operating system. Since Wine can translate Windows API (Application Program Interface) calls into dynamic POSIX (Portable Operating System Interface) calls, it can enable Windows software to run in Linux operating system.
[0104] The preset interactive component may refer to a component with interactive functions contained in the relevant interface of the Windows software, such as a component for inputting information or making a selection. Examples of the preset interactive component may include: an input box, a check box, a radio button, a drop-down menu, a click control, a switch control, etc. It can be understood that the embodiments of the present application do not limit the specific preset interactive components. The relevant interface may include: an installation interface, a startup interface, or a usage interface.
[0105] The embodiment of the present application can trigger the operation corresponding to the target preset interactive component according to the location information of the target preset interactive component to perform the interface jump in the automatic processing process. For example, jump from the first installation interface to the intermediate installation interface, jump from the i-th (i can be a positive integer) intermediate installation interface to the (i+1)-th intermediate installation interface, or jump from the intermediate installation interface to the installation completion interface, etc.
[0106] In step A2, the error information can be analyzed to obtain installation adaptation information corresponding to the Windows software. Specifically, the error cause corresponding to the error information can be determined, and then the installation adaptation information corresponding to the error cause can be determined.
[0107] In one implementation, the error message may be an error string, and the error string may include missing information of components such as dynamic link libraries. In this case, the cause of the error may be missing components, and the missing components included in the error string may be used as Windows component information in the mapping relationship. The Windows component information in the mapping relationship may specifically include the name and version number of the missing component in the error string. Optionally, the Windows component information in the mapping relationship may also include the name and version number of the associated component corresponding to the missing component.
[0108] In another implementation, the error message may be: the display color of the interface element is abnormal, specifically, the display color value is lower than the preset color value. For example, in the case of abnormal display color of the interface element of Photoshop software, the error message can be analyzed as follows: the support of the compatibility layer software is not good enough, but in view of the same style of interface elements, the compatibility layer software supports other Windows software very well, but only poorly supports Photoshop software, then additional modifications can be made to the PhotoShop software; since the registry can manage the rendering mode and other related operations of the software, some software may need to adjust different rendering strategies in the container to run better, so the cause of the error is located as: registry entries related to rendering. In this case, the Windows registry configuration information corresponding to the software names such as Photoshop software in the mapping relationship can specifically be: the name and key value of the registry entry related to rendering.
[0109] In another implementation, the error message may be: Windows software A cannot open a file of file format A. In this case, based on the analysis of the error message, the cause of the error may be located as: a registry entry related to file association. In this case, the Windows registry configuration information corresponding to the software name such as Windows software A in the mapping relationship may specifically be: a registry entry related to file association, and the key value of the registry entry includes: file format A. In this way, the association between Windows software A and file format A may be achieved, and Windows software A may then open a file of file format A.
[0110] In another implementation, when an error message appears, the Windows version information corresponding to the Windows software can also be replaced, and it can be determined whether the same error message exists after replacing the Windows version information. If not, the Windows version information corresponding to the software name in the mapping relationship can specifically be: the Windows version information after replacement.
[0111] In an example of the present application, assuming that the software name of a Windows software B of a certain communication category is "Feiqiu 2013", based on the preset processing of Windows software B and the analysis of error information, it can be determined that the Windows version information corresponding to Windows software B is: WIN7, and the Windows component information corresponding to Windows software B is: vcrun2010 component. In this way, during the installation process of Windows software B, the client of the embodiment of the present application will generate a WIN7 container with vcrun2010 component to run Windows software B. vcrun2010 can be a software package of Microsoft Visual C++2010 runtime library.
[0112] In an optional embodiment of the present application, the installation adaptation information may include, in addition to Windows version information, Windows component information, and Windows registry configuration information, compatibility layer code information. The compatibility layer code information may be the name or number of the compatibility layer code, etc., which is used to index to a specific compatibility layer code. The compatibility layer code may be used to perform specific processing or overcome specific problems for a specific Windows software corresponding to the software name in the mapping relationship.
[0113] For example, focus failure problems may occur during the use of Windows software C. The focus failure problem specifically includes: the focus does not appear when the input box is clicked, or the focus jumps from one position to another without the user performing any operation. The above focus failure problems may cause the user to be unable to operate smoothly. The embodiment of the present application can provide a compatibility layer code for solving the focus failure problem. The compatibility layer code can be used to display the focus at the clicked position when the focus does not appear when the input box is clicked; or, the compatibility layer code can be used to move the focus back to the original position when the focus jumps from one position to another without the user performing any operation.
[0114] For another example, the problem of the QR code not being updated may occur during the use of Windows software D. In this case, the compatibility layer code can be used to force the QR code to be refreshed.
[0115] In step A3, a data record corresponding to the mapping relationship between the software name and the installation adaptation information may be generated according to the software name and the installation adaptation information corresponding to the Windows software.
[0116] In actual applications, a database may be used to store the mapping relationship between the software name and the installation adaptation information. Then, the software name and installation adaptation information corresponding to a Windows software may correspond to a data record in the database.
[0117] Referring to Table 1, an example of a mapping relationship between a software name and installation adaptation information of an embodiment of the present application is shown, wherein the installation adaptation information may include: one or more of Windows version information, Windows component information, Windows registry configuration information, and compatibility layer code information. In the case that a certain installation adaptation information corresponding to a software name does not exist, such installation adaptation information in the data record may be empty (NULL).
[0118] Table 1
[0119]
[0120] In an optional embodiment of the present application, the above method may also include: if the target installation adaptation information corresponding to the software name does not exist, the server returns the template installation adaptation information corresponding to the software name to the client; the template installation adaptation information specifically includes: second Windows version information, second Windows component information and second Windows registry configuration information; the client creates a second target container corresponding to the second Windows version information, installs the second target component corresponding to the second Windows component information in the target container, configures the second registry item corresponding to the second Windows registry configuration information in the second target container, and installs or runs the Windows software to be installed in the second target container.
[0121] Compared with the target installation adaptation information matching a specific software name, the template installation adaptation information of the embodiment of the present application can be universal installation adaptation information. In other words, the target installation adaptation information can be personalized installation adaptation information corresponding to a specific software name, while the template installation adaptation information can be installation adaptation information corresponding to multiple software names.
[0122] In a specific implementation, the process of determining the template installation adaptation information may specifically include:
[0123] Step B1, performing first statistics on the installation adaptation information of the software category corresponding to the software name, and determining the template installation adaptation information corresponding to the software name according to the first statistical result; or
[0124] Step B2: Perform second statistics on the installation adaptation information of Windows software of multiple software categories, and determine the template installation adaptation information corresponding to the software name based on the second statistical result.
[0125] Step B1 may perform a first statistics on the installation adaptation information of the software category corresponding to the software name. The software category may include: communication category, game category or image processing category, etc. The first statistics may perform statistics on the installation adaptation information of a software category. The first statistical result may include: the number of occurrences of a certain installation adaptation information, etc. In this way, the certain installation adaptation information that appears the most times in the first statistical result may be used as the template installation adaptation information corresponding to the software name.
[0126] Step B2 may perform a second statistics on the installation adaptation information of multiple software categories. The multiple software categories may include: software categories corresponding to the software name (that is, software categories to which the software name belongs), and software categories to which the software name does not belong, etc. The second statistics may perform statistics on the installation adaptation information of multiple software categories. The second statistical result may include information such as the number of occurrences of a certain installation adaptation information. In this way, a certain installation adaptation information that appears the most times in the second statistical result may be used as the template installation adaptation information corresponding to the software name.
[0127] In a specific implementation, the server may use a configuration file to store the target installation adaptation information or the template installation adaptation information, and transmit the configuration file to the client. The format of the configuration file may be JSON (JavaScript Object Notation) format, etc. In this way, the JSON configuration file may contain a variety of target installation adaptation information. Of course, the embodiment of the present application does not limit the specific transmission method of the target installation adaptation information and the specific format of the configuration file.
[0128] In step 203, the client can perform the following installation processing of the Windows software to be installed according to the target installation adaptation information: create a first target container corresponding to the above-mentioned first Windows version information, install the first target component corresponding to the above-mentioned first Windows component information in the above-mentioned first target container, configure the first registry item corresponding to the above-mentioned first Windows registry configuration information in the above-mentioned first target container, and install or run the above-mentioned Windows software to be installed in the above-mentioned first target container.
[0129] The first target container may correspond to the first Windows version information and be used to simulate the Windows system environment corresponding to the first Windows version information.
[0130] The first target container may be created using container technology, which allows a specific operating system version to be simulated in an isolated environment, so that the software can be run without affecting the host system.
[0131] The first target component corresponding to the first Windows component information is installed in the first target container. The first target component may be a component required for the installation, startup or use of the Windows software to be installed, and may provide support for the installation, startup or use of the Windows software to be installed.
[0132] The first registry entry corresponding to the first Windows registry configuration information is configured in the first target container. The first registry entry may be registry configuration information required for the use of the Windows software to be installed, which may provide support for the use of the Windows software to be installed.
[0133] After the adaptation in terms of operating system version, component support and registry configuration has been completed, installing or running the above-mentioned Windows software to be installed in the above-mentioned first target container can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system.
[0134] In an optional implementation, the target installation adaptation information may further include: first compatibility layer code information;
[0135] The method of the embodiment of the present application may further include: the client obtains the corresponding target code from the compatible layer code library according to the first compatible layer code information, and sets the target code in the compatible layer software.
[0136] The compatibility layer code library is used to store the correspondence between the compatibility layer code information and the compatibility layer code. In this way, the client can search in the above correspondence according to the first compatibility layer code information to obtain the target code corresponding to the first compatibility layer code information, and set the target code in the compatibility layer software. The above target code can be used to solve problems such as focus anomalies.
[0137] It should be noted that if there is no target installation adaptation information corresponding to the software name, the client can perform the following installation processing for the software to be installed based on the template installation adaptation information: create a second target container corresponding to the second Windows version information, install the second target component corresponding to the second Windows component information in the target container, configure the second registry item corresponding to the second Windows registry configuration information in the second target container, and install or run the Windows software to be installed in the second target container.
[0138] Since the installation processing procedures corresponding to the target installation adaptation information and the template installation adaptation information are similar, they will not be described in detail here, and they can be referred to each other.
[0139] In summary, the Linux-based Windows software installation method of the embodiment of the present application directly performs the installation process according to the executable file of the Windows software to be installed in the Linux system. In this way, even if a service provider does not provide the deb package corresponding to the Windows software A, the embodiment of the present application can also implement the installation of the Windows software A in the Linux system according to the executable file of the Windows software A. Therefore, the embodiment of the present application can improve the versatility of the Linux-based Windows software installation.
[0140] Furthermore, the embodiment of the present application performs installation processing of the Windows software to be installed according to the target installation adaptation information, which can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system.
[0141] Specifically, there may be multiple Windows versions, such as Win7 or Win10, etc. The first Windows version information of the embodiment of the present application may be a Windows version with the best compatibility. Therefore, the embodiment of the present application creates a first target container corresponding to the first Windows version information, and installs the Windows software to be installed based on the first target container, which can improve the adaptation performance and compatibility between the Windows software to be installed and the Linux system in terms of Windows version.
[0142] Moreover, the compatibility between the Windows software to be installed and the Linux system usually requires components such as dynamic link libraries. The lack of components may cause errors in the installation, startup, or use of the Windows software to be installed. The first Windows component information of the embodiment of the present application can represent the components required for the installation, startup, or use of the Windows software to be installed. Therefore, the embodiment of the present application installs the first target component corresponding to the above-mentioned first Windows component information in the above-mentioned first target container, which can provide component support for the installation, startup, or use of the software to be installed. In other words, the embodiment of the present application can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system in terms of Windows components.
[0143] Furthermore, the registry is an important database in Windows, which is used to store system and application setting information. Improper setting of registry items may cause the functions of the Windows software to be installed to fail to work properly. The first Windows registry configuration information of the embodiment of the present application can represent the registry configuration required for the use process of the Windows software to be installed. Therefore, the embodiment of the present application configures the first registry item corresponding to the first Windows registry configuration information in the first target container, which can provide registry item support for the use of the software to be installed. In other words, the embodiment of the present application can improve the adaptation performance and compatibility performance between the Windows software to be installed and the Linux system in terms of the Windows registry.
[0144] Method Example 2
[0145] refer to Figure 3 , shows a schematic flow chart of a method for installing Windows software based on Linux according to an embodiment of the present application, which method may specifically include the following steps:
[0146] Step 301: The client receives a user's installation trigger operation for a Windows software to be installed with an executable file;
[0147] Step 302: The client sends a request to the server; the request includes: the software name of the Windows software to be installed;
[0148] Step 303: The server searches the mapping relationship between the software name and the installation adaptation information according to the software name of the Windows software to be installed, so as to obtain the target installation adaptation information corresponding to the software name; the target installation adaptation information specifically includes: first Windows version information, first Windows component information and first Windows registry configuration information; if the search is successful, that is, the target installation adaptation information corresponding to the software name exists, then step 304 can be executed, otherwise, step 306 can be executed;
[0149] Step 304: The server returns target installation adaptation information to the client;
[0150] Step 305: The client creates a first target container corresponding to the first Windows version information, installs a first target component corresponding to the first Windows component information in the first target container, configures a first registry entry corresponding to the first Windows registry configuration information in the first target container, and installs or runs the Windows software to be installed in the first target container;
[0151] Step 306: The server returns template installation adaptation information to the client.
[0152] Step 307: The client creates a second target container corresponding to the second Windows version information, installs the second target component corresponding to the second Windows component information in the target container, configures the second registry entry corresponding to the second Windows registry configuration information in the second target container, and installs or runs the Windows software to be installed in the second target container.
[0153] It should be noted that the embodiment of the present application can display the installation process information during the installation process of the Windows software to be installed. Optionally, the installation process information can be displayed in the progress bar. For example, when the progress in the progress bar is 0 and the creation of the first target container is triggered, the text "Start creating the first target container" can be displayed in the progress bar, and the progress bar can be moved; then, when the creation of the first target container is completed, assuming that the progress stays at position A in the progress bar, after the installation of the first target component is triggered, the text "Start installing the first target component" can be displayed in the progress bar, and the progress bar can be moved; then, when the installation of the first target component is completed, assuming that the progress stays at position B in the progress bar, after the configuration of the first registry item is triggered, the text "Start configuring the first registry item" can be displayed in the progress bar, and the progress bar can be moved; further, when the configuration of the first registry item is completed, assuming that the progress stays at position C in the progress bar, after the installation of the Windows software to be installed is triggered, the text "Start installing the software" can be displayed in the progress bar, and the progress bar can be moved. After the installation of the Windows software to be installed is completed, the progress of the progress bar reaches 100%, that is, reaches the end position of the progress bar.
[0154] It should be noted that some Windows software to be installed is free of installation, so when the first registry entry is configured, the progress bar can reach 100% and the Windows software to be installed can be run.
[0155] In summary, the embodiment of the present application encapsulates the complex installation process of Linux-based Windows software into a concise and easy-to-understand graphical interface, and stores the installation adaptation information of the Windows software on the server side. During installation, the target installation adaptation information of the Windows software to be installed is obtained from the server side, and the installation of the Windows software to be installed in the Linux system is implemented according to the target installation adaptation information.
[0156] In this way, the embodiment of the present application supports users in the Linux system to trigger the installation of Windows software based on a simple click, and uses a graphical interface to display installation process information, thereby providing users with a friendly installation experience.
[0157] Furthermore, the embodiments of the present application can install any Windows software with an executable file, thereby improving the versatility of Linux-based Windows software installation.
[0158] Furthermore, in the Linux system, the embodiment of the present application can perform independent installation processing for Windows software, and install a Windows software in an independent first target container, thereby improving the operating security of Windows software in the Linux system.
[0159] It should be noted that, for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the described order of actions, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present application.
[0160] Based on the above embodiment, this embodiment also provides a Windows software installation device based on Linux. Figure 4 The device may specifically include: a receiving module 401, an acquisition module 402 and a first installation processing module 403.
[0161] The receiving module 401 is applied to the client and is used to receive the installation trigger operation of the user for the Windows software to be installed with the executable file;
[0162] The acquisition module 402 is applied to the client and is used to acquire target installation adaptation information corresponding to the software name of the Windows software to be installed from the server according to the software name of the Windows software to be installed; the target installation adaptation information includes: first Windows version information, first Windows component information and first Windows registry configuration information;
[0163] The first installation processing module 403 is applied to the client and is used to create a first target container corresponding to the first Windows version information, install the first target component corresponding to the first Windows component information in the first target container, configure the first registry item corresponding to the first Windows registry configuration information in the first target container, and install or run the Windows software to be installed in the first target container.
[0164] Optionally, the installation trigger operation may include: a first trigger operation of the user for an installation control of the Windows software to be installed in the application store, and the client obtains an executable file corresponding to the software name from the server according to the software name corresponding to the first trigger operation;
[0165] Alternatively, the installation trigger operation may include: a second trigger operation by the user for an executable file of the Windows software to be installed.
[0166] Optionally, the acquisition module may include:
[0167] The sending module is applied to the client and is used to send the software name of the Windows software to be installed to the server;
[0168] The above device may also include:
[0169] A search module, applied to the server, is used to search the mapping relationship between the software name and the installation adaptation information according to the software name of the Windows software to be installed, so as to obtain the target installation adaptation information corresponding to the software name; the installation adaptation information may include: Windows version information, Windows component information and Windows registry configuration information;
[0170] The first return module is applied to the server and is used to return the target installation adaptation information to the client.
[0171] Optionally, the above device may further include the following modules applied to the server:
[0172] A collection module is used to collect error information that occurs during the preset processing of Windows software; the preset processing may include: installation, startup and use;
[0173] An installation adaptation information determination module is used to determine the installation adaptation information corresponding to the above-mentioned Windows software according to the above-mentioned error information;
[0174] The record generation module is used to generate a data record corresponding to the mapping relationship between the software name and the installation adaptation information according to the software name and the installation adaptation information corresponding to the above Windows software.
[0175] Optionally, the above device may further include:
[0176] A second return module, applied to the server, is used to return the template installation adaptation information corresponding to the software name to the client when there is no target installation adaptation information corresponding to the software name; the template installation configuration information may include: second Windows version information, second Windows component information, and second Windows registry configuration information;
[0177] The second installation processing module is applied to the client and is used to create a second target container corresponding to the above-mentioned second Windows version information, install the second target component corresponding to the above-mentioned second Windows component information in the above-mentioned target container, configure the second registry item corresponding to the above-mentioned second Windows registry configuration information in the above-mentioned second target container, and install or run the above-mentioned Windows software to be installed in the above-mentioned second target container.
[0178] Optionally, the above device may further include:
[0179] a first determining module, configured to perform first statistics on the installation adaptation information of the software category corresponding to the software name, and determine the template installation adaptation information corresponding to the software name according to the first statistical result; or
[0180] The second determination module is used to perform second statistics on the installation adaptation information of Windows software of multiple software categories, and determine the template installation adaptation information corresponding to the software name according to the second statistical result.
[0181] Optionally, the target installation adaptation information may further include: first compatibility layer code information;
[0182] The above device may also include:
[0183] The code processing module is applied to the client and is used to obtain the corresponding target code from the compatible layer code library according to the first compatible layer code information, and set the above target code in the compatible layer software.
[0184] The embodiment of the present application also provides a non-volatile readable storage medium, which stores one or more modules (programs). When the one or more modules are applied to a device, the device can execute instructions (instructions) of each method step in the embodiment of the present application.
[0185] The present application embodiment provides one or more machine-readable media on which instructions are stored, and when executed by one or more processors, an electronic device executes one or more of the methods described in the above embodiments. In the present application embodiment, the electronic device includes various types of devices such as terminal devices and servers (clusters).
[0186] The embodiments of the present disclosure may be implemented as a device that uses any appropriate hardware, firmware, software, or any combination thereof to perform a desired configuration, and the device may include: electronic devices such as terminal devices and servers (clusters). Figure 5 An exemplary apparatus 1100 that can be used to implement various embodiments described in this application is schematically shown.
[0187] For one embodiment, Figure 5 An exemplary apparatus 1100 is shown having one or more processors 1102, a control module (chip set) 1104 coupled to at least one of the (one or more) processors 1102, a memory 1106 coupled to the control module 1104, a non-volatile memory / storage device 1108 coupled to the control module 1104, one or more input / output devices 1110 coupled to the control module 1104, and a network interface 1112 coupled to the control module 1104.
[0188] The processor 1102 may include one or more single-core or multi-core processors, and the processor 1102 may include any combination of general-purpose processors or special-purpose processors (such as graphics processors, application processors, baseband processors, etc.). In some embodiments, the device 1100 can be used as a terminal device, server (cluster), etc. described in the embodiments of the present application.
[0189] In some embodiments, the device 1100 may include one or more computer-readable media (e.g., memory 1106 or non-volatile memory / storage device 1108) having instructions 1114 and one or more processors 1102 configured to execute the instructions 1114 in combination with the one or more computer-readable media to implement a module to perform the actions described in the present disclosure.
[0190] For one embodiment, the control module 1104 may include any suitable interface controller to provide any suitable interface to at least one of the processor(s) 1102 and / or any suitable device or component in communication with the control module 1104 .
[0191] The control module 1104 may include a memory controller module to provide an interface to the memory 1106. The memory controller module may be a hardware module, a software module, and / or a firmware module.
[0192] The memory 1106 may be used, for example, to load and store data and / or instructions 1114 for the device 1100. For one embodiment, the memory 1106 may include any suitable volatile memory, such as a suitable DRAM (Dynamic Random Access Memory). In some embodiments, the memory 1106 may include a double data rate type four synchronous dynamic random access memory.
[0193] For one embodiment, the control module 1104 may include one or more input / output controllers to provide an interface to the non-volatile memory / storage device 1108 and the input / output device(s) 1110 .
[0194] For example, non-volatile memory / storage 1108 may be used to store data and / or instructions 1114. Non-volatile memory / storage 1108 may include any suitable non-volatile memory (e.g., flash memory) and / or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drives, one or more optical disk drives, and / or one or more digital versatile optical disk drives).
[0195] The non-volatile memory / storage device 1108 may include storage resources that are physically part of the device on which the apparatus 1100 is installed, or it may be accessible to the device without being part of the device. For example, the non-volatile memory / storage device 1108 may be accessed via (one or more) input / output devices 1110 over a network.
[0196] The input / output device(s) 1110 may provide an interface for the apparatus 1100 to communicate with any other appropriate device, and the input / output device 1110 may include a communication component, an audio component, a sensor component, etc. The network interface 1112 may provide an interface for the apparatus 1100 to communicate through one or more networks, and the apparatus 1100 may wirelessly communicate with one or more components of a wireless network according to any of one or more wireless network standards and / or protocols, for example, accessing a wireless network based on a communication standard, such as WiFi (Wireless Fidelity), 2G (2nd Generation Wireless Telephone Technology), 3G (3rd Generation Wireless Telephone Technology), 4G (4th Generation Wireless Telephone Technology), 5G (5th Generation Wireless Telephone Technology), etc., or a combination thereof for wireless communication.
[0197] For one embodiment, at least one of the processor(s) 1102 may be packaged together with the logic of one or more controllers (e.g., a memory controller module) of the control module 1104. For one embodiment, at least one of the processor(s) 1102 may be packaged together with the logic of one or more controllers of the control module 1104 to form a system-in-package. For one embodiment, at least one of the processor(s) 1102 may be integrated on the same die with the logic of one or more controllers of the control module 1104. For one embodiment, at least one of the processor(s) 1102 may be integrated on the same die with the logic of one or more controllers of the control module 1104 to form a system-on-chip.
[0198] In various embodiments, the device 1100 may be, but is not limited to, a terminal device such as a server, a desktop computing device, or a mobile computing device (e.g., a laptop computing device, a handheld computing device, a touch screen device, a netbook, etc.). In various embodiments, the device 1100 may have more or fewer components and / or a different architecture. For example, in some embodiments, the device 1100 includes one or more cameras, a keyboard, a liquid crystal display screen (including a touch screen display), a non-volatile memory port, multiple antennas, a graphics chip, a dedicated integrated circuit, and a speaker.
[0199] Among them, the main control chip can be used as a processor or control module in the detection device, sensor data, location information, etc. are stored in a memory or non-volatile memory / storage device, the sensor group can be used as an input / output device, and the communication interface may include a network interface.
[0200] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0201] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0202] The present application embodiment is described with reference to the flowchart and / or block diagram of the method, terminal device (system) and computer program product according to the embodiment of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, and the combination of the process and / or box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing terminal device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device produce a device for implementing the function specified in one process or multiple processes in the flowchart and / or one box or multiple boxes in the block diagram.
[0203] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0204] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce computer-implemented processing, so that the instructions executed on the computer or other programmable terminal device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0205] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.
[0206] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.
[0207] The above is a detailed introduction to a Linux-based Windows software installation method and device, an electronic device and a machine-readable medium provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for a person skilled in the art, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A method for installing Windows software based on Linux, characterized in that: The method comprises: The client receives a user's installation trigger operation for the Windows software to be installed with an executable file; The client obtains target installation adaptation information corresponding to the software name of the Windows software to be installed from the server according to the software name of the software to be installed; the target installation adaptation information includes: first Windows version information, first Windows component information and first Windows registry configuration information; The client creates a first target container corresponding to the first Windows version information, installs a first target component corresponding to the first Windows component information in the first target container, configures a first registry entry corresponding to the first Windows registry configuration information in the first target container, and installs or runs the Windows software to be installed in the first target container.
2. The method according to claim 1, characterized in that The installation trigger operation includes: a first trigger operation of a user on an installation control of a Windows software to be installed in an application store, and the client obtains an executable file corresponding to the software name from the server according to the software name corresponding to the first trigger operation; Alternatively, the installation trigger operation includes: a second trigger operation of the user on an executable file of the Windows software to be installed.
3. The method according to claim 1, characterized in that The client obtains target installation adaptation information corresponding to the software name of the Windows software to be installed from the server according to the software name of the software to be installed, including: The client sends the software name of the Windows software to be installed to the server; The server searches the mapping relationship between the software name and the installation adaptation information according to the software name of the Windows software to be installed, so as to obtain the target installation adaptation information corresponding to the software name; the installation adaptation information includes: Windows version information, Windows component information and Windows registry configuration information; The server returns the target installation adaptation information to the client.
4. The method according to claim 3, characterized in that The method further comprises: Collecting error information that occurs during the preset processing of Windows software; the preset processing includes: installation, startup and use; Determine installation adaptation information corresponding to the Windows software according to the error information; According to the software name and installation adaptation information corresponding to the Windows software, a data record corresponding to the mapping relationship between the software name and the installation adaptation information is generated.
5. The method according to claim 3, characterized in that: The method further comprises: If the target installation adaptation information corresponding to the software name does not exist, the server returns the template installation adaptation information corresponding to the software name to the client; the template installation configuration information includes: the second Windows version information, the second Windows component information and the second Windows registry configuration information; The client creates a second target container corresponding to the second Windows version information, installs a second target component corresponding to the second Windows component information in the target container, configures a second registry entry corresponding to the second Windows registry configuration information in the second target container, and installs or runs the Windows software to be installed in the second target container.
6. The method according to claim 5, characterized in that The method further comprises: Performing first statistics on the installation adaptation information of the software category corresponding to the software name, and determining the template installation adaptation information corresponding to the software name according to the first statistical result; or Performing second statistics on the installation adaptation information of Windows software of multiple software categories, and determining the template installation adaptation information corresponding to the software name according to the second statistical result.
7. The method according to any one of claims 1 to 5, characterized in that: The target installation adaptation information also includes: first compatibility layer code information; The method further comprises: The client obtains the corresponding target code from the compatible layer code library according to the first compatible layer code information, and sets the target code in the compatible layer software.
8. A Windows software installation device based on Linux, characterized in that: The device comprises: A receiving module, applied to the client, for receiving a user's installation trigger operation for a to-be-installed Windows software with an executable file; An acquisition module, applied to the client, is used to acquire target installation adaptation information corresponding to the software name of the Windows software to be installed from the server according to the software name of the software to be installed; the target installation adaptation information includes: first Windows version information, first Windows component information and first Windows registry configuration information; A first installation processing module is applied to the client, and is used to create a first target container corresponding to the first Windows version information, install a first target component corresponding to the first Windows component information in the first target container, configure a first registry item corresponding to the first Windows registry configuration information in the first target container, and install or run the Windows software to be installed in the first target container.
9. An electronic device, characterized in that: include: processor; and A memory having executable codes stored thereon, which, when executed, causes the processor to execute the method according to any one of claims 1 to 7.
10. A machine-readable medium having executable codes stored thereon, which, when executed, causes a processor to perform the method according to any one of claims 1 to 7.
