Methods for Optimizing the Installation of a
Software Product onto a Target Computer
System Optimizations for the process of installing a
software product onto a target computer
system. A relational installation
database for storing data elements in the form of strings, objects, etc. is aliased with integer identifiers corresponding to each
data element. The integer identifiers are obtained from an index that sequentially stores a copy of each unique occurrences of a
data element. Populating an installation
database with only integers reduces persistent size and provides uniformity to the data fields underlying the
database tables, and provides a significant improvement in database performance The uniform data fields may be expanded and contracted to add temporary rows and columns directly to a database table. In this way, temporary data elements may be stored directly in a database table without the need for creating a view of the database table. Temporary data elements are lost when the database table is no longer referenced, and temporary data is ignored when persisting the database. Aliased installation databases are easily manageable and provide greater flexibility to
software developers in the creation and shipping of a
software product.
Database tables may be created in a modular fashion and may be efficiently merged together when the software product is complete. Also, differences between various versions of the software product may be recorded in database transforms.
Database transforms may be shipped to the end-user and applied to a prior installation database, so as to provided enhancements, patches, upgrades, custom installations, etc. without the need to ship an entire modified installation database.