Component-based software installation
First Claim
1. An automated method of managing installation of a multi-component software product on a computer system, the method comprising:
- creating a persistent data store that records component presence for the software product during installation of a first component of the software product, wherein the data store includes a first entry corresponding to the first component and one or more other entries corresponding to one or more supplying components of the software product that the first component depends on, and wherein the data store is updated each time a component is installed or uninstalled;
examining the data store during compilation of the first component to determine the installation statuses of the supplying components that the first component depends;
on andexecuting the first component, which involves;
determining whether the first component is compiled beforethe most recent update of the data store; and
if so, recompiling the first component which involves examining the data store.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for automated management of a multi-component software installation. The software product comprises multiple components that can operate independently, but which may operate better (e.g., with more or different functionality) if able to call another component (a “supplying” component). A persistent data store records the installation status of the components (e.g., as static Boolean values). Each installed component that depends on another component (i.e., can benefit from calling an element of the other component) is coded to compile conditionally, based on whether the supplying component is installed. If installed, the supplying component can be linked at compile time; if the supplying component is not installed, the installed component compiles and runs without the benefit of the supplying component.
28 Citations
16 Claims
-
1. An automated method of managing installation of a multi-component software product on a computer system, the method comprising:
-
creating a persistent data store that records component presence for the software product during installation of a first component of the software product, wherein the data store includes a first entry corresponding to the first component and one or more other entries corresponding to one or more supplying components of the software product that the first component depends on, and wherein the data store is updated each time a component is installed or uninstalled; examining the data store during compilation of the first component to determine the installation statuses of the supplying components that the first component depends;
on andexecuting the first component, which involves; determining whether the first component is compiled before the most recent update of the data store; and if so, recompiling the first component which involves examining the data store. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of managing installation of a multi-component software product on a computer system, the method comprising:
-
creating a persistent data store that records component presence for the software product during installation of a first component of the software product, wherein the data store includes a first entry corresponding to the first component and one or more other entries corresponding to one or more supplying components of the software product that the first component depends on, and wherein the data store is updated each time a component is installed or uninstalled; examining the data store during compilation of the first component to determine the installation statuses of the supplying components that the first component depends on; and executing the first component, which involves; determining whether the first component is compiled before the most recent update of the data store; and if so, recompiling the first component which involves examining the data store.
-
-
9. An automated method of managing installation of a multi-component software product on a computer system, the method comprising:
-
(a) installing a first functional component of the software product, wherein the first functional component comprises references to elements of one or more other functional components of the software product; (b) determining whether a master data store component that records component presence for the software product exists, and in response to the master data store component not existing, creating the master data store component, and configuring the master data store component with an entry indicating the first functional component is installed, wherein the master data store component is updated each time a functional component is installed or uninstalled; (c) creating a first component-specific data store associated with the first functional component, wherein said first component-specific data store is configured to comprise; (1) for each of the one or more other functional components, a corresponding entry configured to indicate the installation status of the other functional component; (d) during compilation of the first functional component; (1) accessing the entries in said first component-specific data store; and (2) for a subset of the one or more other functional components indicated in the entries as being installed, linking referenced elements of the subset of the other functional components; and (e) before executing the first functional component; (1) determining whether the first functional component is compiled before the most recent update of the master data store; and (2) if so, recompiling the first functional component. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of managing installation of a multi-component software product on a computer system, the method comprising:
-
(a) installing a first functional component of the software product, wherein the first functional component comprises references to elements of one or more other functional components of the software product; (b) determining whether a master data store component that records component presence for the software product exists, and in response to the master data store component not existing, creating the master data store component, and configuring the master data store component with an entry indicating the first functional component is installed, wherein the master data store component is updated each time a functional component is installed or uninstalled; (c) creating a first component-specific data store associated with the first functional component, wherein said first component-specific data store is configured to comprise; (1) for each of the one or more other functional components, a corresponding entry configured to indicate the installation status of the other functional component; (d) during compilation of the first functional component; (1) accessing the entries in said first component-specific data store; and (2) for a subset of the one or more other functional components indicated in the entries as being installed, linking referenced elements of the subset of the other functional components; and (e) before executing the first functional component; (1) determining whether the first functional component is compiled before the most recent update of the master data store; and (2) if so, recompiling the first functional component.
-
-
15. A computer system configured to execute a multi-component software product, comprising:
-
a processor; a memory; a plurality of functional components of the multi-component software product; a data store component of the multi-component software product, configured to store installation statuses of said functional components, wherein the data store component is configured to be updated each time a functional component is installed or uninstalled; an installation module configured to; determine whether the data store component exists; in response to the data store not existing, create the data store component; install a first functional component configured to reference an element of a second functional component; and record the installation status of the first functional component in said data store component; and a compiler configured to compile the first functional component by; examining said data store component; linking the second functional component if said installation status of the second functional component within the data store component indicates that the second functional component is installed; completing compilation of the first functional component without attempting to link the second functional component if said installation status of the second functional component within the data store component indicates that the second functional component is not installed; and wherein the compiler is further configured to recompile the first functional component in response to the first functional component being compiled before the most recent update of the data store component. - View Dependent Claims (16)
-
Specification