ษออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ
บ UNIMAINT
บ Version 5.00.40
บ CSD Level 1997212
บ
บ
บ SofTouch Systems, Inc.
บ 1300 S. Meridan, Suite 600
บ Oklahoma City, OK 73108
บ Phone:(405) 947-8085  Fax:(405) 947-8169
บ
ศออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ

*******************APPLYING THE  Y5097212.CSD*****************************

************************************************************************
Running The ACSTEST.EXE

Before applying the CSD, the ACSTEST.EXE program must to be run with the -Z
option. To do this open up an OS2 window and change directories to the
Unimaint Directory. Enter the command:        ACSTEST -Z
This deregisters the class created by the ACSAGENT.DLL and *MUST* be done
*BEFORE* the CSD can be applied.

*************************************************************************
To apply the CSD, open an OS2 window and change directories to the Uminaint directory
and enter:  GTINST X:\Y5097212.CSD
where x is the path and directory that the CSD was unzipped to.


*NOTE*
When installing the CSD, if you get an error "Base Level Invalid" then you need to
reinstall the base product before applying the CSD.



!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

*************************************************************************
TO MAKE SURE THE DESKTOP AND PORTABLE BACKUP WILL RESTORE CORRECTLY
PLEASE READ THE FOLLOWING CAREFULLY
*************************************************************************

1. All users should verify that the Desktop Defaults dialog has the Do  Restore CMD
when Backup checkbox checked. 

2. Once the CSD is installed all users should make sure that UniWatch is not  running,
since the Desktop Backup from UniMaint will not work correctly if it  is,
and then use UniMaint to make a new backup of their Desktop. This will  rebuild
both the SYSBACK.CMD file and the SYSRESTR.CMD files and make a
backup  that will contain, if the user is running Warp 4, the WarpCenter information.
This cannot be done from UniWatch because the CMD files will not get
rebuilt by  UniWatch and they need to be rebuilt in order for the  WarpCenter
information to be included.

3. All users who are on Warp 4 and have a Portable Backup of their Desktop  should
make a new Backup using this version so that the WarpCenter
information is included in the Portable Backup files.

4. All Warp 4 users who make a Portable Backup using this version and who do not
use UniWatch need to add a line to their CONFIG.SYS to run UniCheck.exe  at boot time:

 RUN=X:\UNIMAINT\UNICHECK.EXE
Where X: is the drive Unimaint is installed on.

This is not necessary if the user is running UniWatch because
all of the  functions in UniCheck are also in UniWatch. It will not hurt anything to run
both of  them, but it is not needed.

If this is not done then the user will not be able to make any modifications  to the
WarpCenter after they have done a Portable Restore that included the
WarpCenter. Actually, they will be able to modify the WarpCenter but the  changes
will not be there after they reboot OS/2.
__________________________________________________________________________________




*This is a list of changes since version 5.00.29*

The items fixed in Version 5.00.30 are:

1. There are situations where one of the routines in IniCopy will return a
 non zero return code if an application is found with no keys or a key is 
found with no values. However, this was also generating an IniCopy error
log  and this is incorrect. The code has been modified so that the error
log will  no longer get created.

2. The Change All Paths checkbox in the Desktop Defaults did not work.
This  problem started when the Wizards were introduced and additional code
has now  been added to insure that all of the appropriate fields and
controls are  updated when this box is checked.

3. The Printer Repair would sometimes not find a Printer because the test 
that was inserted to identify entries in PM_Abstract:Objects was looking
for  a 4 byte binary value in a situation where there was only a 2 byte
value. The  code has been changed so that the test will now use the
correct length.

4. The Portable Backup would not backup more than 4 LaunchPad Drawers
because  that was set as the maximum number of drawers. This maximum
number has been  increased so that all LaunchPad drawers will get backed
up.

5. The detail restore routines in the Portable Restore could cause a
problem  with the LaunchPad because WPS handles from the source Desktop
could get  restored and these handles do not apply to the target Desktop.
Checks have  been added to insure that this does not occur.

