             Btrieve v6.15.445 for Windows NT
                      Server Edition
                        May, 1997
                        README.TXT

======================================================================
Contents
========
 1. General Information
 2. System Requirements
 3. File Listing
 4. Changes and Enhancements
 5. Documentation Updates
 6. Btrieve for Windows NT Requester Issues and Configuration
 7. Notes for Users with Btrieve v5.x Files
 8. Notes for Users of Btrieve for NetWare
 9. Configuring Your Network
10. Performance Issues
11. 16-Bit Windows Application Support on Windows 95 or NT
12. Setup Utility Updates
13. Developer Kits
14. Known Issues
15. Customer Support
16. Product Updates
17. Disclaimer

======================================================================
1. General Information
======================

Btrieve Technologies, Inc. has changed its name to Pervasive Software
Inc. effective July 1, 1996.  The name change reflects the company's
expanding role as a leading supplier of database technology designed
to bring client/server computing to the mass market.

This release includes a server engine and workstation requesters for
DOS, Windows, Windows NT, and Windows 95. This release does not
include an OS/2 Requester.  The Btrieve for Windows NT server will
support both the TCP/IP and SPX communication protocols for 16-bit and
32-bit Windows applications running on Windows, Windows 95, and
Windows NT workstations.  Only SPX is supported for DOS applications.

By default, Btrieve uses TCP/IP as the preferred protocol stack.  A
client requester configuration utility can be used to modify this
behavior (see TCP/IP Issues in the Configuring Your Network section
below for more information). The server and workstation communication
components use a TCP/IP port number dynamically allocated by the
TCP/IP stack.

This product release contains updates to the Windows 16-bit and 32-bit
requester components required for executing with Pervasive's ODBC v2.0
interface. Please refer to the Changes and Enhancements section of
this README file for specific requester changes implemented by this
release.

Btrieve v6.15 for Windows NT is stratified by user counts, with
versions available for 10, 20, 50, 100, and unlimited users.  Multiple
Btrieve applications running from a workstation count as one user to
the MicroKernel Database Engine (MKDE).

To install Btrieve v6.15 for Windows NT, you must be a system
administrator or have administrative rights on your system.

IMPORTANT: Before starting the install process, be sure that another
version of the MKDE is not running on your system. To verify this
condition, invoke the Services dialog from the Windows NT Control
Panel. If an entry for the "BTI MicroKernel Engine" service is
displayed and its status is Started, click on the Stop button.

A Roll Forward utility specifically for Windows NT is not available.
Both Windows and DOS workstation versions of the Roll Forward utility
are available with this product.

Since it is a server engine, Btrieve for Windows NT does not support
multi-engine file sharing. The engine behaves very similarly to the
NLM engine on NetWare. Therefore, if you load Btrieve for Windows NT
on a Windows NT workstation, it acts as a single-user engine, and
cannot share files with another workstation running a workstation
engine.

Btrieve v6.15 for Windows NT does not support using locale-specific
alternate collating sequences (ACSs) by passing a locale's country ID
and code page number to the MKDE via the Create (14) and Create Index
(31) operations; a status 104 (locale not found) will be returned if
you attempt to do this.  Thus, information on locale-specific ACSs in
the Installation and Operation manual is not applicable.  If you wish
to use an ACS other than the one for the default locale, you must
create a user-defined collating sequence.

Pervasive Software Inc. does not recommend trying to access the local
Windows NT MKDE from a Windows NT DOS Box on the local Windows NT
machine. If you try to access the local MKDE with a drive letter or
relative path, you receive a status code 11, indicating that the
specified filename is invalid. If you open a file on the local server
using the UNC name, you experience a severe performance degradation.

The MKDE Monitor utility, NTMKMON, creates a BTI.INI file in the
current Windows NT default system directory on the server. This
BTI.INI file is additional to the BTI.INI file that is shipped as part
of this release for use by Windows workstations. It exists to enable
portability of the Monitor utility between 32-bit and 16-bit
environments. If you already have a BTI.INI file in this directory,
the Monitor Utility appends a [Monitor] section to the end of the
file.

Btrieve for Windows NT installs the MicroKernel Database Engine as a
service. To remove the service, use the BTISC.EXE utility (provided as
part of the Btrieve for Windows NT package). Enter the following
command:

    BTISC remove "BTI MicroKernel Engine"

BTISC does not remove configuration information from the Windows NT
Registry.

You may occasionally receive status codes 91, 95, or 97 when running
the Btrieve Requesters to a Windows NT server.  These errors are
commonly a result of an incorrect network configuration setup.  For
more information on setting up your network configuration, refer to
the Configuring Your Network section in this README file.

The Btrieve requesters support NetWare pathname formats when
connecting to a NetWare file server and UNC (Universal Naming
Convention) pathnames when connecting to a Windows NT server.

The documentation states that Win32s support is available with this
product.  This feature is currently not supported.

Uninstalling Btrieve for Windows NT Server:

  To uninstall the Btrieve for Windows NT server product, you must 
  first stop the service as described above.  You may then remove 
  the Btrieve for NT Server files from your system and any associated
  registry entries. This will clean up your environment for
  reinstalling the engine at a later time.

======================================================================
2. System Requirements
======================

The system requirements are documented in the Installation and
Operation manual.  In addition to the information provided there, be
aware of the following additional issues.

* For better performance, Microsoft recommends using 32-bit network
cards on the Windows NT file server machine.

* You must have the Microsoft SAP Agent service if you use BROUTER.NLM
on a NetWare server to access a Windows NT server.  To see if you have
this item installed, choose the Network icon from the Control Panel
group. In the Installed Network Software list, SAP Agent appears if it
is installed.  If it does not appear, choose Add Software to install
it.

* Server components for this release have been verified on Windows NT
v3.51 and v4.0 servers. TCP/IP client components have been verified
using Novell's Lan WorkPlace 5 for MS Windows, FTP Software's PC/TCP
Network Software, Microsoft's TCP/IP-32 for Windows, and Microsoft's
TCP/IP for Windows NT.

* This product update has been tested using the Novell Client 32 for
Windows 95 and the Novell Client for Windows NT in conjunction with
Microsoft's NDIS drivers.  Testing was performed with the DOS, Win16,
and Win32 requester components.  We have not qualified this release
using the Novell Client 32 for Windows 95 or the Novell Client for
Windows NT in conjunction with the Novell 16-bit ODI drivers and do
not currently recommend use of that configuration. Windows NT
workstations must be v3.51 or later.

