DEV03 - Advanced Automated Deinstallation Procedures with WarpIN
Christian Langanke for
netlabs.org
Overview
Software Installer Tasks
End User Requirements
System Maintainer Requirements
General Installer Architecture
WarpIN - Unattended Deinstallation
What is required ?
Implementation
Standard solution for WarpIN
Software Installer Tasks
(Un)attended Software Installation
(Un)attended Software Deinstallation
(Un)attended Repair of Software Installation
Identification and Versioning of Software Packages
Trackkeeping of installed Software
Detection and Handling of Dependencies between Packages
End User Requirements
Guide through (de-)installation steps
Selection of
Components to install
Installation Target(s)
Display of
Progress of Installation Steps
important information (Readme etc)
required following steps (System Reboot etc.)
Provide Overview on installed Software Packages and Dependencies
Point-and-click Deinstallation of given Software Package by WPS Object ("Deinstall ...") - not with WarpIN :-(
System Maintainer Requirements
Unattended (de-)installation
Logging of performed (de-)installation tasks for error analysis
Unattended enumeration of installed software
Unattended validation of existing software installations
Feature to offer user a point-and-click deinstallation
General Installer Architecture
Commandline and/or GUI Frontend
Database or file repository containing list of installed Software
per Software Package
List of installed files
List of installed configuration items
List of dependencies
WarpIN - Unattended Deinstallation
So-called CID (De)installation possible using WarpIN compiler
CID response (a.k.a input or control) file (XML format) to be easily created with WarpIN GUI
For installation
and
deinstallation the original WarpIN package is required
But why for deinstallation ? - The WarpIN Database already contains all required information...
Also WarpIN cannot be called with a package identifier for unattended deinstallation...
What is required ?
Remember: WarpIN packages contain
the WarpIN (pseudo-XML) script
the compressed files of each contained package
a
dummy
WarpIN package can be used for deinstallation of any software being previously installed with WarpIN
To keep WarpIN happy, let the dummy WarpIN package contain
Dummy definitions of the packages to be deinstalled
Package identifier must match those of the original package!
Must contain some attibutes such as INDEX, TITLE and TARGET
No other configuration commands necessary
One dummy file per package - one zero byte file with any name is just fine
At least one page definition with any values
Implementation
GUI program for automatic deinstallation of specified software packages
required steps:
check for WarpIN compiler being installed ;-)
perform basic dependency check - WarpIN does no check at all!
display security prompt ("Dou you want to deinstall ...")
write temporary dummy WarpIN script
call WarpIN compiler to compile dummy WarpIN package
write temporary dummy WarpIN package and CID response file
call WarpIN compiler to deinstall
delete temporary files
Problem to be solved: UTF-8 Character conversion
Standard solution for WarpIN
WarpOUT as standard component of eComStation
can be called by Workplace Shell objects, being previously created by WarpIN packages
The End
Thank you very much for your your attention!