NWCOPY version 8.1
Copyright (c) 1995-2004 Nick Payne

Drag-and drop software distribution for NetWare file servers.

This program requires a NetWare network and 32-bit Windows workstation with the Novell client installed.

At time of writing, I do not recommend that you use NWCopy with the Novell 4.9 client, as it has too many bugs that are not present in the 4.83 client. Any message from NWCopy which says that error 0xHHHH was returned from a function named NWxxx (and some which don't, because I put out a more useful interpretation of what the error code means) are errors being returned by either the Novell client on the workstation or the NetWare OS on the server. You can find what the error codes mean by looking at the file sys:public\win32\nls\english\nwec.hlp. I have found that the 4.83 SP3 client works much better than the 4.9 client. All sorts of client errors that start appearing with the 4.9 client don't happen with the 4.83 client.

What's new in this version?
===========================
Fixed a bug where running NWCopy through the scheduler with a configuration file would result in a separate log file for each server even where all servers were processed sequentially.

New in version 8.0
==================
NWCopy can now schedule itself to copy simultaneously to all target servers that are selected.

New in version 7.30
===================
wildcard exclusions are now supported

New in version 7.21
===================
Fixed a bug introduced in v7.20 that prevented the copying of file/directory trustees and ownership between servers in the same NDS tree unless the option "Copy trustees and ownership between NDS trees" was also selected.

New in version 7.20
===================
Fixed a problem with the copying of compressed files to and from NSS volumes that have compression enabled.

New in version 7.11
===================
Fixed a problem with copying of files and directories containing the Euro symbol.

New in version 7.1
==================
Fixed pathlength problems with file/dir sync (previous fix was only for file copy). The problem is actually in the Novell client DLL CLNWIN32.DLL, which crashes with an illegal instruction error if a pathlength exceeding 255 characters is passed to it. NWCopy now tests for path length and will not attempt to sync any paths exceeding 255 characters (an error message is written to either the screen or log file depending on the logging options selected).

New in version 7.0
==================
Fixed a bug where the contents of directories without a valid owner were not copied if the option to copy ownership was selected.

Fixed a bug where zero byte files were being copied but not being shown in the log or added to the running total of files copied.

Upgraded scheduling so that NWCopy can be scheduled to run with a repeat interval of any integral number of hours, days, or weeks.

New in version 6.5
==================
Fixed a bug in the parsing of excluded directory names. The bug was that if several directories being copied at the same level started with the same characters, and the shortest of the directory names was selected for exclusion, then all the directories starting with the same characters were incorrectly excluded. For example, if you copied the directory structure VOL1:APPS, containing the directories VOL1:APPS\IE, VOL1:APPS\IE55, and VOL1:APPS\IE55SP1, and selected VOL1:APPS\IE to be excluded, then VOL1:APPS\IE55 and VOL1:APPS\IE55SP1 were incorrectly also excluded when they should have been copied.

Fixed a problem (actually a problem in the Novell client DLL CALWIN32.DLL) where an attempt to copy a file or directory path exceeding 255 characters caused an illegal instruction error. NWCopy now tests for path length and will not copy any paths exceeding 255 characters (an error message is written to either the screen or log file depending on the logging options selected).

New in version 6.41
===================
Changed from using the NetWare API function NWIntScanDirectoryInformation2 (which caused error messages to appear for system or hidden directories) to a different function that correctly detects these directories.

Changed selectable buffer sizes so that the maximum available size is now 4Mb (useful when copying between volumes on the same server at the end of a slow WAN link).

New in version 6.4
==================
Trustee assignments can now be synchronised as well as copied.

Changed the formatting of numbers that are displayed so that they are formatted according to the locale settings of the user logged into the workstation.

Fixed a bug that could logout the workstation running the copy if it had a file open that was preventing the copy from succeeding. NWCopy now checks and will not logout its own connection number on the server.

New in version 6.31
===================
You can now choose to preserve the last access date on files being copied.

You can now enter a target path directly into the Options dialog, as well as choosing it from the browse dialog or from the dropdown list of the most recently selected paths.

New in version 6.3
==================
Added an extra tab to the options dialog for specifying files and directories to be excluded from a copy or sync operation.

Added NetWare 5.0 and 5.1 as separate selectable versions, as Novell have now provided a function to distinguish between them.

New in version 6.21
===================
Removed NetWare 5.0 and 5.1 as separate versions that can be selected for copy operations, as there is actually no way to distinguish between them. For example, both NetWare 5.0 SP5 SP5 and NetWare 5.1 SP1, when queried for their version number, report back version 5.00i, so there is no way to separate them by querying the version number. This wasn't realized at the time of providing the separate version options in NWCopy v6.1.

New in version 6.2
==================
Selections of servers can now be named and saved. These servers can then be instantly re-selected by picking the name off a popup menu.

You now have the option to copy file ownership and trustee rights between NDS trees.

Increased the volume of files that can be selected in the evaluation version from 50Mb to 500Mb.

Fixed a minor bug in the loading and saving of CFG files that prevented the scheduling selections for start time and repeat interval from being retrieved when editing a CFG file.

New in version 6.1
==================
Added "Always on top" as a menu item on the file and popup menus. If this is selected, the NWCopy window will remain topmost while waiting for files to be dropped from Explorer or File Manager. This means that you can have the Explorer or File Manager windows full-screen and still see the NWCopy window.

Added NetWare 5.0 and 5.1 as separate NetWare versions that can be selected in the Options dialog. Removed v3.11 and v3.12 as separate selectable options and replaced them with a single v3.x option.

Added an option on the Advanced tab in the Options dialog to allow the user to choose whether or not to perform the copy internally in file server memory when both the source and destination directories are on the same server. The internal copy is done using a NetWare API function named NWFileServerFileCopy. There is (at time of writing) an issue with using NWFileServerFileCopy on large files where both the source and destination directories are on NSS volumes. The file server may cease responding and abend. If you are copying between NSS volumes on the same server I suggest that you do not select this option. For all other situations it can be safely selected.

NWCopy now locks the CFG file that it uses when running from the scheduler. This prevents two instances of NWCopy from using the same CFG file and causing problems if they both try to update the same files (for example, if you have a daily run scheduled and one of the daily jobs takes more than 24 hours to complete).

Fixed a bug in the Sched utility which sometimes caused an illegal program instruction abend when starting Sched. This abend would occur if the length of the tip that Sched was trying to show for its system tray icon exceeded 63 characters. Windows NT and Windows 95/98 both have a limit of 63 characters for a system tray icon tip, and if the configuration file and path names were both long, then the length of the tip that Sched was trying to show was exceeding this limit.

Changed Sched so that it now works correctly when two-digit years are used for the starting date if a date is specified. The Borland Time/Date classes do not appear to work correctly when two-digit years are used, so all years are now converted to four digits if needed before any calculations are done.

New in version 6.0
==================
NWCopy now works correctly on IP-only networks. On an IP-only network, the functions that Novell previously provided for discovering servers only find the workstation's primary server. This new version of NWCopy uses new functions from Novell which correctly find all servers. Note that for all servers to be seen in a multi-segment network, routers must be correctly configured to forward multicast traffic, as NetWare 5 uses multicast to find services.

The Sched utility now accepts start date/time based on the day of the week as well as on the date. It also now accepts the program to run and the program's parameters as separate parameters on the Sched command line, which means that you can now run NWCopy from Sched without needing a batch file.

Sched can now be launched to the system tray from within NWCopy rather than having to be done separately from the command line (see the Scheduling tab in the options dialog).

Start menu shortcuts for running Sched can now be created within NWCopy and placed in the folder of your choice within the Windows Start menu (see the Scheduling tab in the options dialog).

The NetWare function NWScanConnectionsUsingFile, which is used to find who has a file open on a server, fails if the file or directory has a long name. To get around this bug, NWCopy now converts all long filenames to their DOS 8.3 equivalent when testing to see if a file is open.

There is now a retry option for servers which were not available during the initial part of the run. If the retry option is checked, these servers are retried after all selected servers have been processed.

You can now choose whether NWCopy should disconnect from a server after connecting to it to copy files.

Installation
============
Unzip INSTALL.EXE into a temporary directory and run it to install the software. For more detailed information about running NWCopy, view the readme file and the online help file. Shortcuts for these two files and for NWCopy are installed by default under Start/Programs/NWCopy. In particular, the "How Do I" section of the online help file contains hints on how to use NWCopy to automate various tasks which would otherwise be very time consuming to do.

Instructions for running the scheduling utility SCHED.EXE are contained in the separate file SCHED.TXT.

Purchase
========
Full details on how to purchase NWCopy, including an order form and links to the online registration site, are available in the NWCopy help file. You can also link to the download and registration sites from the NWCopy help menu.

Distribution
============
The evaluation version of NWCopy may be distributed freely via BBS, web or ftp sites, and shareware dealers, provided that the original unmodified ZIP file is distributed, or that the unzipped files are placed in an single directory with the name NWCOPY, and with no file added, removed, or modified.

NWCopy may be included into shareware CDs if the ZIP file remains intact or if all files from the ZIP file are provided in a single directory with the name NWCOPY.

Obtaining the current version of NWCopy
=======================================
The latest version of NWCopy can be found on my home page at http://www.users.on.net/njpayne/ (you can browse directly to this page by selecting "Download latest version" from the NWCopy Help menu).

The version on my home page is always guaranteed to be up to date. Releases on the other sites may be subject to some delay as I have no control over the scheduling of their site updates.

Copyright (c) Nick Payne 1995-2004

classworks@internode.on.net
