Claims
- 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.
Parent Case Info
[0001] CROSS-REFERENCE TO OTHER APPLICATIONS
[0002] This application is related to the following applications, all of which are filed on the same day and assigned to the same assignee as the present application: “Use of Relational Databases for Software Installation”—Ser. No.______; “Method and System for Restoring a Computer to its Original State After an Unsuccessful Installation Attempt”—Ser. No.______; “A Method for Categorizing and Installing Selected Software Components”—Ser. No.______; “System and Method for Managing Locations of Software Components Via a Source List”—Ser. No.______; “Method for Optimizing the Installation of a Software product onto a Target Computer System”—Ser. No.______; “Software Installation and Validation Using Custom Actions”—Ser. No.______; “Internal Database Validation”—Ser. No.______; “Management of Non-persistent Data in a Persistent Database”—Ser. No.______; “Method and System for Advertising Applications”—Ser. No.______; “Software Implementation Installer Mechanism”—Ser. No.______;
Continuations (1)
|
Number |
Date |
Country |
Parent |
09158126 |
Sep 1998 |
US |
Child |
10075871 |
Feb 2002 |
US |