Universal Software Uninstaller Using ML Inference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software uninstallation processes often leave residual components on a computer system, leading to memory loss, performance issues, and potential security risks due to incomplete removal of software artifacts.

Innovation Solution

A universal software installer and uninstaller that employs probabilistic or statistic-based inference to search for and remove software artifacts, utilizing a machine learning classifier to identify and delete files, folders, registry keys, and other remnants, ensuring a 'clean' uninstallation without prior knowledge of the software product.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a standard uninstall process is used, then the uninstallation process is simple and quick, but residual software components remain on the system

Engineering Contradiction:
Improvecompleteness of software removalVSAvoidcomplexity of uninstallation process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by creating a baseline profile of software components during installation and maintaining a profile database that tracks expected software artifacts. This allows the uninstaller to know in advance what components should be removed, enabling complete removal without complex post-uninstallation scanning and resolution processes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback mechanisms by comparing the baseline profile (created during installation) with the current system state during uninstallation. The profile database provides feedback about expected software components, and the system adjusts its removal actions based on this feedback to ensure complete uninstallation while maintaining simplicity.

Inventive Principle:
Principle #23Feedback

2Reliability

If a comprehensive search for all software artifacts is performed, then complete removal is achieved, but system performance decreases due to extensive scanning

Engineering Contradiction:
Improvecompleteness of artifact removalVSAvoiduninstallation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary action by establishing a baseline profile during installation that documents all software components, files, registry keys, and other artifacts. This pre-established profile eliminates the need for comprehensive post-installation scanning during uninstallation, as the system already knows what to look for and remove, thereby maintaining both completeness and speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies partial action by focusing the search only on specific artifact types and locations that are known to be associated with the software being uninstalled, based on the baseline profile. Rather than performing an excessive comprehensive scan of the entire system, the uninstaller targets only the relevant components documented in the profile database, achieving complete removal of necessary artifacts while maintaining fast performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12141565B2Universal installer and uninstaller
Publication Date: 2024.11.12 WELLS FARGO BANK NA
  • US12141565B2 patent drawing
  • US12141565B2 patent drawing
  • US12141565B2 patent drawing

AI summary

Provided are a universal software installer and/or uninstaller. The universal software installer determines a structure of the software to be installed and verifies all necessary software elements are applied or installed on the endpoint during the install. The universal software uninstaller determines a structure of the software to be uninstalled and verifies all related software elements are removed from the endpoint. The universal software installer and/or uninstaller is independent of an operating system platform executing on the endpoint.