* This release contains improvements to the Install utility that avoid
conflicts associated with installing Btrieve v6.15 in an environment
where Scalable SQL 4 is installed. As part of installing in such a
"mixed" environment, you will be directed to use the user count
migration facilities of Scalable SQL 4 to upgrade your Btrieve
licensing. After installation and user count migration, you will need
to merge Btrieve-specific client requester components (BREQUEST,
BREQNT, WBTRCALL, WBTRVRES, WBTRTHNK, WBTRV32) from the Btrieve v6.15
installation directories into the appropriate client directories of
your Scalable SQL 4 environment (see the File Listing section below
for a listing of components).

======================================================================
3. File Listing
===============

Installing all the components of Btrieve v6.15 for Windows NT places
the following files in the specified directories on your Windows NT
file server or on your hard disk. If you have previous versions of
Btrieve installed, check the paths specified to remove redundant files
and ensure that the Btrieve v6.15 for Windows NT files are first in
the path.

TARGET_ROOT = C:\BTI\WINNT (you can change this directory)

      TARGET_ROOT\BIN
        BTISC.DLL
        BTISC.EXE
        BUTIL.EXE
        NTBTISRV.DLL
        NTMKDE.EXE
        NTMKDERC.DLL
        NTMKMON.DLL
        NTMKMON.EXE
        NTMKMON.HLP
        W32MKSET.DLL
        W32MKSET.EXE
        W32MKSET.HLP
        WDBUEI32.DLL
        WDBUMK32.DLL
        WDBUUI32.DLL

     TARGET_ROOT\DEMODATA
        UPPER.ALT

     TARGET_ROOT\DOC
        BTICFG.TXT
        BTIINI.WRI
        README.TXT

     TARGET_ROOT\DOS\BIN
        BRDOS.MSG
        BREBUILD.EXE
        BREQNT.EXE
        BREQNT.MSG
        BREQUEST.EXE
        BREQUEST.MSG
        BREQUTIL.EXE
        BREQUTIL.MSG
        BROLLFWD.EXE
        BROLLFWD.MSG
        BTI.CFG

     TARGET_ROOT\WIN\BIN
        BTI.INI
        DBU_UI.DLL
        NWIPXSPX.DLL
        NWLOCALE.DLL
        WBROLL.EXE
        WBROLLRS.DLL
        WBTICOMM.DLL
        WBTRCALL.DLL
        WBTRVRES.DLL

     TARGET_ROOT\WIN32\BIN
        W16NR.DLL
        W32BTICM.DLL
        W32NR.DLL
        W32RQCFG.EXE
        WBTRTHNK.DLL
        WBTRV32.DLL

======================================================================
4. Changes and Enhancements
===========================

This section provides a brief description of the software changes and
enhancements since this product was released. Changes denoted with **
have taken place since the last update of this product. (Pervasive
Software defect tracking numbers have also been appended to the latest
changes.)

** A new configuration for the Windows NT MKDE has been introduced
that allows the engine to disable use of Windows NT's system cache.
By default, the MKDE uses double caching, that is the same page can be
found once in the MKDE cache and once in Windows NT's system cache.
When NT reaches a point where its system cache gets full, it will swap
pages in and out very frequently causing severe performance
degradation.  This problem can be eliminated by disabling use of the
system cache.  To accomplish this, add the following key value of type
REG_SZ to the Windows NT registry using the Windows NT Registry Editor
(REGEDT32.EXE)

  HKEY_LOCAL_MACHINE\SOFTWARE\Btrieve Technologies\
    Microkernel Engine\Version  6.15\Server Edition\
    Settings\System Cache

