Application Updater for Seamless Software Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software update methods often cause system faults or require reboots when updating computer applications, as they fail to manage different versions and user privileges effectively, leading to interruptions in application execution.
Innovation Solution
An application updater that installs successor versions on a user account level, allowing multiple versions to coexist without interference, and elevates user privileges for machine-level updates, ensuring seamless transitions and silent updates without rebooting the system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional software update methods are used to replace older versions with newer versions, then the software is updated to a newer version, but system faults occur or reboots are required
Solution Approach 1:
The system segments the software update process by installing the successor version in a separate location from the predecessor version. The manifest file contains separate path information for the predecessor executable and successor executable, allowing independent installation and execution of different versions without interfering with each other.
Solution Approach 2:
The manifest file acts as an intermediary that coordinates between the predecessor version and successor version. It stores metadata including paths to both versions, version information, and execution instructions, enabling the system to manage multiple versions and switch between them without direct interference.
2Productivity
If the application is updated in place, then the update process is simple, but the application execution is interrupted
Solution Approach 1:
The system performs preliminary installation of the successor version before the predecessor version is removed or deactivated. The manifest file is prepared in advance with all necessary path information and version metadata, allowing the update to proceed without interrupting the current application execution.
Solution Approach 2:
The system dynamically switches between predecessor and successor versions based on execution requirements. The manifest file can be configured to point to either version, and the system can transition from one to the other without requiring the application to be stopped or the system to reboot.
3Adaptability or versatility
If user privileges are elevated for machine-level updates, then system-wide updates are achieved, but user privacy and security are compromised
Solution Approach 1:
The system applies different installation scopes based on user preferences and requirements. Users can choose to install updates locally for their specific user account or system-wide for all users. The manifest file and installation process support both user-level and machine-level installation scopes, allowing users to control the extent of privilege elevation needed.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In one embodiment, an application updater may cleanly update a computer application without causing a fault or a reboot of either the system or the process. A processor may execute a predecessor version of a computer application. The processor may install a successor version of the computer application on a user account level. The processor may execute the successor version of the computer application.