6. When the LaunchPad is restored it is possible for objects to be placed
in  the wrong drawer if there is an empty drawer. An additional check has
been  added to insure that this will not happen.

******************************* V5.00.31 *********************************

The items fixed in Version 5.00.31 are:

1. If the user had the New INI File processing activated for UniMaint this
 setting was not set for the run of IniCopy that is used for the Desktop 
Backup because the appropriate parameter was not added to the IniCopy 
parameter line. Code has been added to fix this.

2. It was not possible to use the Copy menu items if the current INI file
was  an EA type of file because the standard API's cannot process it and
it would  not get opened using the new INI file API's because the read
only attribute  was on. Code has been added to close the current INI file
during the Copy or  Move operation so that the file can be opened
correctly by IniCopy.

3. The logging of drag and drop information was not adequate for problems 
with windows such as the Uninstall window and others so this facility has 
been upgraded to insure that adequate diagnostics are collected.

4. Object with WPS Class of WPProgramGroup were not treated as Folders by
the  Portable Backup and Restore. This was fixed by increasing the range
of  classes considered Folders by one.

******************************* V5.00.32 *********************************

The items fixed in Version 5.00.32 are:

1. There were a number of problems in the logging of drag and drop 
information and messages that made it impossible to coordinate the 
information between the two files. Code has been added to add date and
time  stamps to the drag drop logging file and a sequence number to all of
the logs  so that it will be easy to see the sequence of events across
different  logging files.

******************************* V5.00.33 *********************************

The items fixed in Version 5.00.33 are:

1. The Drag and Drop routines would always report an item count of 1 no 
matter what the actual count was. The code has been changed to report the 
actual count of items.

2. The Drag and Drop code would not allow a drop if the item count was not
1.  This has been changed to allow any drop where the item count is more
than  zero. However, only the first item is actually processed.

3. Additional checks have been added to the Portable Restore because at
least  one situation has been found where an attempt was made to restore
sort  information to a program object. The original problem was caused by
a problem  in the Portable Backup file but the fix needs to be inserted in
the restore  so that older files can be used.

******************************* V5.00.34 *********************************

The items fixed in Version 5.00.34 are:

1. It turns out in Warp 4 it is possible to have two WPS Objects with the 
same title in the same Folder as long as the two objects are not the same
WPS  class. This creates a problem for the Portable Backup because the
name of the  Folder along with the Title of the Object is used as the
Application name in  the Portable Backup *.WPS file. Additional code has
been added to handle this  possibility.

2. An option was added that will allow the user to specify that the WPS
Agent  Object should not be started under any circumstance. This is needed
in  situations where a Repair is needed by WPS either will not run or is 
seriously corrupted.

******************************* V5.00.35 *********************************

The items fixed in Version 5.00.35 are:

1. It was possible to get a Logic Error 1709 when attempting to do a
Portable  Restore on a DOS or Windows Object because code to log some
information was  placed so that the result of a compare would be affected
by whether the  logging was active or not. The log code has been moved so
that these objects  will get Restored correctly.

******************************* V5.00.36 *********************************

The items fixed in Version 5.00.36 are:

1. The Reinstall routines would modify all of the DEVICE=, BASEDEV=,
DEVINFO=  and a few others in the CONFIG.SYS file if one of these lines
was removed  from the CONFIG.SYS. This is clearly incorrect and the
correct action is to  simply add the full line to the CONFIG.SYS and the
routines have been  modified to do that.

2. The Uninstall would attempt to delete a file or directory that was on a
 CD-ROM device and this is clearly not possible. An additional check has
been  added to insure that this is not attempted.

3. The Reinstall would allow the user to specify a new directory that was
on  a CD-ROM drive and this is incorrect because it is not possible to
write to a  CD-ROM drive. Additional code has been added to check for this
and the user  will now be informed and given a chance to select a new
directory.

