← Back to Patent Explorer
US6237144B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Use of relational databases for software installation

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1998-09-21
•
Granted: 2001-05-22
•
Expires: 2018-09-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for installing computer programs is provided where installation is accomplished based on an “as complete” description of the installed features, components and resources of the computer program. The necessary files and components required for installation of a given feature or component are determined by marking for installation any components which are not presently installed, preparing a script of required installation executions, and then executing the instructions to install the necessary files or components. Components are marked for installation or un-installation in temporary columns and rows which are dynamically added to data tables used to identify components and features which are available for installation. Individual components of a feature may be added or removed by simply marking that component for installation or removal. When the instructions in the installation script are executed, that particular component will be installed or removed according to the instructions. Installation of a given software application is streamlined because any component of a program application to be installed which is already installed on the user's computer need not be reinstalled upon the installation of the desired feature. Only components or files thereof which must be installed in addition to previously installed components or files need be installed for the installation of the software application program.

Inventors

  • 👤 John C. Delo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 07:42
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/60; G06F8/61; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933; Y10S707/99941; Y10S707/99944

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 51 words
A method of installing a computer program, comprising the steps of: selecting features of the computer program for installation; determining components required for installation of the features; determining resources required for installation of the components; generating a script of instructions for installation of the resources; and executing the script of instructions.
Claim 2
Independent Claim 51 words
A method of installing a computer program, comprising the steps of: selecting features of the computer program for installation; determining components required for installation of the features; determining resources required for installation of the components; generating a script of instructions for installation of the resources; and executing the script of instructions.
Claim 3
Dependent Claim 82 words
The method of claim 1 , whereby the step of determining components required for installation of the features includes the step of: mapping each of the features of the computer program for installation to one or more components comprising each of the features; determining the installation status of each of said one or more components; and in response to determining the installation status of each of said one or more components, marking said one or more components with a desired installation status.
Claim 4
Dependent Claim 13 words
The method of claim 2 , whereby the desired installation status is “installed.”
Claim 5
Dependent Claim 14 words
The method of claim 2 , whereby the desired installation status is “not installed.”
Claim 6
Dependent Claim 68 words
The method of claim 1 , whereby the step of generating a script of instructions for installation of the resources includes the steps of: creating a data file having a plurality of records; populating each of said plurality of records with an instruction for installation of a one of said resources; and populating at least one of said plurality of records with an instruction to execute said instructions.
Claim 7
Dependent Claim 27 words
The method of claim 5 , whereby said instruction for installation of a one of said resources includes an instruction to install said one of said resources.
Claim 8
Dependent Claim 27 words
The method of claim 5 , whereby said instruction for installation of a one of said resources includes an instruction to un-install said one of said resources.
Claim 9
Dependent Claim 31 words
The method of claim 1 , whereby the step of selecting features of the computer program for installation includes selecting features of the computer program for installation via a user interface.
Claim 10
Dependent Claim 41 words
The method of claim 1 , whereby the step of selecting features of the computer program for installation includes selecting features of the computer program for installation according to a predefined set of features required for installation of the computer program.
Claim 11
Independent Claim 77 words
A method for installing a computer program, comprising the steps of: querying a first data table of features of the computer program; querying a second data table of components of the features; determining which components identified in the second data table of components must be installed; querying a third data table for resources associated with the components to be installed; and generating a script of instructions for installing the resources associated with the components to be installed.
Claim 12
Independent Claim 77 words
A method for installing a computer program, comprising the steps of: querying a first data table of features of the computer program; querying a second data table of components of the features; determining which components identified in the second data table of components must be installed; querying a third data table for resources associated with the components to be installed; and generating a script of instructions for installing the resources associated with the components to be installed.
Claim 13
Dependent Claim 18 words
The method of claim 10 , further comprising the step of: executing the instructions for installing the resources.
Claim 14
Dependent Claim 107 words
The method of claim 11 , whereby the step of determining which components identified in the second data table of components must be installed, comprises the steps of: adding a first temporary data field to the table of components; adding a second temporary data field to the table of components; determining the installation status of the components identified in the second data table of components; marking the first temporary data field to indicate the installation status of each component identified in the second data table of components; and in response to marking first temporary data field, marking the second temporary data field for components to be installed.
Claim 15
Dependent Claim 42 words
The method of claim 12 whereby the step of querying a third data table for resources associated with the components to be installed includes querying the third data table of resources for components marked for installation in the second temporary data field.
Claim 16
Dependent Claim 139 words
A computer-readable medium having stored thereon a data structure having multiple data fields, comprising: a first data field containing data representing a component of a computer program; a first temporary data field containing data representing a current installation status of the component; a second temporary data field containing data representing a desired installation status of the component, wherein data in the second temporary data field altered to represent the desired installation status based on the current installation status represented by data contained in the first data field; wherein the installation status of the component is altered in accordance with the desired installation status if the desired installation status and the current installation status are different; and wherein the installation status of the component is not altered if the desired installation status and the current installation status are not different.
Claim 17
Dependent Claim 139 words
A computer-readable medium having stored thereon a data structure having multiple data fields, comprising: a first data field containing data representing a component of a computer program; a first temporary data field containing data representing a current installation status of the component; a second temporary data field containing data representing a desired installation status of the component, wherein data in the second temporary data field altered to represent the desired installation status based on the current installation status represented by data contained in the first data field; wherein the installation status of the component is altered in accordance with the desired installation status if the desired installation status and the current installation status are different; and wherein the installation status of the component is not altered if the desired installation status and the current installation status are not different.
Claim 18
Dependent Claim 130 words
A computer-readable medium on which is stored a computer program for installing a computer program module, the computer program comprising instructions, which when executed by a computer, perform the steps of: selecting features of the computer program module for installation; mapping each of the features of the computer program for installation to one or more components comprising each of the features; determining the installation status of each of said one or more components; and in response to determining the installation status of each of said one or more components, marking said one or more components with a desired installation status; determining resources required for installation of the components according to the desired installation status; generating a script of instructions for installation of the resources; and executing the script of instructions.
Claim 19
Dependent Claim 130 words
A computer-readable medium on which is stored a computer program for installing a computer program module, the computer program comprising instructions, which when executed by a computer, perform the steps of: selecting features of the computer program module for installation; mapping each of the features of the computer program for installation to one or more components comprising each of the features; determining the installation status of each of said one or more components; and in response to determining the installation status of each of said one or more components, marking said one or more components with a desired installation status; determining resources required for installation of the components according to the desired installation status; generating a script of instructions for installation of the resources; and executing the script of instructions.
Claim 20
Dependent Claim 13 words
The method of claim 15 , whereby the desired installation status is “installed.”
Claim 21
Dependent Claim 14 words
The method of claim 15 , whereby the desired installation status is “not installed.”
Claim 22
Dependent Claim 68 words
The method of claim 15 , whereby the step of generating a script of instructions for installation of the resources includes the steps of: creating a data file having a plurality of records; populating each of said plurality of records with an instruction for installation of a one of said resources; and populating at least one of said plurality of records with an instruction to execute said instructions.
Claim 23
Independent Claim 116 words
A system for installing a computer program, comprising: a control module operative, to select features of the computer program module for installation; to map each of the features of the computer program for installation to one or more components comprising each of the features; to determine the installation status of each of said one or more components; in response to determine the installation status of each of said one or more components, marking said one or more components with a desired installation status; to determine resources required for installation of the components according to the desired installation status; to generate a script of instructions for installation of the resources; and to execute the script of instructions.
Claim 24
Independent Claim 116 words
A system for installing a computer program, comprising: a control module operative, to select features of the computer program module for installation; to map each of the features of the computer program for installation to one or more components comprising each of the features; to determine the installation status of each of said one or more components; in response to determine the installation status of each of said one or more components, marking said one or more components with a desired installation status; to determine resources required for installation of the components according to the desired installation status; to generate a script of instructions for installation of the resources; and to execute the script of instructions.
Claim 25
Dependent Claim 13 words
The system of claim 19 , whereby the desired installation status is “installed.”
Claim 26
Dependent Claim 14 words
The system of claim 19 , whereby the desired installation status is “not installed.”
Claim 27
Independent Claim 129 words
A method for installing a computer program using related databases, comprising the steps of: storing in a first database information representing computer program features; storing in a second database information representing installable components of the features; mapping the information stored in the second database to the information contained in the first database using a mapping table; marking the second database with the current installation status of the installable components represented by data stored in the second database; marking the second database with the desired installation status of the installable components represented by data stored in the second database; and in response to marking the second database with the desired installation status, storing in a third database information representing instructions for installing the components according to the desired installation status.
Claim 28
Independent Claim 129 words
A method for installing a computer program using related databases, comprising the steps of: storing in a first database information representing computer program features; storing in a second database information representing installable components of the features; mapping the information stored in the second database to the information contained in the first database using a mapping table; marking the second database with the current installation status of the installable components represented by data stored in the second database; marking the second database with the desired installation status of the installable components represented by data stored in the second database; and in response to marking the second database with the desired installation status, storing in a third database information representing instructions for installing the components according to the desired installation status.
Claim 29
Independent Claim 167 words
A method for installing a computer program, comprising the steps of: querying a first data table of features of the computer program; querying a second data table of components of the features; determining which components identified in the second data table of components must be installed comprises the steps of: adding a first temporary data field to the table of components, adding a second temporary data field to the table of components, determining the installation status of the components identified in the second data table of components, marking the first temporary data field to indicate the installation status of each component identified in the second data table of components, and in response to marking first temporary data field, marking the second temporary data field for components to be installed; querying a third data table for resources associated with the components to be installed; generating a script of instructions for installing the resources associated with the components to be installed; and executing the instructions for installing the resources.
Claim 30
Independent Claim 167 words
A method for installing a computer program, comprising the steps of: querying a first data table of features of the computer program; querying a second data table of components of the features; determining which components identified in the second data table of components must be installed comprises the steps of: adding a first temporary data field to the table of components, adding a second temporary data field to the table of components, determining the installation status of the components identified in the second data table of components, marking the first temporary data field to indicate the installation status of each component identified in the second data table of components, and in response to marking first temporary data field, marking the second temporary data field for components to be installed; querying a third data table for resources associated with the components to be installed; generating a script of instructions for installing the resources associated with the components to be installed; and executing the instructions for installing the resources.
Claim 31
Independent Claim 186 words
A method for installing a computer program, comprising the steps of: querying a first data table of features of the computer program; querying a second data table of components of the features; determining which components identified in the second data table of components must be installed comprises the steps of: adding a first temporary data field to the table of components, adding a second temporary data field to the table of components, determining the installation status of the components identified in the second data table of components, marking the first temporary data field to indicate the installation status of each component identified in the second data table of components, and in response to marking first temporary data field, marking the second temporary data field for components to be installed; querying a third data table for resources associated with the components to be installed by querying the third data table of resources for components marked for installation in the second temporary data field; generating a script of instructions for installing the resources associated with the components to be installed; and executing the instructions for installing the resources.
Claim 32
Independent Claim 186 words
A method for installing a computer program, comprising the steps of: querying a first data table of features of the computer program; querying a second data table of components of the features; determining which components identified in the second data table of components must be installed comprises the steps of: adding a first temporary data field to the table of components, adding a second temporary data field to the table of components, determining the installation status of the components identified in the second data table of components, marking the first temporary data field to indicate the installation status of each component identified in the second data table of components, and in response to marking first temporary data field, marking the second temporary data field for components to be installed; querying a third data table for resources associated with the components to be installed by querying the third data table of resources for components marked for installation in the second temporary data field; generating a script of instructions for installing the resources associated with the components to be installed; and executing the instructions for installing the resources.

References Cited (Backward Citations)

US5361360A Cited
US5560026A Cited
US5586304A Cited
US5859969A Cited
US5870611A Cited
US5835777A Cited
US6006034A Cited
US5960204A Cited
US5950010A Cited
US5933647A Cited
US5974454A Cited
US6006035A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-05-21 2004-11-20 2005-05-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-05-21 2008-11-20 2009-05-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-05-21 2012-11-20 2013-05-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag