Removal of Software Configuration Changes
Original Publication Date: 1996-Mar-01
Included in the Prior Art Database: 2005-Apr-01
Publishing Venue
IBM
Related People
Rodriguez, PC: AUTHOR [+4]
Abstract
Described is a method for automating the removal or "uninstallation" of software configuration changes made during software installation.
Removal of Software Configuration Changes
Described is
a method for automating the removal or
"uninstallation" of software configuration changes made during
software installation.
An
uninstallation process is often desirable to free disk space
and other system resources used by a program that is no longer
needed. However, since many software
installation programs update
common configuration information, such as environment variables or
other entries in the CONFIG.SYS file, simply removing a line that was
added during installation may render another software product
unusable.
The
configuration change removal problem is solved by keeping a
list of inventory objects which contain the configuration updates
made during the installation of software.
Each time a software
object is installed, an inventory object is created and added to the
end of the list. For example, with the
OS/2* for the PowerPC*
feature installer, the inventory object is a Workplace Shell* object.
This
uninstallation process may be initiated by a user
selecting "Uninstall" from the context menu of an inventory object.
Alternatively, the user may be given the choice of uninstalling the
software that created a Workplace Shell object after the object has
been deleted from the context menu, or after the object has been
dragged and dropped on the shredder.
These
alternatives are provided, for example, by modifying the
WPObject Workplace Shell class to add an instance variable for the
handle of the inventory object for the software that created the
object. The inventory handle is set for
all objects created during
installation, except for the inventory objects themselves. Objects
created from templates or by other actions have an inventory handle
set to NULL. When the wpDelete method is
called to delete an object,
the inventory handle is examined. If the
handle is not NULL, a
window is displayed asking the user whether the whole software
package should be uninstalled. ...