/* Delete XWorkplace installation objects. (C) 2001 Ulrich M”ller. NOTE: This file is the exact reverse to crobjXXX.cmd and instlXXX.cmd, with XXX being the user's country code. While we need an NLS script for install to get the object titles right, the deinstall script really needs no language support, since we can just kill the objects by their object IDs. */ /* DO NOT CHANGE the following */ call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs' call SysLoadFuncs /********************************************* * * 1) UNDO CROBJxxx.CMD (CONFIG FOLDER) * *********************************************/ /* items in config folder */ rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); /* config subfolders */ rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); /* kill config folder itself */ rc = Destroy(""); /********************************************* * * 2) UNDO INSTLxxx.CMD (INSTALL FOLDER) * *********************************************/ /* the following three added with V0.9.19 */ rc = Destroy(""); rc = Destroy(""); rc = Destroy(""); /* XShutdown... changed with V0.9.7 */ rc = Destroy(""); /* "Setup String" template (added V0.9.5) */ rc = Destroy(""); /* "WPS Class List" (added V0.9.2) */ rc = Destroy(""); rc = Destroy(""); /* "Mouse" shadow (added V0.9.2) */ rc = Destroy(""); /* "Keyboard" shadow (added V0.9.2) */ rc = Destroy(""); /* "Sound" shadow (added V0.9.2) */ rc = Destroy(""); /* "Media" (added V0.9.5) */ rc = Destroy(""); rc = Destroy(""); /* "Screen" (added V0.9.2) */ rc = Destroy(""); rc = Destroy(""); /* "OS/2 Kernel" */ rc = Destroy(""); rc = Destroy(""); /* "Workplace Shell" */ rc = Destroy(""); rc = Destroy(""); /* "Font folder" ... added with V0.9.7 */ rc = Destroy(""); rc = Destroy(""); /* XCenter (V0.9.7) */ rc = Destroy(""); rc = Destroy(""); /* "XWorkplace Setup" (added V0.9.0) */ rc = Destroy(""); rc = Destroy(""); /* "Readme" shadow (added V0.9.2) */ rc = Destroy(""); rc = Destroy(""); /* folder created by Xview in (added V1.0.11) */ rc = Destroy(""); /* User Guide */ rc = Destroy(""); /* "SmartGuide" introduction: this was removed with V0.9.7, but still kill it */ rc = Destroy(""); /* IN ADDITION, DESTROY TRASH CAN... THIS IS NOT IN THE INSTALL SCRIPT */ rc = Destroy(""); /* finally, destroy install folder */ rc = Destroy(""); exit; /* * Destroy: * sneaky little subproc which first sets the NODELETE=NO style * to make sure we can really delete the object and then does a * SysDestroyObject() on it. */ Destroy: parse arg objid call charout , 'Killing object ID "'objid'"...' rc = SysSetObjectData(objid, "NODELETE=NO;"); if (rc \= 0) then do /* got that: */ rc = SysDestroyObject(objid); end if (rc \= 0) then say " OK"; else say " failed."; return rc;