Patent application number | Description | Published |
20100251236 | In-Process Intermediary To Create Virtual Processes - In one embodiment, the tools and techniques can include intercepting with an intermediary module in a running non-virtual process a request from the running non-virtual process to create a requested non-virtual process. In response to the request being intercepted, an appropriate virtual process corresponding to the requested non-virtual process can be identified. In addition, a virtual environment that is configured to host the virtual process can be prepared and the virtual process can be added to the virtual environment. Finally, the request can be fulfilled with the virtual process. | 09-30-2010 |
20100287313 | APPLICATION VIRTUALIZATION - A virtual application packaged for a specific executing environment may be executed on a processing device having an executing environment different from the specific executing environment. A reference, included in extracted installer metadata, to one or more key paths of a hierarchically-structured data store may be modified according to a set of rules related to the executing environment detected in the processing device. The modified extracted installer metadata may be provided to an installer for installing the virtual application. During execution of the virtual application, a request to read, write, or modify the hierarchically-structured data store may be intercepted and changed, such that a first key path included in the request may be mapped to a second key path, based on the detected executing environment. Similarly, a response to the request, which may include the second key path, may be intercepted and modified, to the first key path. | 11-11-2010 |
20100293540 | RECIPE-BASED APPLICATION CONVERSION - An installation package associated with an application is obtained. Installation of the application in a first type of system is analyzed based at least in part on the installation package. A first set of changes made to the first type of system resulting from installation of the application in the first type of system is identified. Based on the first set of changes, a second set of changes made to a second type of system resulting from installation of the application in the second type of system is identified, and a recipe identifying the second set of changes is generated. A new installation package associated with the application can also be generated. This new installation package is configured for installation of the application on the second type of system, and is based at least in part on both the recipe and the installation package | 11-18-2010 |
20100318997 | ANNOTATING VIRTUAL APPLICATION PROCESSES - A virtualization system is described herein that facilitates communication between a virtualized application and a host operating system to allow the application to correctly access resources referenced by the application. When the operating system creates a virtualized application process, the virtualization system annotates a data structure associated with the process with an identifier that identifies the virtualized application environment associated with the process. When operating system components make requests on behalf of the originating virtual process, a virtualization driver checks the data structure associated with the process to determine that the helper process is doing work on behalf of the virtualized application process. Upon discovering that the thread is doing virtual process work, the virtualization driver directs the helper process's thread to the virtual application's resources, allowing the helper process to accomplish the requested work with the correct data. | 12-16-2010 |
20100325085 | Managed System Extensibility - One or more extension registrations are received for each of multiple software components installed on a computing device. The one or more extension registrations identify the software components as providers of functionality. A record of the one or more extension registrations for each of the multiple software components is maintained. Requests are received, from other software components installed on the computing device, that identify particular functionality. In response to such requests, the information regarding one or more of the multiple software components that provide the particular functionality is returned to the other software components. | 12-23-2010 |
20110197184 | EXTENSION POINT DECLARATIVE REGISTRATION FOR VIRTUALIZATION - An extension point virtualization system uses operating system-provided reparse points to provide minimal extension point registration. Reparse points preserve application isolation while removing the scale problem of writing custom extension point proxies for each extension point. Instead, the system can use a single file system filter that generically handles application virtualization reparse points, and store reparse point data for extension points that need redirection. Many extension points can be handled by redirecting the operating system from a typical location for an application resource to a virtualized safe location for the application resource. Thus, the system simplifies the process of handling new extension points by allowing an application virtualization system to simply register new locations that should be handled with reparse points and to then handle registered locations generically. | 08-11-2011 |
20110219146 | VIRTUAL SOFTWARE APPLICATION DEPLOYMENT CONFIGURATIONS - Configuration items for a software application can be automatically and/or manually discovered, and the application can be packaged to form a virtual application package. A deployment configuration can include settings for the configuration items. The deployment configuration can be set after packaging the software application. For example, a selected configuration item in the deployment configuration may be changed in response to user input. The virtual application package can be deployed to instantiate the application one or more times, and the deployment configuration can be applied in the instantiated application. | 09-08-2011 |
20110219365 | HIGH AND LOW VALUE APPLICATION STATE - A set of high value state in application state for a software application can be distinguished from a set of low value state in the application state. For example, a set of heuristics can be run on the application state to distinguish between the set of high value state and the set of low value state. A set of designations that designate the set of high value state in the application state as high value and that designate the set of low value state in the application state as low value can be generated. When processing the application, the high value state can be processed differently than the low value state. The application may be packaged as a virtual application. | 09-08-2011 |
20110231837 | VIRTUAL APPLICATION PACKAGE RECONSTITUTION - Techniques for creating and using a recipe to create a virtual package for a virtual application. Existing methods for creating virtual packages may require the use of an expert or may not be reliable. In some embodiments, a dehydrator is use to create a recipe. The dehydrator may take as input a reference virtual package and install media for the application and output a recipe that may be used to create a particular virtual package for a particular operating system and/or environment. In some embodiments, a rehydrator may be used to create a particular virtual package from a recipe. The rehydrator may take as input a recipe and install media for an application and output a particular virtual package for a particular operating system and/or environment. | 09-22-2011 |
20130062401 | Pervasive Package Identifiers - A package identifier for a package from which an application is installed on a computing device is obtained. The package identifier is assigned to each of one or more processes created for running the application and, for each of the one or more processes, whether the process is permitted to access a resource of the computing device is determined based at least in part on the package identifier. | 03-14-2013 |
20130067447 | State Machine Based Package Installation - A single instance store including files for multiple packages is maintained in a computing device, each of the multiple packages including one or more components or modules for one or more applications. For each of the multiple packages, a record of a state for the package is maintained, and one or more of the multiple packages can have different ones of multiple states for different users. Based at least in part on a state machine and the state for one of the multiple packages, the one of the multiple packages is transitioned to a different state. | 03-14-2013 |
20130067459 | Order-Independent Deployment Collections with Dependency Package Identifiers - In accordance with one or more aspects, a first one or more packages are included in a deployment collection for a software product. One or more identifiers of each of a second one or more packages are also included in the deployment collection for the software product. The deployment collection is obtained at a device. For each of the second one or more packages, the package is obtained based on the identifier of the package, and the first one or more packages and the second one or more packages are installed on the device. | 03-14-2013 |
20130067473 | Modes for Applications - Techniques for modes for applications are described. In one or more implementations, multiple operational modes are provided for an application. The operational modes can be associated with different resource access permissions, trust statuses, graphical user interfaces, and so on. An application can be launched in a particular one of the operational modes based on a context in which a request to launch the application is received. In one or more implementations, correlations between launch request contexts for an application and operational modes can be configured to enable different launch requests to cause an application to launch into different operational modes. | 03-14-2013 |
20130227545 | APPLICATION VIRTUALIZATION - A virtual application packaged for a specific executing environment may be executed on a processing device having an executing environment different from the specific executing environment. A reference, included in extracted installer metadata, to one or more key paths of a hierarchically-structured data store may be modified according to a set of rules related to the executing environment detected in the processing device. The modified extracted installer metadata may be provided to an installer for installing the virtual application. During execution of the virtual application, a request to read, write, or modify the hierarchically-structured data store may be intercepted and changed, such that a first key path included in the request may be mapped to a second key path, based on the detected executing environment. Similarly, a response to the request, which may include the second key path, may be intercepted and modified, to the first key path. | 08-29-2013 |
20130227546 | APPLICATION VIRTUALIZATION - A virtual application packaged for a specific executing environment may be executed on a processing device having an executing environment different from the specific executing environment. A reference, included in extracted installer metadata, to one or more key paths of a hierarchically-structured data store may be modified according to a set of rules related to the executing environment detected in the processing device. The modified extracted installer metadata may be provided to an installer for installing the virtual application. During execution of the virtual application, a request to read, write, or modify the hierarchically-structured data store may be intercepted and changed, such that a first key path included in the request may be mapped to a second key path, based on the detected executing environment. Similarly, a response to the request, which may include the second key path, may be intercepted and modified, to the first key path. | 08-29-2013 |
20140337828 | VIRTUAL SOFTWARE APPLICATION DEPLOYMENT CONFIGURATIONS - Configuration items for a software application can be automatically and/or manually discovered, and the application can be packaged to form a virtual application package. A deployment configuration can include settings for the configuration items. The deployment configuration can be set after packaging the software application. For example, a selected configuration item in the deployment configuration may be changed in response to user input. The virtual application package can be deployed to instantiate the application one or more times, and the deployment configuration can be applied in the instantiated application. | 11-13-2014 |