US2002095671A1PendingUtilityA1

System and method for repairing a damaged application program

41
Priority: Sep 21, 1998Filed: Feb 13, 2002Published: Jul 18, 2002
Est. expirySep 21, 2018(expired)· nominal 20-yr term from priority
G06F 8/61Y10S707/99953
41
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method for providing the ability to repair an installed application program if a resource needed by the application program becomes inadvertently deleted or otherwise unavailable to the application program. Briefly described, the present invention makes possible a system for verifying the existence of a resource needed to support a feature of the application program. The system may respond to a request from the application program to make use of the resource by first verifying the existence of the resource at an expected location. If the resource does not exist at the expected location, rather than returning an error to the application program, the system initiates an installation procedure for restoring the missing resource without interrupting the normal operation of the application program.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A computer-implemented method, comprising: 
 receiving a request to verify that a needed resource is available to an executable software program, the needed resource comprising at least one resource needed by the program;    determining whether the needed resource is available to the program, and if the needed resource is not available to the program, automatically initiating an installation procedure without manual termination of the program to make the needed resource available to the program.    
     
     
         2 . The method of  claim 1  wherein the resource comprises a registry key, and wherein determining whether the needed resource is available further comprises, querying a registry.  
     
     
         3 . The method of  claim 1  wherein the resource comprises a file, and wherein automatically initiating an installation procedure further comprises, installing the file at a storage location accessible to the executable software program.  
     
     
         4 . The method of  claim 1  wherein if the needed resource is available to the executable software program, returning existence verification data to the executable software program.  
     
     
         5 . The method of  claim 4  wherein returning existence verification data comprises, returning a location of the resource to the executable software program.  
     
     
         6 . The method of  claim 4  wherein returning existence verification data comprises, returning a resource path.  
     
     
         7 . The method of  claim 1 , wherein receiving a request to verify that a needed resource is available to an executable software program includes receiving a parameter identifying the resource.  
     
     
         8 . The method of  claim 7 , wherein determining whether the needed resource is available comprises, accessing a database based on the parameter identifying the resource to determine an expected location of the needed resource.  
     
     
         9 . The method of  claim 8  wherein determining whether the needed resource is available to the executable software program further comprises, attempting to access the resource at the expected location.  
     
     
         10 . The method of  claim 1  wherein automatically initiating an installation procedure comprises, prompting the user to provide a source of the needed resource.  
     
     
         11 . A computer-readable medium having computer-executable instructions for performing the method of  claim 1 .  
     
     
         12 . In a computing environment, a system comprising: 
 an executable software program including a first set of executable code and a second set of executable code, the second set of executable code comprising at least one resource that is needed to provide functionality to the first set of executable code; and    an installer program connected for communication with the first executable software program to receive a request for installation information of the second set of executable code, the installer program configured to determine the installation information, and when the installation information indicates that the set of executable code is not installed, the installer program further configured to automatically install the second set of executable code to make the second set of executable code available to the first set of executable code.    
     
     
         13 . The system of  claim 12  wherein the first set of executable code comprises a product, and wherein the second set of executable code corresponds to a feature of that product.  
     
     
         14 . The system of  claim 13  wherein the product includes a package file that describes at least one relationship between the feature and the at least one resource.  
     
     
         15 . The system of  claim 12  wherein the first set of executable code comprises an application program, and wherein the second set of executable code comprises a component including a collection of resources for that application program.  
     
     
         16 . The system of  claim 12  wherein the first set of executable code provides a token that includes data identifying the second set of executable code in the request for information received by the installer program.  
     
     
         17 . The system of  claim 12  wherein the token corresponds to a keypath, and wherein the installer program determines the installation information by checking for the existence of a file at a location based on the keypath.  
     
     
         18 . The system of  claim 12  wherein the second set of executable code comprises a component comprising a collection of resources, one of the resources comprises a key file, and wherein the first set of executable code provides data identifying the key file in the request for information received by the installer program.  
     
     
         19 . The system of  claim 18  wherein the key file comprises a file system file, and wherein the installer program determines the installation information of the second set of executable code by looking for the existence of the key file at a storage location.  
     
     
         20 . The system of  claim 18  wherein the key file comprises registry data, and wherein the installer program determines the installation information based on the registry data.  
     
     
         21 . A computer-readable medium having computer-executable instructions, comprising: 
 receiving a resource identifier comprising at least one argument from a first set of executable code, the resource identifier being associated with a second set of executable code including at least one resource that provides functionality to the first set of executable code;    accessing a database based on the resource identifier to retrieve an expected location of at least part of the second set of executable code; and    verifying the existence of the at least part of the second set of executable code at the expected location, and if verification is positive, passing the expected location to the first set of executable code.    
     
     
         22 . The computer-readable medium of  claim 21 , further comprising, verifying the existence of the at least part of the second set of executable code at the expected location, and if verification is negative, installing the second set of executable code at the expected location.  
     
     
         23 . The computer-readable medium of  claim 21 , wherein the resource identifier comprises a component code which corresponding to at least one resource of the second set of executable code needed by the first set of executable code.  
     
     
         24 . The computer-readable medium of  claim 21 , wherein the resource identifier comprises a feature identifier which identifies at least one portion of the first set of executable code.  
     
     
         25 . The computer-readable medium of  claim 21 , wherein accessing the database to identify the expected location of the resource includes querying the database based on data in the resource identifier.  
     
     
         26 . In a computing environment, a system comprising, 
 executable code having a feature, the feature comprising a component including a key file which supports the feature; and    an installer for repairing the executable code if the key file becomes unavailable to the executable code, the installer: 
 (a) receiving from the executable code a request for a path to the key file;  
 (b) identifying an expected location for the key file in the computing environment;  
 (c) attempting to verify the existence of the key file at the expected location in the computing environment; and  
 (d) in response to a failure to verify the existence of the key file at the expected location, automatically initiating an installation of the key file to the expected location without manual termination of the executable code.  
   
     
     
         27 . The system of  claim 26 , wherein in response to successfully verifying the existence of the key file at the expected location, the installer provides data that identifies the expected location to the executable code.  
     
     
         28 . The system of  claim 26 , wherein the key file corresponds to a resource of a component.  
     
     
         29 . The system of  claim 28 , wherein the component corresponds to a feature.  
     
     
         30 . In a computer system, a method comprising, 
 receiving a call, the call including a resource identifier; and    in response to receiving the call: 
 1) determining if a resource corresponding to the resource identifier exists at an expected location, and if the resource does not exist at the expected location, automatically initiating an installation of the resource to the expected location; and  
 2) returning information corresponding to the existence of the resource at the expected location.  
   
     
     
         31 . The method of  claim 30  wherein returning information corresponding to the existence of the resource at the expected location comprises returning a path to the expected location.  
     
     
         32 . The method of  claim 30  wherein determining if the resource corresponding to the resource identifier exists includes querying a database to obtain the expected location of the key file.  
     
     
         33 . The method of  claim 32 , wherein if the expected location cannot be found by querying the database, automatically initiating an installation of the resource to a location and adding that location to the database as the expected location.  
     
     
         34 . The method of  claim 30  wherein the resource identifier corresponds to a key file, and wherein determining if a resource corresponding to the resource identifier exists at an expected location comprises obtaining a path to that key file.  
     
     
         35 . A computer-readable medium having computer-executable instructions for performing the method of claim  30 .

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.