4. The Portable Restore would sometimes remove the Backup Description from
the  Portable Restore generation being used because the EAs were not
preserved  when the file was updated. Code has been added to the New INI
File processing  close routines to insure that any EAs on an existing INI
file are preserved.

5. The Repair would get a logic error 1109 if a DLL had a name that was 
greater than 8.3 and it did not have any path information associated with
it  because the ERROR_FILENAME_EXCED_RANGE error code was not included in
the  format error list. The code has been modified to handle this error.

******************************* V5.00.37 *********************************

The items fixed in Version 5.00.37 are:

1. Code was added to allow for the Tools error message to contain
additional  information unique to the tool being invoked so that the error
would be more  clear.

2. There was no dump routine for the EA Control structure so one was
added.

3. Code was added to allow all of the EA functions to be done from the 
parameter line by adding the parameters /EASUB, /EASOURCE@, /EATARGET@ and
 /EAAUTO.

4. An option was added to the EA Defaults which will allow the date and
time  information for files and directories to be saved and restored when
the EAs  are saved and restored.

******************************* V5.00.38 *********************************

The items fixed in Version 5.00.38 are:

1. There were a number of areas where the EAs were obtained for a file or 
directory but the EA information would not get logged to the EA Log file.
New  routines have been added so that the logging will now get done in all
cases.

2. If the Portable Restore attempts to Restore an Object that is in a 
different location on the target Desktop than it was on the source Desktop
 and the Object has an ObjectID the Bypass Existing Objects setting does
not  work and the existing Object is replaced rather than bypassed. An
additional  check has been added to the Portable Restore to fix this
problem.

******************************* V5.00.39 *********************************

The items fixed in Version 5.00.39 are:

1. The Dump of the WPS Object structure was modified to make it more 
complete.

2. There was a problem in the Windows INI File processing where an area of
 memory could get released and then an attempt would be made to use it.
This  would normally cause a logic error of 2604 but could cause others.
The code  has been modified so that the memory will not be used after it
is released.

3. The error reporting in the AcsPostMessage routine was improved.

4. The ability to delete an Object was added to the Desktop and Selected 
Object Settings.

5. The dump of the structures for the New INI File processing would only
dump  the last one because some break commands were missing. The break
commands  have been added so that all of the information will get dumped.

6. When the New INI File processing code opened an existing INI file it
did  not check for certain types of corruption and would therefore open an
invalid  INI file which could not be updated. Additional checks have been
added to the  New INI File processing open routines to fix this problem.

7. An item would get duplicated on the Key Value Popup Menu for EA files. 
Additional checks have been added to fix this problem.

8. The accelerator keys had a conflict between some of the popup menus and
 the standard menus. A few of the keys, all of them are Alt-Ctrl
combinations,  have been changed to remove the conflict.

9. An item has been added to the Key Name and Key Value popup menus that
will  decode the structures for PM_Abstract:Objects and the .CLASSINFO EA.
This is  designed primarily to help with diagnosing INI file and EA
problems.

10. There was a problem in the modifications to the Uninstall code to
check  for a CD-ROM drive. There was one place where the check was
reversed. The  code has been changed so that the check is correct.

******************************* V5.00.40 *********************************

The items fixed in Version 5.00.40 are:

1. There were some situations where dialogs would stay visible long enough
 for a user to terminate them twice. This could cause a number of problems
so  code has been added to be sure that this does not happen.

2. Code was added so that the stack information recorded to the
uniexcpt.log  file will also be written to the dump file so that users
will not have to  send two files when they get a SYS3175 error.

3. There was one place where it was possible for UniMaint to go into a
loop  at startup time while trying unsuccessfully to start the WPS Agent
Object.  Code has been added to insure that the maximum delay will be 15
seconds.

4. If UniMaint was closed while in a minimized or maximized state it would
 not come up in this state when it was restarted. Code has been added so
that  UniMaint will always come back up the same way it was closed.

5. There were some problems during the initialization of UniMaint on Warp
4  using FP3. Some of the API's in the initialization were changed from 
WinSendMsg to WinPostMsg in order to address this problem.
