Methods for optimizing the installation of a software product onto a target computer system
First Claim
1. A computer-readable medium having stored thereon computer-executable instructions for implementing the method comprising:
- providing a first installation database table corresponding to a first version of a software product;
providing a second installation database table corresponding to a second version of the software product; and
recording in a database transform the differences between the first installation database table and the second installation database table, wherein recording the database transform includes the following;
for each row in the second installation database table, identifying a key associated with the row and searching the first installation database table for a corresponding row having the key, flagging each row in the first installation database table having the key;
writing each row of the second installation database table that has a key that is not identified in the first installation database table to the database transform;
writing each row of the first installation database table that is not flagged to the database transform.
3 Assignments
0 Petitions
Accused Products
Abstract
Database tables may be created in a modular fashion and maybe efficiently merged together. Differences between various versions of software products also be recorded in database transforms. The database transforms can then be applied to a prior installation database, so as to upgrade the prior installation database. In this manner, enhancements, patches, upgrades, custom installations, can be applied in modular fashion without the need to ship an entire modified installation database. Database transforms created from a first version and an upgraded first version can also be used to upgrade corresponding second versions into an upgraded second versions.
79 Citations
10 Claims
-
1. A computer-readable medium having stored thereon computer-executable instructions for implementing the method comprising:
-
providing a first installation database table corresponding to a first version of a software product;
providing a second installation database table corresponding to a second version of the software product; and
recording in a database transform the differences between the first installation database table and the second installation database table, wherein recording the database transform includes the following;
for each row in the second installation database table, identifying a key associated with the row and searching the first installation database table for a corresponding row having the key, flagging each row in the first installation database table having the key;
writing each row of the second installation database table that has a key that is not identified in the first installation database table to the database transform;
writing each row of the first installation database table that is not flagged to the database transform.
-
-
2. A method for creating a database transform that can be used for upgrading software products, the method comprising:
-
providing a first installation database table corresponding to first version of a software product;
providing a second installation database table corresponding to a second version of the software product; and
recording in a database transform the differences between the first installation database table and the second installation database table, wherein recording the database transform includes the following;
for each row in the second installation database table, identifying a key associated with the row and searching the first installation database table for a corresponding row having the key;
flagging each row in the first installation database table having the key;
writing each row of the second installation database table that has a key that is not identified in the first installation database table to the database transform;
writing each row of the first installation database table that is not flagged to the database transform. - View Dependent Claims (3, 4, 5, 6)
providing an upgraded first installation database table corresponding to an upgraded first version of the software product;
applying the database transform to the upgraded first installation database table to produce an upgraded second installation database corresponding to an upgraded second version of the software product.
-
-
4. The method of claim 3, wherein the first version of the software product is adapted for a first language;
- and
wherein the second version of the software product is adapted for a second language.
- and
-
5. A method as recited in claim 2, wherein the second version comprises an upgrade of the first version, and wherein the method further includes:
applying the database transform to an installation database table of the first version to produce the second version of the software product.
-
6. A method as recited in claim 2, wherein the first and second installation database tables are relational database tables.
-
7. A computer program product comprising one or more computer-readable media having computer-executable instructions for implementing the method comprising:
-
identifying a first installation database table;
identifying a second installation database table, the first and second installation database tables being composed of rows, each row containing data elements;
for each row of the first installation database table, iteratively;
identifying a corresponding key included in the row;
searching the second installation database table for a row that contains the identifiable key;
creating a new row in the second installation database and writing the data elements of the identified row of the first installation database into the new row when it is determined that the second installation database does not already have a row with the identifiable key;
when a row containing the first identifiable key is identified in the second installation database, determining whether the corresponding rows are in conflict by determining whether at least one data element that is present in one of the corresponding rows is not present in the alternative one of the corresponding rows; and
notifying a user when a conflict between corresponding rows is determined.
-
-
8. A method for merging modular installation database tables into a final installation database, the method comprising:
-
identifying a first installation database table;
identifying a second installation database table, the first and second installation database tables being composed of rows, each row containing data elements;
for each row of the first installation database table, iteratively;
identifying a corresponding key included in the row;
searching the second installation database table for a row that contains the identifiable key;
creating a new row in the second installation database and writing the data elements of the identified row of the first installation database into the new row when it is determined that the second installation database does not already have a row with the identifiable key;
when a row containing the first identifiable key is identified in the second installation database, determining whether the corresponding rows are in conflict by determining whether at least one data clement that is present in one of the corresponding rows is not present in the alternative one of the corresponding rows; and
notifying a user when a conflict between corresponding rows is determined. - View Dependent Claims (9, 10)
-
Specification