DataEase » Support » Knowledge Base » Archived PRE 7.2 articles » DataEase 6.52 on Citrix Server


Environment:
MS 2003 Server is used in all cases.

1. Install DataEase 6.52 on Citrix Server. (This effectively becomes multiple-workstations and should be treated as such).

2. Make sure ‘FILES=100’ is set in the’ \WINDOWS\SYSTEM\CONFIG.NT’ file on the Citrix sever.

3. Alter / add registry settings as though you were dealing with a workstation.

They are all type DWORD.


HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters

  • UtilizeNTCaching=0
    UseUnlockBehind=0

    UseOpportunisticLocking=0

    UseLockReadUnlock=0


4. Remove following files from DataEase 6.52 installation directory.

  • a. DENETWRK.OVL
    b. PRINTERS.DAT

    c. CONFIGUR.DAT


NOTE: If you are going to use load balancing across several CITRIX servers then points 1 to 4 need to be repeated on each CITRIX box.

5. Put the database in a separate directory on the server.

6. Create a named share to this database directory.

7. Create new folder as a subdirectory of the Database directory called DESYS. Put the following files into the DESYS folder.

  • a. DENETWRK.OVL
    b. PRINTERS.DAT

    c. CONFIGUR.DAT


8. Create a CITRIX / MS User Group for the application.

Give the group:

  • a. READ & EXECUTE rights in the DataEase program directory on the CITRIX Box(s).
    b. MODIFY, READ & EXECUTE, READ, WRITE rights in the ‘Share’ that holds the Database directory.

    c. NOTE: as the DESYS files are in a sub-directory to the database then it should inherit the rights from the share / directory above it.


9. Create all users for the application and add them to the group created above.

10. On the Database Server:

Alter / Add the following Registry settings:

They are all type DWORD.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters

  • CachedOpenLimit=0
    EnableOpLocks=0

    OpLocksDisabled=1

    UtilizeNTCaching=0

    UseUnlockBehind=0

    UseOpportunisticLocking=0

    UseLockReadUnlock=0


Note: All servers need rebooting before the individual registry settings become active on that particular machine.

FURTHER REQUIREMENTS:

You now need to consider the following requirements:

DENAME

DEPATH

Mapped Network drives:

  • a. To DataEase directory / sharename
    b. To Database directory/ sharename


In normal circumstances, when doing this from a workstation then the DENAME and DEPATH are set as system environmental variables. This is not the case in a CITRIX environment.

As part of the Application groups / User login scripts (usually written in VB).

  • a. Create the mapped drive letter(s). It is safer here; then they remain the same, and don’t disappear.
    b. Create as a user variable DEPATH to the DESYS directory… you now have the drive letter from point a.

    c. Create as a user (not a system – or they will all get the same) variable DENAME. The norm would be to set it to be the network / Citrix application login which has to be a unique session anyway.


Tests to make sure that it is working correctly:

1. Login to a Citrix application session as more than one of the users in the group on separate machines.

2. Logon to Database.

  • a.  Test record locking is working correctly in record entry. Enter / Modify / Delete.  If it isn’t, there’s a good chance of more than one set of DESYS files, being around, and everyone is effectively working standalone.b. Test record caching is not occurring. (Server registry settings).

    c.  Test a form / report with lots of relationships involved. (Files = 100).


3. Look in file DENETWRK.OVL

The users logged in should have a DENAME entry in that file.

If not, then the DENAME is not being set for that user and that/those user(s) are going to corrupt data files and indexes.