and set its value to NO (i.e., do not use NT's system cache). [#8835]

** This release fixes a problem associated with the following
scenario: From a Windows NT machine running Btrieve, first open a
Btrieve file on a remote Windows NT Btrieve server; then open a
Btrieve file on the local Windows NT server.  In previous releases,
the second open would incorrectly return a status 94 (permission
error). [#9902]

** A problem in the Windows NT Communications Server, NTBTISRV.DLL,
has been fixed which was previously causing client requests to hang
under heavy loads, usually experienced in multiprocessor or fast
Ethernet environments.  [#9873]

** When tracing is enabled for the Windows NT MKDE, a file's owner
name is no longer displayed as part of the key buffer. [#8368]

** The BREQNT.EXE DOS requester problem with accessing files on a
Windows NT server when NetWare Runtime Server Support was enabled (/c
option) has been fixed. Previously, this requester was incorrectly
returning status 94 (permission error).  [#9892]

** The DOS requesters (BREQNT.EXE, BREQUEST.EXE) have been fixed to
eliminate problems on Windows NT 4.0 causing an application in one DOS
box to reset (by calling the Stop (25) or Reset (28) operations) the
Btrieve server connections for an application running in another DOS
box. [#9042, #9069]

** The 32-bit Btrieve interface, WBTRV32.DLL, no longer limits to 64
the number of unique client IDs it can process simultaneously (it is
now limited by the memory of your system).  [#9551]

** Prior to this release, the Update Chunk (53) operation had a
problem with losing record positioning. For example, issuing an Update
Chunk (53) followed by a Get Next Extended (36) operation could cause
the Get Next Extended (36) to incorrectly return a status 64 (filter
limit reached). This problem has been fixed.  [#9901]

** With this release, a problem with the following scenario has been
fixed: If you have a file with non-sequential key numbers, such as 0,
2, 3, and you read a record on key 2 and then update the value for key
2 specifying a key number of 2 on the update, the record will be
corrupted; the new key 2 value gets stored in key 0's bytes as well.
[#9983]

** This release fixes a problem whereby processing records in a large
compressed fixed length file could corrupt some of the records.
[#9918]

** Problems associated with the 16-to-32 bit thunker, WBTRTHNK.DLL,
returning status 20 (MicroKernel or Btrieve requester is inactive)
under heavy loads have been fixed. [#10037]

** A new command line parameter has been added to the DOS requesters,
BREQUEST.EXE and BREQNT.EXE, for specifying how many SPX Event Control
Blocks (ECBs) are allocated.  Previously, applications running from a
Windows NT Server or Workstation (versions 3.51 or 4.0) with Novell
Client for Windows NT would hang when opening Btrieve files on more
than three NetWare servers because of not allocating sufficient ECBs.
To avoid this problem, the parameter /e:<number of SPX ECBs> has been
added to BREQUEST.EXE and BREQNT.EXE, where <number of SPX ECBs> is
equal to the number of Btrieve servers that will be accessed from the
Btrieve DOS requester. For example, to open Btrieve files on five
NetWare servers, use
  
  BREQUEST /e:5
  
The default is three ECBs.  Please note that every ECB requires 622
bytes of memory. [#8955]

** In previous releases, using BREQUEST.EXE or BREQNT.EXE
from a Windows NT Server or Workstation (versions 3.51 or 4.0),
and executing requests to Btrieve running on NetWare 3.12 or 4.x,
the following error message could appear on the NetWare server:
   
    BSPXCOM-8: An SPX-level receive I/O error (1) has occurred.  
    The connection has been lost.

This messages indicates that BSPXCOM received a Btrieve request that
is not of the correct length.  This error occurs as a result of a
problem in VWIPXSPX.DLL on the Windows NT machine, which erroneously
sets the SPX End Of Message bit in certain situations.  Microsoft (for
Windows NT) and Citrix (for WinFrame) are aware of the problem and
working on solutions. Citrix has implemented hot fix #WF160519 for
WinFrame users.

As a temporary workaround to this problem, BREQUEST.EXE and BREQNT.EXE
have a new command line parameter which specifies a delay time on SPX
sends.  The parameter is /w:<wait time>, where <wait time> is the
length of time in hundredths of a second to wait after each 8K of data
is sent.  For example, to specify a wait of one half of a second, use

  BREQUEST /w:50

The default is zero (no delay between SPX sends).  The amount of time
BREQUEST needs to delay varies depending on how long it takes for each
individual SPX packet to be sent and acknowledged across the network.
For example, if each SPX packet requires five milliseconds for sending
and receiving an SPX acknowledgement, then 8K of data at 534 bytes per
SPX (a total of 16 SPX packets) packet would take approximately 80
milliseconds to be sent and acknowledged across the network.  Thus,
BREQUEST would need to wait approximately 80 milliseconds after each
8K of data to be sent in order to avoid the SPX End Of Message bit
error.

The recommended value for <wait time> is 50 (one half of a second).
If the problem persists, specify a larger value for <wait time> in
units of 10.  Please note that specifying a <wait time> may cause a
performance degradation.  When fixes to VWIPXSPX.DLL are available
from Microsoft, support for this command line parameter will be
removed. [#9641]

* When connecting to a NetWare server running Btrieve Windows
applications from a Windows 95 or Windows NT workstation engine,
authentication is now performed using the same user name and password
with which you are logged into the server rather than the Windows 95
or Windows NT login id. If you are not presently logged into the
target server, authentication will be attempted with the user name you
used in logging into your Windows 95 or Windows NT workstation.
This improvement eliminates a number of status 94 (permission
error) problems that occurred in previous releases.

* If you establish two connections to the same named database via ODBC
using the 16-bit requester (WBTRCALL.DLL, WBTICOMM.DLL), then logged
out of the second session, the first session would return status 204
(table is not defined in the dictionary) and eventually disconnect.
This problem is fixed in this release.

* The 32-bit Btrieve interface requester, WBTRV32.DLL, now supports
the following NetWare mixed-slash pathname convention:
server/volume:\path. Previously, only the server/volume:/path and
server\volume:\path conventions were supported. Note: all three of
these pathname conventions are already supported by the Windows 16-bit
and DOS requesters.

* Performance enhancements for the DOS requesters associated with
sending NCP (NetWare Core Protocol) packets to NetWare servers are
included with this release. Previously, the DOS requester was sending
NCP packets with an incorrect length field. This problem was masked
because the server performed an automatic reconstruction of
packets and did not report errors, although this reconstruction
resulted in a degradation of performance.

* The Windows 16-bit communications requester, WBTICOMM.DLL, has been
updated to call Novell's IPX/SPX layer NWIPXSPX.DLL directly.  In
previous releases, WBTICOMM.DLL required the Novell Transport Layer
Interface (TLI) DLLs, TLI_WIN.DLL and TLI_SPX.DLL. These two TLI DLLs
are no longer required.

* The MKDE returns status 35 (Directory Error) if the Microsoft
Windows NT File and Print Services for NetWare is installed on the
Windows NT server.  This update fixes this problem.  This fix required
changes to the MKDE, Btrieve DOS requesters, and the Btrieve Win16
requesters.  You must update all of these components to resolve this
problem.

* If your application uses mapped drives from a workstation or shared
names when running locally on the Windows NT server, the MKDE does not
release all memory resources when it resolves the mapped drive or
shared name.  If your application performs a large number of open and
close operations on files, the Windows NT server can eventually run
out of memory.  This update fixes this problem.

* When a Btrieve file reaches 2GB in size, regardless of page size,
the MKDE returns status 18 on insert operations.  This problem is
fixed in this update.

* When an application performs a GET with explicit LOCK operation on a
record that has just been updated, the MKDE may lock the record again
before the system transaction completes the update operation.  This
causes multiple locks to be applied against the same record.  These
extra locks are not released causing another application to receive
status 84 when it attempts to read the same record.  This problem is
fixed in this update.

* In some situations, the MKDE does not correctly distinguish between
explicit and implicit record locks.  This can also result in an
application receiving status 84 when it attempts to read records with
lock.  This problem is fixed in this update.

* When a Btrieve file is very large (approaching 4GB) and the server
abends during a transaction that causes the file to exceed the 4GB
limit, the MicroKernel is unable to roll back the file when the server
is brought back up.  Instead, it causes the server to hang and the
file being rolled back is corrupted.  This problem is fixed in this
update.

* In prior versions of Btrieve v6.15, delta files reappeared after
Btrieve files which were backed up in continuous operation mode are
restored.  This update fixes this problem.

* The Btrieve operation Begin Transaction causes the user count to
be incremented on servers where Btrieve is installed, but not used.
With this update, the Begin Transaction operation is no longer
broadcast to all servers by the Btrieve DOS Requester.

* The Btrieve DOS Requester causes erroneous status 11's when running
applications in a DOS Box under OS/2 targeting a NetWare server.  This
problem is fixed in this update.

* From a Windows NT DOS session, the Btrieve DOS Requester returns
status 11 or 12 on an open operation.  This is only reproducible if
you have a preferred server set on your Windows NT workstation/server
when you login to Windows NT.  Status 11 occurs when opening file in
the working directory.  Status 12 occurs when opening file using a
relative path.  This update fixes this problem.

* When running the Btrieve DOS Requester (BREQNT.EXE) from a Windows
95 or Windows NT DOS Box and you specify a Btrieve file using a drive
letter and the full pathname, the DOS Requester returns status 35.
This update fixes this problem.

* When using the Btrieve DOS Requester from a Windows for Workgroups
DOS Box, the requester will occasionally return status 95.  This
occurs when using the Microsoft SPX driver in Windows for Workgroups.
This problem is fixed in this update.

* The Btrieve DOS Requester now supports the BTRVID() function call.
To use this feature, you must load the Btrieve DOS Requester and
specify the /t value to set the number of concurrent clients that will
be accessing Btrieve via the BTRVID function call.  For example:

   BREQUEST /t:2

allows two concurrent clients access to Btrieve. Attempting to use
multiple concurrent clients without specifying this parameter will
cause a status 1013 to be returned to the application.

======================================================================
5. Documentation Updates
========================

You may ignore the last paragraph on page 3-4 of the Btrieve for
Windows NT Installation and Operation manual. With this update, you
may register your product by completing the registration card and
returning it to Pervasive Software Inc.  The registration card is
included with this product.

The Registering Your Product section on page xiv also contains a
reference to electronic registration.  Please disregard this
statement.

======================================================================
6. Btrieve for Windows NT Requester Issues and Configuration
============================================================

In addition to the information in the Installation and Operation
manual, be aware of the following issues:

DOS Workstations: You must have the Btrieve DOS Requester, BREQNT.EXE,
and the Microsoft Client for DOS and Windows installed.  However, the
Microsoft DOS Client does not provide SPX support for your
communications. To obtain this support, you must also install the
following Novell drivers: Link Support Layer drivers (LSL.COM), LAN
card drivers, and IPX/ODI drivers (IPXODI.COM).

Windows for Workgroups Workstations: You must have the Windows
Requester (WBTRCALL.DLL and WBTICOMM.DLL) and the Microsoft Client
support for Windows for Workgroups installed. You must also configure
TCP/IP and/or IPX/SPX Compatible Transport as one of your network
drivers.

To access a Btrieve v6.15 for Windows NT server from a DOS Box in
Windows for Workgroups, you must also have the Btrieve DOS Requester,
BREQNT.EXE, loaded.

Windows NT Workstations: You must have the Windows NT Requester
(WBTRV32.DLL and W32BTICM.DLL) and the Microsoft Client Software for
Windows NT installed. You must configure TCP/IP and/or NWLink IPX/SPX
Compatible Transport as one of your network drivers.  W32BTICM.DLL
replaces NTBTICOM.DLL as referenced in the Btrieve for Windows NT
Installation and Operation manual.

Windows 95 Workstations: The Btrieve Requester for 32-bit applications
on Windows 95 uses the same components as the Windows NT Requester
does.  In addition, to support 16-bit applications through the Btrieve
for Windows 95 Requester to the Btrieve server running on NetWare via
SPX, you must ensure that W32NR.DLL and W16NR.DLL are in your path.
You must also have NWCALLS.DLL in your Windows system directory on the
workstation.  You can download this file from the Novell CompuServe
forum NOVFILES or from Novell's support web site
http://support.novell.com.

For both Windows NT and Windows 95 workstations, W32BTICM.DLL uses a
default setting for the communications buffer size for remote
communications. This default setting is 64KB.

-----------------------
Requester Configuration
-----------------------
Following is a list of workstation and server components, Windows NT
or Windows 95 Registry entries, and BTI.INI entries that should be
used for the specified client application configuration.

The registry entries listed below correspond to entries
under the following Registry key:

  HKEY_LOCAL_MACHINE\SOFTWARE\Btrieve Technologies\Microkernel 
    Workstation Engine\Version  6.15\Microkernel Interface\Settings

These can be modified using the Registry Editor on Windows 95
(REGEDIT.EXE) or Windows NT (REGEDT32.EXE).  Alternatively, and
preferrably, these entries can be modified by selecting the
MicroKernel Interface component entry using the MicroKernel Setup
utility (W32MKSET.EXE).  The BTI.INI entries refer to the Local=,
Requester=, and Thunk= entries in the [Btrieve] section.

In the tables provided below, 1/0 indicates that the values 1 or 0
(implying Yes or No) are acceptable for a setting.  Y/N indicates Yes
or No is acceptable for a setting.  N/A indicates the setting is Not
Applicable for the specified configuration.

16-bit Windows Application running on WinNT or Win95 workstation*:
--------------------------------------------------------------------
Workstation   NT Server    Registry Settings   BTI.INI Settings
--------------------------------------------------------------------
WBTRCALL.DLL  NTMKDE.EXE    Local Requester    Local Requester Thunk
WBTRVRES.DLL  NTMKDERC.DLL   1/0     1          No      No      Yes
NWLOCALE.DLL  NTBTISRV.DLL
WBTRTHNK.DLL
WBTRV32.DLL
W32BTICM.DLL

32-bit Application running on WinNT or Win95 workstation*:
--------------------------------------------------------------------
Workstation   NT Server    Registry Settings   BTI.INI Settings
--------------------------------------------------------------------
WBTRV32.DLL   NTMKDE.EXE    Local Requester    Local Requester Thunk
W32BTICM.DLL  NTMKDERC.DLL   1/0     1          N/A     N/A     N/A
              NTBTISRV.DLL

16-bit Application running on Windows for Workgroups:
--------------------------------------------------------------------
Workstation   NT Server    Registry Settings   BTI.INI Settings
--------------------------------------------------------------------
WBTRCALL.DLL  NTMKDE.EXE    Local Requester    Local Requester Thunk
WBTRVRES.DLL  NTMKDERC.DLL   N/A    N/A         Y/N     Yes     No
NWLOCALE.DLL  NTBTISRV.DLL
WBTICOMM.DLL

DOS Application running on DOS workstation or WinNT/Win95/WFW DOS box:
--------------------------------------------------------------------
Workstation   NT Server    Registry Settings   BTI.INI Settings
--------------------------------------------------------------------
BREQNT.EXE    NTMKDE.EXE    Local Requester    Local Requester Thunk
BREQNT.MSG    NTMKDERC.DLL   N/A    N/A         N/A     N/A     N/A
              NTBTISRV.DLL

  NOTE: See Installation and Operation manual for BREQNT command
        line options.

* To run a 16-bit or 32-bit application on the Windows NT server where
Btrieve is running, an additional registry option "Target Engine"
needs to be set. Refer to the Setup Utility Updates section of this
README for more information about this option.

======================================================================
7. Notes for Users with Btrieve v5.x Files
==========================================

The File Rebuild utility (BREBUILD.EXE) is a DOS utility that you can
use to convert files in Btrieve v5.x format to v6.x format. Doing so
enables you to take advantage of the v6.x features and also may
improve performance.

======================================================================
8. Notes for Users of Btrieve for NetWare
=========================================

Btrieve for Windows NT includes a Windows 32-bit requester for
applications running on a Windows NT workstation or server, or Windows
95 workstation.  You can use this requester to access the MKDE on
remote servers using either NetWare or Windows NT.  You provide access
to a NetWare server as follows:

From a Windows NT server: Either the Microsoft Gateway Service for
NetWare or Novell's Client for Windows NT must be loaded on the
Windows NT server. To load the Microsoft software, choose the Network
Settings icon from the Control Panel group. In the Installed Network
Software list, Gateway Service for NetWare appears. If it does not,
choose Add Software to install it.  Alternatively, you can obtain the
Novell Client from the Novell support web site at
http://support.novell.com.

From a Windows NT workstation: Either the Microsoft Client Service for
NetWare or Novell's Client for Windows NT must be loaded on the
Windows NT workstation.  You load the Client Service for NetWare as
previously described for the Gateway Service for NetWare.
Alternatively, you can obtain the Novell Client from the Novell
support web site at http://support.novell.com.

From a Windows 95 workstation: Either the Microsoft Client for NetWare
Networks or Novell's Client 32 for Windows 95 must be loaded on the
Windows 95 workstation.  You can obtain the Novell Client 32 from the
Novell support web site at http://support.novell.com.

======================================================================
 9. Configuring Your Network
============================

This section provides suggestions for resolving problems that you may
encounter when you attempt to use Btrieve in a Windows NT environment.

-------------
TCP/IP Issues
-------------
The Windows 16-bit client communications requester (WBTICOMM.DLL) and
the Windows 32-bit client communications requester (W32BTICM.DLL)
support both TCP/IP and SPX transport protocols to a Windows NT
server. By default, each requester will attempt to load both TCP/IP
and SPX support, and will use TCP/IP to communicate with a Windows NT
server engine if both the server and client have TCP/IP available.  A
configuration option, located in the BTI.INI file for WBTICOMM.DLL and
in the Windows 95 or Windows NT registry for W32BTICM.DLL, allows you
to specifically disable the requester's support for TCP/IP and/or SPX.

To set the client requester configuration option for WBTICOMM.DLL, use
a text editor to edit the BTI.INI file and add the following

    [Communications Requester]
    Supported Protocols=<protocol>

where <protocol> can be set to one of the following:

    SPX - indicates that only SPX should be enabled

    TCPIP - indicates that only TCP/IP should be enabled

    SPX,TCPIP or TCPIP,SPX - default behavior (use TCP/IP if available,
                             otherwise use SPX)

To set the client requester configuration option for W32BTICM.DLL, run
the standalone W32RQCFG.EXE utility located in the WIN32\BIN
directory. This utility allows you to set the protocol configuration
option without having to edit the Windows 95 or Windows NT registry
directly. Run the utility as follows

    W32RQCFG [SPX] [TCPIP] 

where SPX and TCPIP are optional command line arguments that specify
which protocol should be enabled. If both of these command line
arguments are specified, then the default communications requester
behavior is employed (i.e., use TCP/IP if available, otherwise use
SPX).  Executing W32RQCFG without any parameters will display the
current setting of W32BTICM.DLL's transport configuration.  If the
option is not in the registry, W32RQCFG will create it with both SPX
and TCP/IP enabled.

Please note that WBTICOMM.DLL and W32BTICM.DLL will also create and
initialize the transport configuration option in BTI.INI or in the
registry, respectively, if it does not already exist.  Also, both
communications requesters determine which transport protocols are
actually available, and will use a transport if and only if (a) the
protocol is listed in the transport configuration option, (b) the
transport is available on the workstation, and (c) the transport is
available on the target server.

As noted above, the default Btrieve requester configuration is to
attempt to use TCP/IP as the transport between a client workstation
and a Btrieve server engine running on a Windows NT server.  If TCP/IP
is not available or available only at either the client or server but
not both, the requesters will attempt to establish a connection using
SPX.  However, if TCP/IP is installed and available but your network
is not configured to flow TCP/IP from the client to the target Windows
NT server, the requesters will not fall back to SPX.  You will receive
a status code 91 (server error) when you attempt to connect to the
target server.  To check if your network is configured to flow TCP/IP
from the client to the server, use the TCP/IP "ping" utility.  To
resolve the status code 91 problem, you must either (a) fix the
network configuration problems which are preventing TCP/IP to flow
across your network, (b) uninstall TCP/IP at either the client
workstation or Windows NT server, or (c) change the requester
Supported Protocols configuration in the BTI.INI file (for the Win16
requester) or using the W32RQCFG utility (for the Win32 requester) to
specify SPX should be used.

By default, the Windows NT Server TCP/IP service will not poll an
inactive TCP/IP connection unless the connection has been idle for
approximately two hours.  Thus, if a workstation establishes a
connection with the MicroKernel engine via TCP/IP and is powered down
or rebooted without cleanly disconnecting from the server, no
indication that the connection has failed is given to the MicroKernel
engine for two hours, and therefore the connection remains active to
the MicroKernel engine during that time.  You may use the Btrieve
monitor to delete a connection in that state.

If you want inactive connections to be detected sooner than the
default two hours, you have to change the Windows NT registry database
as follows:

  a) Open up the
     "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"
     key using the standard registry editor (REGEDT32.EXE).

  b) Add or set the following value:

            Value name: KeepAliveTime
                  type: REG_DWORD
                  data: <msec>

     where <msec> is a numeric value representing the number of
     milliseconds after which "keep alive" messages will be sent
     across the network in case of inactive connections.

  c) Reboot your machine.

  Note: The "KeepAliveTime" setting affects the whole TCP/IP protocol
  stack not just the Btrieve for Windows NT v6.15 product.

In the Btrieve monitor, a client attached via TCP/IP will show a
client ID of FFFFFFFF followed by the IP address used by the client
requester.  This is slightly different from the SPX address normally
shown in the monitor program, and may change in future versions.

When using the 16-bit communications component, WBTICOMM.DLL, the
default wait time for a connection request to a server to succeed is
15 seconds. If this period too short, status code 91 (server error) will be returned
when performing a Btrieve Open or Create operation.  To change this
default, use a text editor to edit your BTI.INI file and add (or
change) the following

        [Communications Requester]
        TCP connection timeout=<seconds>

  where <seconds> should be the number of seconds that you want
  WBTICOMM.DLL to wait before timing out when it attempts to make
  a connection request to a server. Note that WBTICOMM.DLL will
  create and initialize the TCP connection timeout option if it does
  not already exist.

----------
SPX Issues
----------
When using SPX, if your workstation hangs on the first attempt to
access a Btrieve file on the Windows NT Server or the Btrieve
Requester returns a status code 91 (server error) or status code 95
(session no longer valid) to the application when attempting to open a
Btrieve file, ensure the IPX Internal Network Number on your Windows
NT Server is set to a non-zero value.

Follow the steps below to set the IPX Internal Network Number:

  1. Set "NWLink IPX/SPX Compatible Transport" frame type to
  manual mode (select at least 2 so that the internal network
  number remains set).

  2. Set the Internal Network Number to a unique non-zero value
  if you have not already done so.

  3. Restart the server.

  4. From the "NWLink IPX/SPX Compatible Transport"
  configuration, remove the extra frame type.

  5. Restart the server again.

  6. Run IPXROUTE CONFIG from the server's DOS prompt to verify
  that the internal network number is non-zero.  You must choose
  two frame types in order to set the internal network number.
  However, once you set that value, you must remove the extra
  frame type.

     Note:  IPXROUTE CONFIG, a Windows NT utility runs from
     a DOS Box, displays the Internal Network Number (if set),
     as well as all other bound networks with associated
     network numbers and frame types.

-----------------------------
Status Code 91 - Server Error
-----------------------------
If you continue to receive status code 91 from your workstation when
attempting to target a Btrieve for Windows NT Server using the Btrieve
Requesters, or the workstation appears to hang, the network frame type
that SPX uses on the Windows NT Server may not match the network frame
type that SPX uses on the workstation.

Network frame types on the Windows NT Server are specified in the
Control Panel, Network, NWLink IPX/SPX Compatible Transport dialog
box.

Complete the following steps to solve this problem:

  1.  Determine which network frame type your Local Area
  Network is using.  In most cases, this is either 802.2 or
  802.3.

  2.  Set "NWLink IPX/SPX Compatible Transport"  to Manual
  Frame Type Selection and select the appropriate frame type.
  Select only one frame type.  Do not use Auto Frame Type
  Detection.

  3.  Restart the server.

  4.  Restart the workstation and retry the Btrieve
  operation(s).

  5.  If the problem persists, configure the frame type at the
  workstation.

  For Windows for Workgroups workstations, specify the correct
  frame type via the Network Setup, Drivers, IPX/SPX Compatible
  Transport, Setup dialog box.

  For DOS workstations using the Novell ODI drivers, specify
  the correct frame type on the Protocol IPX entry of the Link
  Driver <network card> section of the NET.CFG file.

  6.  Restart the workstation and retry the Btrieve operation(s).

----------------------------------------
Status Code 95 - Session No Longer Valid
----------------------------------------
If you continue to receive a status code 95 when attempting to target
a Btrieve for Windows NT Server using the Btrieve Requesters, this is
usually the result of the SPX drivers changing network frame types
when trying to resend a network packet.

Complete the following steps to solve this problem:

  1.  Determine which network frame type your Local Area Network
  is using.  In most cases, this is either 802.2 or 802.3.

  2.  Set "NWLink IPX/SPX Compatible Transport" to Manual Frame
  Type Selection and select the appropriate frame type.  Select
  only one frame type.  Do not use Auto Frame Type Detection.

  3.  Restart the server.

  4.  Restart the workstation and retry the Btrieve operation(s).

----------------------------------------------
Status Code 97 - Data Message Length Too Small
----------------------------------------------
You may receive a status code 97 when attempting to target a Btrieve
for Windows NT Server using the DOS Requester. The problem usually
occurs because the Windows NT IPX/SPX driver is sending larger network
packets than the Btrieve DOS Requester is able to receive.

Two methods exist to force the Windows NT IPX/SPX driver to use a
network packet size that the Btrieve DOS Requester can receive.

The first method is to set the IPX/SPX MaxPktSize in the Windows NT
REGISTRY to 576 decimal or 240 Hex.  To access the MaxPktSize, run
REGEDT32 and take the following path:

  HKEY_LOCAL_MACHINE\System\CurrentControlSet\
  Services\ NwlnklPX\NetConfig\ <LANDriver Name>\ MaxPktSize

You can find more information about modifying MaxPktSize in the
document NETWORK.WRI on the Windows NT v3.51 CD.  Modifying MaxPktSize
affects all IPX/SPX sends from the Windows NT server.

The second method is to set the VirtualNetworkNumber in the Windows NT
registry to a non-zero value. You can reach the VirtualNetworkNumber
as the Internal Network Number shown in the Control Panel, Network,
NWLink IPX/SPX Compatible Transport dialog box.

   *Running the NWLink IPX/SPX Compatible Transport dialog box
    can reset the VirtualNetworkNumber to zero under some
    circumstances.  Setting the VirtualNetworkNumber apparently
    only affects the size of the SPX network packets.

---------------------------------
Status Code 94 - Permission Error
---------------------------------
You may receive status code 94 when using the client/server Btrieve
for NetWare with the 32-bit Btrieve Requester for Windows NT/Windows
95.

The 32-bit requester always uses the MicroKernel Database Engine's
runtime server support to check a client's rights to a file. To do so,
it uses the user name and password with which you are logged into the
server or, if you are not presently logged into the target server,
authentication is attempted with the user name used in logging into
your Windows 95 or Windows NT workstation. Based on this algorithm,
the MKDE verifies if the client has the proper rights and privileges
to access the Btrieve files on the targeted Btrieve server. You must
ensure that the client has rights to access the appropriate files or
you will get status 94 permision errors.

For example:

  a. Login name USER1
  Log in to the workstation and Btrieve server using login name USER1.
  As long as USER1 has the proper privileges to the Btrieve files,
  file access is successful.

  b. Login name USER1 and USER2
  Log in to the workstation using login name USER1.  Then log in to
  the Btrieve server using login name USER2. As long as USER2 has the
  proper privileges to the Btrieve files, file access is successful.

----------------------------------------------------------
Running a DOS application from a Windows NT command prompt
----------------------------------------------------------
To run a DOS application from a Windows NT workstation command prompt
using the Btrieve DOS Requester, NW16.EXE and VWIPXSPX.EXE must be
loaded prior to loading BREQNT or BREQUEST.  We recommend you load
them from AUTOEXEC.NT. These files are located in the
%SystemRoot%\SYSTEM32 directory.

You can also install them from your Windows NT Installation CD. Use
the network icon from the control panel to verify NWLink IPX/SPX
compatible transport is installed.  You can use the add software
button to install this software. From the DOS command prompt, load
BREQNT or BREQUEST.

------------------------------------------------
Running a DOS application from a WFW workstation
------------------------------------------------
In order to run a Btrieve DOS application in client/server mode and
target a Windows NT Server from a Windows for Workgroups workstation,
you must use BREQNT.EXE.  This requester requires a full redirector to
function correctly.

A WFW DOS Box is a full redirector by default, but in a straight DOS
Client mode, you must use NET START FULL to load a full redirector.
(If you do not use NET START FULL, the DOS workstation returns a
status code 11.)  To verify the mode of the redirector, type the
command "net ver".  This tells you if the redirector is running in
"basic" or "full" mode.

You must load the following at a DOS workstation to connect to a
Windows NT server:

In AUTOEXEC.BAT:

       LSL.COM
       LAN Card Driver
       IPXODI.COM
       NET START FULL

In CONFIG.SYS:

       IFSHLP.SYS

You can load most of these drivers high, using emm386.  LSL.COM, LAN
Card Driver, IPXODI.COM, IFSHLP.SYS, and most of NET START FULL loads
in upper memory.

You do not need to load NETX if you are not connected to a NetWare
server.  You may run into some problems using the Microsoft SPX
protocol stack instead of the NetWare SPX protocol stack.

======================================================================
10. Performance Issues
======================

The Setup configuration option Cache Allocation has a default value of
512 KB.  You may find that you get better performance with the Cache
Allocation option set to 2048KB or larger.  To change the setting of
this option, use the Setup utility.  See your Installation and
Operation manual for details on using the Setup utility.

======================================================================
11. 16-Bit Windows Application Support on Windows 95 or NT
==========================================================

* If you are running a 16-bit Windows application on a Windows 95 or
Windows NT client workstation (Windows-on-Windows) and you wish to
utilize the 32-bit requester components (WBTRV32.DLL and W32BTICM.DLL)
to connect to a Btrieve server be sure you have the following files in
your path:

  WBTRCALL.DLL (Btrieve 16-bit Windows Interface)
  WBTRTHNK.DLL (16-bit to 32-bit Thunker)
  WBTRV32.DLL  (Btrieve 32-bit Interface)
  WBTRVRES.DLL (Windows Requester Resource)
  W32BTICM.DLL (Windows NT and Windows 95 Communications Requester)
  NWLOCALE.DLL (included in WIN\BIN directory)
  NWCALLS.DLL  (available from Novell)
  W16NR.DLL    (Windows 95 and NetWare target server only)
  W32NR.DLL    (Windows 95 and NetWare target server only)

Also configure Btrieve as follows:

  a) Use a text editor to edit the [Btrieve] section of your BTI.INI
     file (located in the Windows 95 or Windows NT system root
     directory) as follows:

       local=No
       requester=No
       thunk=Yes

     Caution: If you set requester=Yes, the 16-bit communications
     component (WBTICOMM.DLL) will get loaded and you may experience
     communication errors with status 20 (Microkernel or Requester
     Not Loaded) being returned to your application.

  b) Verify that the following entry in the Windows 95 or Windows NT
     registry is set to 1 or does not exist: HKEY_LOCAL_MACHINE\
     Software\Btrieve Technologies\Microkernel Workstation Engine\
     Version 6.15\Microkernel Interface\Settings\Requester.

An updated version of WBTRTHNK.DLL file is included in this release.
It is installed in the \WIN32\BIN directory.  Make sure this DLL and
directory are in your search path ahead of any older versions that may
have been shipped with previous releases of Btrieve.

* If you are running a 16-bit Windows application on a Windows 95 or
Windows NT workstation and you wish to use 16-bit requester components
(WBTRCALL.DLL and WBTICOMM.DLL) to connect to a Btrieve server, then
configure Btrieve as follows:

  a) Use a text editor to edit the [Btrieve] section of your BTI.INI
     file as follows:

       local=No
       requester=Yes
       thunk=No

Also, make sure that the following files are in your path:

  WBTRCALL.DLL
  WBTRVRES.DLL
  WBTICOMM.DLL
  NWLOCALE.DLL
  NWCALLS.DLL
  NWIPXSPX.DLL (if using SPX/IPX communications)

The 16-to-32-bit thunking configuration described previously is
preferred over the 16-bit configuration when running on Windows 95 or
Windows NT workstations.

======================================================================
12. Setup Utility Updates
=========================

The MKDE Setup utility for Windows NT and Windows 95 contains
additional settings since the documentation was printed.  Following
are the new settings:

-----------------------
Remote Read Buffer Size
-----------------------
Range: 1KB - 64KB
Default: 4K Bytes
Approximate Memory Required: <value specified rounded up to the
                             nearest multiple of the system page size>

This setting is located in the Communication Server category.  This
setting allows you to specify the buffer size used by the
communications interface for remote reads.  If you are running on
Windows NT v3.5 and you experience a server hang, the buffer for
remote communications may not be large enough to handle the data.  You
can increase the Remote Read Buffer Size value to eliminate the server
hang.

The default setting for this option is 4KB. Any value that you enter
is rounded up to the nearest multiple of the system page size (4KB on
Intel platforms) at the time that the engine allocates the buffer. To
avoid any problems, set this option equal to the Communication Buffer
Size plus an allowance for system overhead (about 400 bytes). Setting
the Remote Read Buffer Size to a higher value than the default results
in a memory penalty, because the system allocates a buffer of the
specified size for each active remote client connection. For example,
if you have 100 active remote clients, and you have the buffer size
set to 4KB, the system allocates 400KB of memory. If you have the
buffer size set to 16KB, the system allocates 1600 KB of memory.

Windows NT v3.51 contains a fix for this problem. For information on
obtaining Windows NT v3.51, contact your local reseller or Microsoft
sales at 1-800-426-9400.

The next three settings are in the MKDE Interface Component of the
Setup Utility.

-------------
Target Engine
-------------
Range: [Workstation/Server]
Default: Workstation
Approximate Memory Required: not applicable

This setting is applicable to Windows NT configurations only. You use
this setting to specify which connection to use when more than one
engine is available. When an application attempts to access a file,
the MKDE Interface checks the setting of the Target Engine in the
Setup utility. If the Target Engine is set to Workstation, the
MicroKernel Interface (WBTRV32.DLL) passes the request to the
workstation engine (W32MKDE.EXE), which processes the request and
returns the appropriate information. If the Target Engine is set to
Server, the MicroKernel Interface passes the request to the local
server engine (NTMKDE.EXE).  If the MKDE Interface cannot find the
target engine, you receive a status code 20 (the MKDE or Btrieve
Requester is inactive).

In order to run a 16-bit or 32-bit Windows application on the Windows
NT server using the Btrieve MicroKernel, you must set the Target
Engine setting to Server.  To do this, open a DOS command box on the
Windows NT server and move to the BTI\WINNT\BIN directory. Run the
32-bit BUTIL.EXE utility with the -VER (version) command line
parameter: BUTIL -VER. This will return the error message:

  "BUTIL-128 the Microkernel version is 0.00."

In addition, the BUTIL command will initialize the registry entry for
the Target Engine setting. Next, use the Setup Utility (W32MKSET.EXE)
to change the Target Engine parameter of the MKDE Interface Component
from Workstation to Server.  Finally, open a DOS command box and try
the BUTIL -VER command again; a version number of 6.15 will be
returned.  Local access to the Btrieve MicroKernel Server Engine is
now functional.

-----
Local
-----
Range: [Yes/No]
Default: Yes
Approximate Memory Required: not applicable

This setting is applicable to both Windows NT and Windows 95
configurations.  You use this setting to specify whether the local
engine is used to access a file.  If you choose Yes for this entry,
the Workstation Engine must be available.  If the Target Engine
setting is set to Server, the Local setting is disabled in the Setup
program and defaults to Yes.

---------
Requester
---------
Range: [Yes/No]
Default: Yes
Approximate Memory Required: not applicable

This setting is applicable to both Windows NT and Windows 95
configurations.  You use this setting to specify whether the Btrieve
requester interface allows user access to a MicroKernel Server Engine
running on a remote server.  If you choose Yes for this entry, the
requester communications component must be available.  If the Target
Engine setting is set to Server, the Requester setting is disabled in
the Setup program and defaults to Yes.

If you set both local and requester to yes, Btrieve requests going to
files that reside on your local drive will go through the local
Btrieve workstation engine.  Btrieve requests going to files that
reside on a remote file server will go through the requester to the
server engine running on the file server.

======================================================================
13. Developer Kits
==================

To write and distribute custom applications using Btrieve, you must
have a Btrieve Developer Kit. The Developer Kit contains the tools to
write your application. Developer Kits are available for Windows, DOS,
OS/2, Windows NT, and Windows 95.  Btrieve for Windows NT does not
support access via the Btrieve for OS/2 Requester.

======================================================================
14. Known Issues
================

* In the MicroKernel Monitor utility, the maximum number of locks in
the MicroKernel Resource Usage dialog is listed as 32767 locks.
This maximum value should be denoted as "Unlimited".

* If you experience problems with drivers for LAN cards such as
NE2000, be sure you are using the latest drivers.  The drivers are
available in the Microsoft Service Pack for Windows NT, available from
Microsoft Corporation.

* With the Windows Requester (WBTRCALL.DLL) on a Windows for
Workgroups machine, you may experience an Application Error "Call to
Undefined Dynalink" if you have the BTI.INI parameter Thunk set to
Yes. To avoid this problem, set the Thunk parameter to No in the
[Btrieve] section of BTI.INI when you are running on a Windows
workstation.

* If you have a workstation running, and you try to start additional
workstations simultaneously, you may occasionally receive a status
code 79 error. If this happens, try to start the additional
workstation again.

* Although it executes normally when running, the Setup utility is not
displayed as a task in the Task List for Windows NT.

* When you press F1 to access Help in the Monitor utility, the utility
displays a message indicating that help is not available.  Choose OK
to clear the message. The table of contents for the Monitor Help
displays.

* When using the Maintenance utility (BUTIL.EXE), you may occasionally
receive an application error if you use Control-C to interrupt the
utility.

* When using the Maintenance utility (BUTIL.EXE), you may occasionally
receive a General Protection Fault when using the STARTBU command to
place a set of files into continuous operations. This occurs when a
long list of files contains an invalid filename, because the MKDE
places all the files following the file with the invalid name into the
buffer. To avoid this problem, check your lists of files for invalid
or non-existing filenames, and avoid using very long lists of files.

* When using the Maintenance utility (BUTIL.EXE), you can issue only
one STAT command at a time in any one directory.  If you issue a
second STAT command in the same directory while the first STAT command
is still being executed, you receive a sharing violation error and the
second STAT command fails. You may encounter this problem if you map
more than one drive to the same physical location or directory.

* In order to use the Maintenance utility (BUTIL.EXE) on the Windows 
NT server where the Microkernel Engine is running, you must copy the 
WBTRV32.DLL file (located in BTI\WINNT\WIN32\BIN by default) to the 
same directory where BUTIL.EXE is located (BTI\WINNT\BIN by default) 
or put it in the path.  If BUTIL can not find this file, a status 
code 20 "The MKDE or Btrieve Requester is inactive" will be returned.
You also must have Target Engine set to Server in the Windows NT
Registry (see Target Engine in the Setup Utility Updates section of
this README).

======================================================================
15. Customer Support
====================

Pervasive Software Inc. provides Customer Support to assist you with
your Btrieve product.  Refer to your documentation for details and
contact information on Pervasive Software's Customer Support programs.

======================================================================
16. Product Updates
===================

Pervasive Software Inc. may periodically release product updates for
some of the components in this package.  These product updates may
provide new functionality, support new application environments, or
fix problems identified after product release.

These updates often address a specific problem that a particular site
experienced. This product is used in a very diverse set of
configurations worldwide. Updates may or may not be needed for your
particular installation. We recommend that you carefully review the
documentation included with the update prior to installation of the
update to determine if your application requires it.  However, if you
are experiencing problems with this product, it is recommended that
you try the latest update to see if the problem has already been
resolved before contacting Pervasive Software Inc. Customer Support.

To determine if there is a product update available for this package,
check the Btrieve forum on CompuServe (GO BTRIEVE) or the Customer
Support section of the Pervasive Software Inc.  Web site
(www.btrieve.com) for Product Update Information.  If an update is
available, instructions for obtaining the update are also provided.

======================================================================
17. Disclaimer
==============

PERVASIVE SOFTWARE INC. LICENSES THE SOFTWARE AND DOCUMENTATION
PRODUCT TO YOU OR YOUR COMPANY SOLELY ON AN "AS IS" BASIS AND SOLELY
IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF THE ACCOMPANYING
LICENSE AGREEMENT.  PERVASIVE SOFTWARE INC. MAKES NO OTHER WARRANTIES
WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE SOFTWARE OR THE
CONTENT OF THE DOCUMENTATION; PERVASIVE SOFTWARE INC.  HEREBY
EXPRESSLY STATES AND YOU OR YOUR COMPANY ACKNOWLEDGES THAT PERVASIVE
SOFTWARE INC.  DOES NOT MAKE ANY WARRANTIES, INCLUDING, FOR EXAMPLE,
WITH RESPECT TO MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR
PURPOSE OR ARISING FROM COURSE OF DEALING OR USAGE OF TRADE, AMONG
OTHERS.

(c) Copyright 1982-1997, Pervasive Software Inc.
All Rights Reserved Worldwide

**End of README.TXT**
