Custom Software Installation Package Wrapper Execution Flow Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application wrapping techniques lack control over the execution flow and supplemental functionality, as they typically inject dynamic libraries into installation packages without modifying the original code, limiting the ability to control the application's behavior post-installation.
Innovation Solution
A customization engine extracts application code from the original installation package and inserts it into a wrapped package with executable wrapper code, configuring the wrapper code to execute first and control the flow, allowing for additional functionality and policy enforcement before executing the original application code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If dynamic libraries are injected into installation packages without modifying original code, then the original application functionality is preserved, but control over execution flow and supplemental functionality is lost
Solution Approach 1:
The patent merges the original application code with the wrapper code into a single integrated installation package. The customization engine combines these separate components (original code and wrapper code) into one unified package that maintains both the original functionality and the added control mechanisms, resolving the contradiction between preserving original functionality and gaining execution control.
Solution Approach 2:
The wrapper code acts as an intermediary between the installation package and the original application execution. It provides the necessary control over execution flow and supplemental functionality while allowing the original application to run unchanged, thus enabling adaptability without requiring complex modifications to the original code.
2Adaptability or versatility
If wrapper code is added to provide supplemental functionality, then additional control and features are enabled, but the installation package size and complexity increase
Solution Approach 1:
The installation package is segmented into distinct components: the original application code and the wrapper code. This segmentation allows the wrapper code to be added as a separate functional layer that provides supplemental capabilities without necessarily increasing the overall package size proportionally, as the wrapper can share resources and infrastructure with the original application.
3Adaptability or versatility
If the wrapper code executes before the original application code, then policy enforcement and additional features are enabled, but the execution time increases
Solution Approach 1:
The wrapper code performs policy enforcement and preliminary setup actions before the main application execution begins. By handling authentication, policy checks, and resource allocation in advance, the wrapper minimizes the impact on overall execution time while ensuring that all necessary controls are in place before the application runs.
Solution Approach 2:
The wrapper code is designed to execute critical policy enforcement and setup tasks quickly and efficiently, skipping unnecessary delays. It performs essential preliminary actions in a streamlined manner that minimizes the time added to the overall execution process while still ensuring proper control and policy enforcement.
Data Source
AI summary
According to example configurations, an application wrapper resource receives an original installation package. The original installation package can be a factory-generated installation package that supports installation of a respective unwrapped application onto a computing device. The factory-generated installation package as described herein may be different than a typical installation package available from an application store. The application wrapper resource transforms the received original installation package into a (customized) wrapped application installation package for subsequent installation of the wrapped application on a respective computer device. The wrapped application installation package includes executable wrapper code supporting supplemental functionality with respect to the original unwrapped application. To wrap the original application using the executable wrapper code, the customization engine extracts one or more portions of application code from the original installation package and inserts the one or more portions of the application code into the wrapped application installation package.


