System and method for repairing a damaged application program

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C714S015000

Reexamination Certificate

active

06397381

ABSTRACT:

TECHNICAL FIELD
The present invention generally relates to computer software application programs for providing to other installed application programs the ability to repair missing program files. More particularly, the present invention relates to an application program or software module for verifying the existence of a program file at an expected location, and for installing the program file to that expected location if the program file is missing.
BACKGROUND OF THE INVENTION
Before use, an application program must typically be installed to a computer system. The installation procedure generally involves copying executable and data files (the “program files”) related to the application program from a source location to an installed location on the computer system. Typically, the source location is an installation disk or location on a network drive accessible by the computer system. Often the program files are stored in a compressed format to conserve storage space.
Today, application programs use a variety of installation technologies to copy the program files from the source location to the computer system. Most often, an application program will include a special application program (the “set-up program”) for administering and performing the installation procedure. Generally, the set-up program is unique to the application program and is customized to install the program files from the source location to pre-configured locations on the computer system. Often the user is provided the option of redirecting the installation of the program files to other locations on the computer system.
The typical set-up program not only installs the program files to the computer system, but also creates entries in a central registration database, such as a system registration database (the “system registry”), which identify the locations of the program files on the computer system. The location may be identified by a “path” to a particular directory or folder of the computer system in which reside the program files. The entries in the system registry are typically maintained by the application program itself. While executing, the application program generally queries the system registry for the path to an installed program file, and then accesses the installed program file at the path identified in the system registry.
Any changes to the entries in the system registry are governed by the application program.
Current installation technologies perform satisfactorily if the program files are never inadvertently deleted or moved from their installed locations. As mentioned, the start-up program creates the entries in the system registry which define the path to the installed program files. Installation technologies today do not include a mechanism for policing the installed state of the program files after installation. In addition, current installation technologies do not include the ability to verify the existence of a program file after it has been installed, for instance at run-time of the application program.
One problem plaguing software developers is the over-zealous computer user. Often, the over-zealous user, in an attempt to minimize disk space usage on the computer system, may delete a program file with which the user is unfamiliar. Likewise, the over-zealous user may attempt to rearrange the file structure of the computer system by moving the program files after installation. Unfortunately, existing installation technologies do not include the ability to identify and repair the situation where a program file is expected to be at an installed location but is no longer at that location.
Currently, when an application program queries the system registry for the path to a program file, the operating system performs a simple table look-up in the system registry and returns the path to the program file. However, no verification is performed to ensure that the program file still exists at the path originally written by the set-up program. The operating system acts as a simple database look-up engine. If a program file is inadvertently deleted, it will go undetected until needed. Consequently, the application program may attempt to launch or access the program file at the path and receives an error message indicating that the program file is unavailable.
In such a situation, the application program is typically unable to continue functioning properly and may generate an error prompting the user to execute the set-up program again to repair the missing program file. In that case, the user is forced to terminate the current process and handle the error before continuing. The normal operation of the application program is interrupted, and the user may be greatly inconvenienced until the dilemma of the missing program file is resolved.
Thus, existing installation technologies fail to support the ability to repair an application program if a requested program file becomes deleted or otherwise unavailable at the program file's installed location. Accordingly, there is a need in the art for a system and method for installing an application program which provides the ability to efficiently resolve the situation where an installed program file becomes inadvertently unavailable to the application program. In addition, there is a need in the art for a system and method for verifying the existence of an installed program file upon an indication by the application program that the program file is needed. Moreover, there is a need in the art for a system and method for providing an application program with the ability to install a missing program file in a background process that does not terminate the application program's current process.
SUMMARY OF THE INVENTION
The present invention meets the above-described needs by providing the ability to identify a missing program file necessary to an application program, and to install the missing program file without interrupting the operation of the application program. The present invention achieves that result by receiving an indication that a resource, such as a program file or registry key, is needed by the application program. The indication may take the form of a request for the location of the needed resource. The present invention may maintain a listing of the locations of the resources needed by the application. In response to the indication, the present invention verifies the existence of the needed resource prior to the application attempting to execute the resource. The verification may be achieved by querying for the existence of the resource at the location maintained in the listing. If the resource does not exist, the present invention initiates the installation of the resource. The installation may occur in a background process without interrupting the application program, or by prompting the application program for instructions whether to install the missing resource.
In one embodiment, when an application program is installed, an installer application stores information in a registration database (the “installer registry”) related to the locations of the application program's resources, such as program files and registry keys. The installer registry may be a portion of the general system registry, or the installer registry may be a stand-alone registration database. A resource identifier may be assigned to each resource to uniquely identify that resource from other resources. Within the installer registry, the location of each resource may be associated with the resource identifier for that resource.
To invoke a particular “feature,” the application program indicates to the installer application which feature to invoke by passing to the installer application a resource identifier for a resource needed by that feature. A “feature” is a granular piece of the product that a user may choose to install or execute. Features typically correspond roughly to the functional features of the program itself, such as a proofing tools feature or a word processing feature. Invoking the feature may constitute selecting an option from the men

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for repairing a damaged application program does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for repairing a damaged application program, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for repairing a damaged application program will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2871677

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.