Method and system for configuration of virtualized software applications
First Claim
1. A method of virtualizing an application configured to be installed natively and executed on a plurality of operating systems, the method comprising:
- creating a plurality of input configuration files, each input configuration file corresponding to a different one of the plurality of operating systems, each input configuration file comprising a collection of configurations made to a computing device executing the corresponding operating system by native installation of the application on the computing device;
combining the plurality of input configuration files into an application template, the application template comprising a plurality of conditional layers, each conditional layer corresponding to both a different one of a plurality of operating systems and the input configuration file that corresponds to the operating system that corresponds to the conditional layer, each conditional layer including the collection of configurations of the input configuration file that corresponds to the conditional layer; and
providing the application template to a virtual application executable constructor operable by a user and configured to use the application template to build a virtualized application executable configured to execute on the plurality of operating systems without installation, the application executing within a virtual operating system when the virtualized application executable is executed on one of the plurality of operating systems, the virtualized application executable comprising the plurality of conditional layers, the plurality of conditional layers being readable by a virtualization runtime during initialization of the virtualized application executable on a particular one of the plurality of operating systems, the virtualization runtime being configured to identify the conditional layer corresponding to the particular operating system and use the collection of configurations of the identified conditional layer to configure the virtualized application, the virtualization runtime being further configured to ignore the collection of configurations of each of the plurality of conditional layers that does not correspond to the particular operating system.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of virtualizing an application to execute on a plurality of operating systems without installation. The method includes creating an input configuration file for each operating system. The templates each include a collection of configurations that were made by the application during installation on a computing device executing the operating system. The templates are combined into a single application template having a layer including the collection of configurations for each operating system. The collection of configurations includes files and registry entries. The collections also identifies and configures environmental variables, systems, and the like. Files in the collection of configurations and references to those files may be replaced with references to files stored on installation media. The application template is used to build an executable of the virtualized application. The application template may be incorporated into a manifest listing other application templates and made available to users from a website.
-
Citations
13 Claims
-
1. A method of virtualizing an application configured to be installed natively and executed on a plurality of operating systems, the method comprising:
-
creating a plurality of input configuration files, each input configuration file corresponding to a different one of the plurality of operating systems, each input configuration file comprising a collection of configurations made to a computing device executing the corresponding operating system by native installation of the application on the computing device; combining the plurality of input configuration files into an application template, the application template comprising a plurality of conditional layers, each conditional layer corresponding to both a different one of a plurality of operating systems and the input configuration file that corresponds to the operating system that corresponds to the conditional layer, each conditional layer including the collection of configurations of the input configuration file that corresponds to the conditional layer; and providing the application template to a virtual application executable constructor operable by a user and configured to use the application template to build a virtualized application executable configured to execute on the plurality of operating systems without installation, the application executing within a virtual operating system when the virtualized application executable is executed on one of the plurality of operating systems, the virtualized application executable comprising the plurality of conditional layers, the plurality of conditional layers being readable by a virtualization runtime during initialization of the virtualized application executable on a particular one of the plurality of operating systems, the virtualization runtime being configured to identify the conditional layer corresponding to the particular operating system and use the collection of configurations of the identified conditional layer to configure the virtualized application, the virtualization runtime being further configured to ignore the collection of configurations of each of the plurality of conditional layers that does not correspond to the particular operating system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. At least one non-transitory computer-readable media storing a template for building a virtual application executable configured to execute an application on a host computing device implementing a host operating system having a host filesystem and a host registry, the virtual application executable comprising a virtual operating system in which the application executes when the virtual application executable is executed, the virtual operating system comprising a virtual filesystem and a virtual registry, the template comprising:
-
information for configuring a plurality of operating systems to each execute a native installation of the application, the plurality of operating systems comprising the host operating system, the information comprising a filesystem configuration portion and an application configuration portion; the filesystem configuration portion comprising a plurality of files stored in locations, the filesystem configuration portion being operable to configure the virtual filesystem to store the plurality of files in virtual locations corresponding to the locations in which they are stored in the filesystem configuration portion, the virtual locations of the virtual filesystem corresponding to physical locations in the host filesystem; and the application configuration portion comprising references to the files in the filesystem configuration portion, the application configuration portion being operable to configure an application configuration file to include a plurality of conditional layers, each conditional layer comprising a conditional element satisfied by a different one of the plurality of operating systems, and during execution of the virtual application executable, the application configuration file being operable to configure the virtual operating system using the conditional layer that comprises the conditional element satisfied by the host operating system, the virtual operating system being configured to execute the application and at least partially isolate the execution of the application from the host operating system, during execution of the virtual application executable, the virtual filesystem being configured to receive requests to access the plurality of files located in the virtual locations of the virtual filesystem and process those requests by accessing the physical locations of the host operating system corresponding to the virtual locations, and the virtual registry comprising references one of the plurality of files by their virtual locations in the virtual filesystem.
-
Specification