 |
The Versioning
Problem
|
 |
Backward compatibility
- Applications installing new shared library
must maintain complete backward compatibility - even at
the expense of fixing bugs.
Delayed breakage detection
- A compatibility error caused by a new
version of a shared library may go undetected for a long
time.
- Compatibility errors are hard to trace
back to the application that originally caused it.
- Personal experience: Microsoft
Sidewinder control panel software and MFC42
- Particularly vulnerable are ActiveX
controls on Windows
Lack of isolation
- Hard to keep applications in isolated,
even when sharing a library is desired
- Version requirements of an application are
not known
- Library versioning not recorded or
enforced
- At most one version of the library is
available to the system at a time, so all applications
must deal with what they find, and likely fail
Deployment
- Installs typically have to copy files and
then register components in a central system database
- Difficult to replicate the install, and
uninstall correctly
- Uninstalling IE 5 breaks Office 2000
- All clients need to have the registry
footprint of the application to work with it
- Difficult to upgrade the application while
it is running
References: D