Application Updater for Seamless Software Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveupdate reliabilityVSAvoidcontinuous execution
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the application is updated in place, then the update process is simple, but the application execution is interrupted

Engineering Contradiction:
Improveupdate speedVSAvoidapplication availability
Core Design Contradiction:
ProductivityVSDuration of action of moving object

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improveupdate scopeVSAvoidprivacy risk
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2805233B1Installation engine and package format for parallelizable, reliable installations
Publication Date: 2022.11.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2805233B1 patent drawingFigure 1
  • EP2805233B1 patent drawingFigure 2
  • EP2805233B1 patent drawingFigure 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.