Release notes for KiXtart 2001 (version 4.23)


Fixes/enhancements in 4.23:
- Fixed: Changed the way in which KiXtart adjusts the security of the process.
         This fixes an issue with launching KiXtart as a process on a RDP
         (Terminal Server) connection.

- Fixed: GetFileTime reported incorrect time information on some files.

- Fixed: MOVE deleted file when source was the same as target.



Fixes/enhancements in 4.22:
- Fixed: "USE * /delete" incorrectly returned error 87

- Fixed: bug in Dir() could cause memory overwrite

- Enhanced: specifying a negative value for the Length parameter of Left() and
  Right() will cause these functions to return the number of characters equal
  to the total length of the string minus that value

- Added @PID which returns the process ID of the KiXtart process

- Added @COLOR which returns the current console colour setting

- Enhanced MOVE so it can overwrite files

- Added the following options to COPY and MOVE:
   /c  continue if errors occur
   /r  overwrite read-only files

- Added the following options to DEL:
   /c  continue if errors occur
   /f  delete read-only files

- Enhanced USE to support automatic redirection (USE * "\\server\share")

- Added @RESULT macro. This macro is used as follows:
  1. by COPY, MOVE and DEL to return the number of files the operation
     succeeded on.
  2. by USE to indicate the local drive letter that was redirected (e.g.: "X:")

- Enhanced GetFileVersion with options to retrieve the 'raw' version information:

  "BinFileVersion"
  "BinProductVersion"

  The strings returned by these options are based on the binary version information
  of the file. This information sometimes differs from the string based verion info
  of a file, so it can assisit in correctly identifying a file.

- added @SCRIPTEXE macro. Possible return values: "KIX32.EXE" and "WKIX32.EXE"

- enhanced @KIX macro. Return value is now identical to the version information in 
the executable file.

- added Tablet PC to @producttype

- enabled passing COM properties directly to built-in functions

- Fixed: EXIT used in a sub-routine now exits the script, not just the subroutine


Fixes/enhancements in 4.21:
- Fixed: GPF in FormatNumber if value stripped to zero digits

- Fixed: COM automation exception handling

- Fixed: MOVE of a single file or directory did not reset @ERROR

- Fixed: recursive COPY/MOVE/DEL with drive in source did not operate on sub-directories

- Fixed: COPY to non-existing directory

- Fixed: @PRIV now returns 'ADMIN' if running in system context

- Fixed: debugging of UDF's

- Fixed: GPF in SET on Windows 95 with USB Supplement installed

- Fixed: Ascan now returns -1 if the Start parameter is out of bounds

- Enhanced Ingroup to trim spaces from the input group name(s)


Fixes/enhancements in 4.20:
- Enhanced tokenizing engine

- Join() now takes a 3rd parameter: the number of elements of the array to join

- Added AScan()

- Added IIf()

- Added recursion ('/s') to COPY and DEL

- Added MOVE command (to move and/or rename files or directories)

- Enhanced error-reporting, now includes the scriptname and a line-number

- COLOR now supports variables as input

- Fixed @PRODUCTSUITE so that it returns an integer

- Fixed SETM to update the correct environment

- Console attribute is now correctly reset in all situations


Fixes/enhancements in 4.12:
- Enhanced setting/putting of attributes via COM automation

- Enhanced SET to set variables in the master environment on Windows 9x

- KiXtart now properly resets the console colour attibutes upon exit

- Fixed @RAS on Windows NT and Windows 2000 (was broken in 4.11)

- Removed memory leak in script handler

- Enhanced @CPU for Mobile Pentium III

- Improved performance and security of KXRPC


  *** *** *** *** *** *** IMPORTANT NOTICE *** *** *** *** *** ***

  KIX32.EXE and KX95.DLL of this release are downward compatible
  with  previous releases of KXRPC.EXE.

  KXRPC.EXE of this release is not downward compatible with
  previous  releases of KIX32.EXE or KX95.DLL.

  As such, you MUST upgrade all clients (KIX.32.EXE and KX95.DLL)
  -before- upgrading KXRPC.EXE.

  *** *** *** *** *** *** IMPORTANT NOTICE *** *** *** *** *** ***




