=== DISCLAIMER === I allow you to use and distribute WPSBKP and WPSREST freely under the condition that I am in no way responsible for any damage or loss you may suffer. Henk Kelder, 2:280/801.339@fidonet.org === NOTES ON WPSBKP & WPSREST === DESCRIPTION: ============ WPSBKP.EXE and WPSREST.EXE are two programs that allow you to (partially) backup you workplace shell. Whenever you have to reinstall you desktop by either recreating the ini using MAKEINI or by re-installing OS/2 you can use the WPSREST program the recreate all your WPProgram and WPShadow objects, as well as the folders they reside in. WPSBKP.EXE and WPSREST.EXE work best on OS/2 2.0 with the 'Service Pack' installed and on OS/2 2.1. Read further for more information. SYNTAX: WPSBKP [targetdirectory] [/Y] WPSREST [backupfile] You are advised to run WPSBKP in a empty directory. WPSREST allows you to specify a alternate input file. If you do not specify an input file, WPSBKP.DAT in the current directory is used as default. The /Y option can be used for WPSBKP so no questions will be asked, and Yes answers are assumed. BACKGROUND INFORMATION: ======================= WPSBKP.EXE creates a text file (WPSBKP.DAT) the contains the instructions to recreate all Program and Shadow objects (WPProgram & WPShadow) as well as the folders these objects reside in. This text file can be inspected or modified, and can be used by WPSREST to recreate program and shadow objects. Also, all icons you have assigned to the objects are saved. === FURTHER INFORMATION === When WPSBKP extracts information from the workplace shell, all objects that do not have an unique OBJECTID are assigned one (after confirmation by the user). An OBJECTID is a the **only** way to refer to existing objects. (e.g. for the desktop). It is possible that there is a problem with these OBJECTID's: sometimes two objects contain the same OBJECTID. WPSBKP will this problem and will ask if it may assign a new OBJECTID to resolve this problem. When restoring the objects the WPSREST program checks for these OBJECTID's. If an object with a given OBJECTID exists, only the settings are applied to it, if it does not exist, you are asked if you want to create the object. Shadow objects: =============== If a shadow object points to an abstract object (not a file or directory) and this abstract object does not have an unique OBJECTID, the shadow will NOT be backup'd. This will be reported. Icon positions ============== WPSBKP does also save the icon position for objects on the desktop, but not for objects in other folders. However these iconpositions are only handled properly when recreating the object and not when the object still exists. So you can NOT use WPSBKP as a backup-tool for you icon positions. If you have added objects and have not shutdown your system before making a backup it is possible that some settings are not extracted properly. This because WPSBKP uses information in your ini-files and some values are only written to it when you shutdown. This applies a specially to the ICONPOS. If WPSBKP cannot find a icon position for an object on the desktop, it will be reported. OS/2 2.0 GA, No service pack installed: ======================================= When you run the WPSREST program on OS/2 2.0 GA you must make sure you have no open folders or other objects. In some cases your system will hang when WPSREST tries to apply settings to open folders. This is due to a bug in the workplace shell. For WPSREST to work best, you should have installed the SOMFIX patch dated September 4, 1992. This patch solves a problem in the WinSetObjectData call the would not allow a setting string to be longer than 255 characters. Also, installing the service pack for OS/2 2.0 from october 1992, solves this problem. NEW VERSIONS of OS/2 ==================== You should take care when using this program on new versions of OS/2 since this program interprets data from the ini-files. The internal structure of this data can change, and the program might fail or even corrupt information This was the case with the new OS/2 2.00.1 (or 2.01) version as well as the Service Pack release in october 1992. The best way to test this is run checkini WITHOUT the /C option! (Optionally use the /W option to write out all checkini's findings and inspect the logfile) If Checkini reports un unusual amount of errors, the internal structure of the workplace shells data inside the ini-files might have changed. Look in CHECKINI's logfile at the "PM_Abstract:Objects & PM_Abstract:FldrContents" section with special care. If this section contains a lot of errors while your workplace shell seems to function properly there might have been a change, so: DO NOT USE CHECKINI.EXE or WPSBKP.EXE then! =========================================== (see DANGER.TXT about this) Note: The warning above does not apply to WPSREST.EXE and COPYINI.EXE! If you are using to *original* OS/2 2.0 version (the so-called GA version) restoring a backup might result in lost properties such a icons and various settings. The cause for these problems lies in OS/2 self. Installing the service pack from October 1992 solves these problems. CORRECTIONS in version 0.91: o In this version a problem has been corrected that ICONPOS setting was not added for objects on the desktop other than WPFolder. o Another problem was that when restoring a WPShadow object for a folder, the TITLE=xxxx setting made that the original folder name was renamed. The program than hung the desktop. This has been corrected so that a WPShadow object does not contain a TITLE=xxxx setting. Also when restoring objects, a existing WPShadow object is not updated. o WPShadow objects are always backuped last. o Performance has been improved. CHANGES in version 0.92: o WPSBKP now accepts a directory name as parameter. This directory must exist and is used to place the backup information in. If no parameter is specified the current directory is used. o WPSBKP prompts the location where the backup information will be placed and the user must confirm this with a 'Y'. CHANGES in version 0.94: o WPSBKP now support OS/2 2.00.1 (beta version) o Since the needed PROGTYPE strings for WINOS231 (OS/2 2.00.1) programs are unknown WINOS231 programs will backup as WINOS2 (3.0) programs. o Template WPProgram objects are no longer backup'd. CHANGES is version 0.96: o WPSBKP now works properly after installing the october '92 service pack CHANGES is version 0.97: o In some occasions a problem could occur that multiple objects have the same OBJECTID assigned. WPSBKP now assigns a new OBJECTID id to the object that incorrectly claims to have a duplicate OBJECTID. o Updated the documentation files (this file) o When creating the text file (WPSBKP.DAT) an existing version of this file will be renamed to WPSBKP.OLD. o A simple test has been build in to see if OBJECTID's can be found in the ini-files, to determine if the internal data structure of the ini-files might have been changed and WPSBKP will fail completely. This is however no guarantee that WPSBKP will function properly on new versions of OS/2 2.0. o Whenever WPSBKP wants to assign an OBJECTID to an object, the user will be prompted for a confirmation to assign this OBJECTID to the object. Whatever the reply is, the new OBJECTID is always written to the backup file. CHANGES in version 0.98: o Due to an error in the OS/2 2.0 Toolkit the ICONVIEWPOS (size and position of a folder) was incorrectly backup'd. The positions were backup's as ICONVIEWPOS=x1,y1,x2,y2 while they should have been backup'd as ICONVIEWPOS=x,y,cx,cy (xpos, ypos, widht, height) in percentages. CHANGES in version 0.99: o Trailing spaces in DOS settings and Objecttitles are removed o WIN-OS/2 3.1 program types are backup'd properly. (OS/2 BETA 2.1). So the problem mentioned with version 0.94 no longer exists. CHANGES in version 1.01: o Some minor text enhancements were made. o When a problems was encountered with the format of the INI files WPSBKP now advises to run CheckIni. CHANGES in version 1.02: o A problem existed in 2.1 BETA when DOS SETTINGS were backup'd. Appearantly 2.1 BETA handled comma's different from the GA version. A correction has been build in WPSBKP that will handle DOS SETTINGS properly for 2.1 BETA. WPSBKP now backups DOS Settings as documented in the OS/2 Toolkits documentation files. A comma is seen as a newline and whenever a literal comma is needed a ^ is put in before it. The effect of the problem was the each comma was interpreted as a newline character. This actually resulted in a TRAP E when trying to start a restored DOS program that contained DOS_VERSION settings. If you encounter these problems open the settings for the Dos program objects, go to setting page 2, press on 'DOS settings', go to DOS_VERSION and press the 'DEFAULT' button. Notes on version 1.10: o This version now supports all known versions of OS/2 2.0 and OS/2 2.1 Beta versions uptill release level 6.498 (March '93) o Some time ago (version 0.99) Trailing spaces were removed in DosSettings. Appearantly the 'NETWARE_RESOURCES' always must be padded with spaces to 7 positions. Now the trailing spaces in DosSettings are back in again. Notes on version 1.11: o The format of the output (WPSBKP.DAT) file was changed to a more readable format. Version 1.11 of WPSREST supports both the old and the new format. o The version number of WPSREST now matches the version number of WPSBKP. o An error was corrected were individual DOS_SETTINGS were limited to 100 characters. This lead to the problem that long DOS_SETTINGS (e.g. DOS_VERSION strings) being truncated. o The format of the .ICONPOS extended attribute was changed in OS/2 2.1. WPSBKP now handles the EA correct for all supported versions. o The OS/2 2.0 GA version contained a BUG in a vital API call that I tried to get around by actually doing two calls when restoring objects. The first to re-create the object, the second to apply some settings. When using OS/2 2.1 BETA's this method lead to loosing the restored object ICON on the second call. When WPSREST detects OS/2 2.1 it does no longer do two calls when restoring an object. (The BUG was fixed in the Service Pack already). Notes on version 1.12: o Whenever an object (WPShadow or WPProgram) was located in a root directory, WPSBKP would issue the message 'Unable to find folder in array' and would terminate. This has been corrected. o A new command switch has been added. /Y makes wpsbkp not to ask any questions but always anwer all questions with yes.