Software installation process using abstract data and...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C707S793000

Reexamination Certificate

active

06301708

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to software programs used to install and uninstall components of customizable application software programs which may include multiple interrelated modules. It also relates to methods for updating already installed application software programs via the Internet.
BACKGROUND OF THE INVENTION
Installation programs allow an end user to customize the installation of an application software program so that it is optimized for his particular computer system and so that it best meets his perceived needs within the constraints imposed by his computer system. The process typically proceeds in the following manner: the installation program engages in a dialog with the user by presenting him with a series of screen displays, each of which requests that he select one of several available installation options. As a consequence of such dialog, the installation program defines a unique set of installation steps which are followed in setting up the application program on the user's computer system. The steps generally specify the mass storage device to which application files will be copied, and are also likely to define a subset of available application modules which will be copied. The installation steps may also set operating system configuration parameters. Typically, such an installation process is encapsulated in what is known in the software industry as a script file. The installation program's installer-processing engine reads the script file, displays the dialog screens to the user in the order listed in the script file, and proceeds with the installation, a step at a time, as mandated by the user's response to each of the dialog screens.
There are several drawbacks to the installation process heretofore described. One drawback is that script files are generally hand written, which makes the process prone to error. A further drawback is difficulty posed by the need to test and debug code external to the script during the install/uninstall process. Developers often have a need to write such code, which when executed, performs tasks useful during the development process.
An even more serious drawback related to script-based installation programs is that the installation of a multiple-component application program is tied to a single script file. Thus, the system configuration steps, the component selection steps, the screen dialogs presented to the user, and the installation process flow are all interrelated. Modification of any aspect of the installation process would almost certainly require a rewriting of the script file. Because of the interrelated nature of the script-based installation process, changes to one part of the script file may have a ripple effect on the entire installation process, making rewriting the script file a complicated and tedious task.
Another serious drawback is that the installer-processing engine has access to only the features or functionality provided in the script file. Thus, modifications to the installation process which are not defined in the script file, such as modifying existing components in an undefined manner, replacing an already installed component with an updated component, or adding one or more new components would, most likely, be impossible without a complete rewriting of the script file.
Another drawback of script-based installation technology is the need to include, within the script file, logic that is used to determine whether or not a particular component is installed, as well as logic that will determine which configuration settings should be made. Installation criteria logic may also be employed to determine whether or not a particular software component can be installed on a particular operating system, or whether or not a specific configuration setting already exists.
A final limitation of the current script-based installation programs is their inability to download updated components from the Internet. Current installer technology does not support integrated installation over the Internet, nor does it support the addition of new software at run time.
Uninstallation of the application software is beset by many of the same limitations which affect installation. Uninstallation programs also employ a script file, which is read by an uninstaller-processing engine. Generally speaking, uninstallation of a complex, multi-component software package is limited to uninstalling all of the installed components. Though there are situations that require the removal of only a portion of installed components, the current script-based technology does not support partial uninstallations.
SUMMARY OF THE INVENTION
This invention is a method for installing and uninstalling software which fragments the process so that the installation or uninstallation of each component of a software suite is controlled by multiple independent files, rather than by a single script file. Each software component has associated therewith a unique component-specific data file which is independent of and external to the installer-processing engine, the suite installation process flow, and the other software components. Each component-specific data file contains not only the installation criteria that is used to determine whether or not a software component is installable on a particular computer system, and how to optimize installation of the component on a particular system, but also the command sequences which must be executed for installation and unexecuted during uninstallation. The flow of the installation/uninstallation process is controlled by a separate process-control file which is read and executed by the install/uninstall processing engine. Fragmentation of the installation process in this manner isolates the intelligence required to install and uninstall a specific software component, thereby separating installation flow information from component installation information. Since the installation of individual software components is no longer tied to the installation process flow, the installer-developer can change the installation flow without affecting information related to individual software components. Likewise, the characteristics of individual software components can be modified without risking corruption of the install/uninstall process flow. Gone is the need to recompile or rebuild an installation package because the information required to perform an install or uninstall is stored in separate data files, outside of the core install/uninstall processing engine. A component data file may reside at any accessible location, which makes integrated installation from a remote server accessible over the Internet feasible. Component data files that were not in existence at the time the original software distribution package was created can be supplied with new or updated software components via the Internet so that those components can be integrated into an existing software suite at installation run time.
The new installation process has been developed using Object Orientated Analysis and Design (OOAD) in a C++ programming language environment. Both the component-specific data files and the process-control files are represented as a hierarchy of objects. Objects which access other related objects which are lower in the hierarchy are designated an abstract base class. The component-specific data files are represented as a hierarchy of persistent objects, while the process-control file is represented as a hierarchy of state objects. The latter file is executed by a state machine which functions as the install-uninstall processing engine.


REFERENCES:
patent: 5247683 (1993-09-01), Holmes et al.
patent: 5684996 (1997-11-01), Westerholm et al.
patent: 5805897 (1998-09-01), Glowny
patent: 5812472 (1998-08-01), Lawrence et al.
patent: 5862325 (1999-01-01), Reed et al.
patent: 5875247 (1999-02-01), Nakashima et al.
patent: 5881236 (1999-03-01), Dickey
patent: 5930513 (1999-07-01), Taylor
patent: 5966540 (1999-10-01), Lister et al.
patent: 6016400 (2000-01-01), Day et al.
patent: 6023586 (2000-02-

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Software installation process using abstract data and... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Software installation process using abstract data and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Software installation process using abstract data and... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2573918

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.