Fixes/enhancements in 4.11:
- Added support for multi-dimension arrays

- Added support for arrays with zero elements

- Added function to retrieve a free file handle: FreeFileHandle

- Enhanced @CPU on Pentium 4

- No longer create a console when empty strings are output

- WriteValue now creates a key if it does not yet exist

- MD now supports creation of multiple directory levels

- Removed superfluous ',' in FormatNumber

- Changed support for default properties of COM objects such that they can
  only be read within expressions. See the manual for full details.



Fixes/enhancements in 4.10:
- Added support for floating point math, including math functions:
  Abs, Int, Fix, Round, Cstr, CInt, CDbl, FormatNumber

- Added mod operator

- Added @LOGONMODE, @CPU, @MHZ, @SCRIPTNAME

- Enhanced Sleep command to accept milliseconds

- Enhanced KX32.DLL to load KX16.DLL in same directory

- Added restore of console attributes after runtime error

- Fixed Exception error when enumerating WinInstaller objects

- Variable with zero-length name ('$') is no longer resolved when used
  inside strings.

- Added NoVarsInStrings option. If this option is ON, variables inside strings
  are not resolved.

- Added EXPLICIT option. If EXPLICIT is ON, all variables must be
  explicitly declared before they can be used.

- Ingroup now supports multiple arguments.

- Added Join function

- Added IsDeclared function

- Added the ability to use default properties of COM objects

- No longer logs errors concerning @ADDRESS

- Added handling of situation where KiX32 runs in the LocalSystem security
  context.

- KXRPC client side is now downward compatible (with pre-4.x versions of KXRPC)

- Added commandline argument (/r) to change the KXRPC search order


Fixes in 4.02:

- Added workaround for 'Failed to set DACL' error on Windows NT 4.0.

- Changed default script-extension search order to .KIX, followed by .SCR.

- Fixed performance issue in UBound(), VarType(), VarTypeName().

- Enhanced SidToName() to drop prefix of wellknown/builtin SIDs.

- 'Close' menu option of console is now removed (rather than grayed), unless
  run in debug mode or run outside the logonsequence.

- Added a 'token-cache' on Windows NT/2000/XP. The token-cache stores
  SID-to-groupname mappings, and speeds up the overall startup process.

  The token-cache is automatically created the first time KiXtart is run.
  Changes to a user's groupmembership are automatically handled by KiXtart
  during or after the next logon.

  Important: if you *rename* an existing group, that change will not be visible
             to KiXtart until the next time the token-cache is refreshed.

  The token-cache is automatically refreshed in full every 30 days.

  A refresh of the token-cache can be forced using the new '/f' commandline
  switch.

  "KIX32 <yourscript> /f"

  Optionally, you can include a date, indicating how old the cache must be for
  it to be refreshed:

  "KIX32 <yourscript> /f:2001/12/31"



Fixes in 4.01:

- Fixed incorrect errorcode after retrieving network information.



Below is a list of known issues with this release. Please see KiX2001.doc for
full details on Kixtart commands and functions.


1) If output has been redirected to a file, the output of any scriptcommands
   entered in the debugger is redirected to the file and not displayed on the
   console.



2) KX32, KX16 and KX95.DLL are fully compatible with the most recent versions
   that shipped with KiXtart 95. As such, there is no need to replace these
   files.


Please report any issues with this release to one of the KiXtart discussion
forums on the Internet:

http://www.brainbuzz.com
http://www.kixtart.org
http://www.scriptlogic.com/kixtart

If your issue can not be resolved on the forums, please email full details on
the problem, configuration and script(s) involved to kixtart2001@hotmail.com.


Note that KiXtart 2001 is provided to you as CareWare. Please see the manual
for full details on the KiXtart CareWare distribution policy.
