Saturday, January 24, 2009

Java/UI: External UI Handler for Multiplatform Installers

The multiplatform installer project was prepared as a prototype external UI handler for Attachmate's installers. Its goal was to demonstrate that a standardized, parameter driven generic user interface could be used for installation of all Attachmate products, regardless of target platform. It would miminize the effort necessary to maintain a standard look and feel as any change to an Attachmate company name, font, logo, icons, or graphic image would be reflected in all products' next version.

The prototype is a wizard written in Java, built with embedded JUnit tests, localized with ResourceBundles, driven with a pair of localized XML configuration files -- one for the installer wizard and one for the to-be-installed product, provides complete source code Javadocs, and logs runtime events. It is written to collect the user's preferences and then will invoke one of several type of install packages including a Windows MSI database, an InstallShield Multiplatform project, an HPUX package, or a UNIX install script.

In the case of an MSI installation, this external UI handler is registered with the installer service so it is available in Add\Remove Programs.

The Welcome screen contains an example of a standard graphic, parameterized localized text, and the first place in a standardized installation sequence.

The software license agreement contains parameterized company-standard legalese. It, too, maintains a place in the standard installation sequence, but may be preceded by an optional prerequisite panel.

The contents of the feature selection tree are one set of data that originates in the custom schema XML file prepared for the product. As it is constructed it reflects previously installed features (Yes, the string resource should say "press the Continue button". This was a prototype.)

No comments:

Post a Comment