Peachtree 8/9 on Terminal Server

Some applications require a great deal of work to function appropriately in a Terminal Services environment.  This regrettable fact is not usually due to Terminal Services itself, but due to nonstandard and sometimes undocumented techniques the applications use.  Many OEMs are also not very cooperative in the effort, out of lack of familiarity, concern about supporting it in what they think is an unusual environment, and even fear that running an application on a Terminal Server is going to be used as some kind of licensing cheat.

Peachtree can be a conundrum for many administrators, and its successful operation in often the result of many tiny tweaks over time as things are found to be wrong with it.   As with most problematic Terminal Server applications, there are ways to fix the significant issues with Peachtree, and once the problems are known it can be done by recipe.

Doug Wietbrock spent a significant amount of time dealing with the puzzles presented by Peachtree, and finally put together an explicit set of "Peachtree on Terminal Services" instructions, which I have reproduced below with his permission.  Although Doug immediately credits other people with the process, he was the one who finally expended the effort to put together the big picture for the rest of us.

This procedure does not cover Peachtree 2003, for reasons which Doug explained to me via email:

"Recently people have asked me to update the instructions for PT 2003. I have refused. The new PT 2003 EULA Agreement specifically prohibits using Terminal Server. Although we really wanted to upgrade, this change in the EULA forces us to move to another accounting package... I am not pleased with Sage at all, but respect their right to license it as they please."

If you have questions about installation techniques for this or any other Terminal Services application, there are some excellent resources for information available to you.  Two excellent sources are the Microsoft newsgroups available via UseNet or directly from Microsoft's public news server news.microsoft.com.  The newsgroups directly devoted to Terminal Server applications are:

microsoft.public.win2000.termserv.apps

microsoft.public.windowsnt.terminalserver.applications

If you prefer using German, there are also

microsoft.public.de.german.win2000.termserv.apps

microsoft.public.de.german.windowsxp.terminalserver


Installing Peachtree 8/9 (aka 2002) on Windows 2002 Terminal Server

Original Issue: March 5, 2002 - Revised: April 2, 2002

First, I did not figure this out. I had assistance from several very clever people. At least one of them asked not to be acknowledged for fear of reprisals from Peachtree so I will not mention names. Second, this procedure has now been validated by at least one other person, but still consider this a work-in-progress. Third, failure to precisely follow these steps will probably lead to problems.

Pre-Installation Notes

  1. I installed both PT 8 and PT 2002 at the same time on the same terminal server with success. If you install a newer version at a later date, you will probably have to repeat all the steps as if it is a new installation. I suspect that PT 7 will also work using these directions, but you must download and run the registry patch REL7REG.REG. Others on this newsgroup can tell you where this patch is located.  [As noted above, this doesn't cover PT 2003; if you need to run Peachtree on Terminal Services, PT 2003 is not for you - Alex.]
     
  2. There is a "Windows" directory in each TS user's root drive (for example W:\Windows). This is different from the operating system directory usually named C:\WINNT. Be doubly sure you follow these instructions and get the paths correct!

Installation Instructions

  1. Before installing Peachtree, each terminal server user's ROOTDRIVE variable must be set. Using a text editor such as notepad, edit the file RootDrv2.cmd file located in c:\[windows directory]\Application Compatibility Scripts\ of the terminal server. There should be a line to set the rootdrive, for example:
    Set RootDrive=W:
    Note: Do NOT set this to C drive! I suggest you set it for W:
     
  2.  Log in via the Terminal Server Client for each remote user you will be allowing to access Peachtree. This creates the appropriate directory structure for each account. You will later copy .ini files to each person's windows directory. These user folders are created in c:\documents and settings\[login name] by default.
     
  3. Log in as administrator on the terminal server computer and Insert the Peachtree CD. Cancel the AutoRun installation when it starts. Click on the Start button->Settings ->Control Panel->Add/Remove Programs. The Add/Remove Programs dialog box will appear. Click on Add New Programs on the left side and then on the "CD or Floppy" choice at the top. Locate the PT 8/9 setup.exe program on the CD. Run the installation. I installed Peachtree into C:\Program Files\Peach 8 and C:\Program Files\PT2002 although this probably isn't important. When finished with the first installation, complete out of the Add/Remove Programs routine. If you wish to install a second version of Peachtree, restart the Terminal Server and repeat this step at this time.
     
  4. During the installation, Peachtree installs a pcwXX.ini (pcw80.ini for PT 8 and pcw90.ini for PT 2002) file in the windows directory of the terminal server (c:\winnt for example). Each user must have a copy of these pcw80.ini/pcw90.ini files in their own W:\windows folder. This is the main cause of the rights error you may be getting if you do not follow these directions. Before copying these files, you must edit them. Using a text editor such as notepad, open the pcwXX.ini files and look for the following. Verify that the ProgramPath variable points to the correct location. It should be correct.
    The PROGRAMPATH is used to tell where the EXE file has been installed. This is also used to find the "BOOK" program.
    PROGRAMPATH=c:\program files\Peach8
    After making sure these ini files point to the correct program location, copy these files to each terminal server user's windows directory W:\windows (which is c:\documents and settings\[login name]\windows)
     
  5. Another ini file that Peachtree installs for any version is the database file bti.ini. This file is located in the terminal server's windows directory (c:\winnt). You must edit this file to point the trnfile variable to the user's individual windows directories. For example:
    [Btrieve Client]
    options=/L:500 /F:500 /H:100 /T:15 /M:2048 /U:50 /C /B:20 /E /G:10:10
    trnfile=W:\windows\
    ....
    You need not copy the bti.ini file as it will automatically be copied to each user's local windows directory.

    Warning! The following steps are very dangerous to a working computer. Corruption of your computer's system registry can render it unusable. Make sure you backup the registry. If you do not have the skills to edit the registry, find someone who can help you. I am not explaining how to find the registry editor as that would be the same as handing a loaded gun to a child. It you cannot find the registry editor, that is your first clue that you need help!
     
  6. Using the 32 bit registry editor verify that the HKLM\SOFTWARE\Btrieve Technologies branch has full read and write permissions for the groups that your Peachtree users belong to. I set mine to allow all domain users to have R/W permissions, but you may wish to be more restrictive. Note: on the last server installation I did, these permissions were already set correctly. Why this was not the case with my two previous installations I don't know.
     
  7. Read permissions for the same users/group must be assigned to the HKLM\Peachtree branch. This was also correctly set on my last installation.
     
  8. The HKLM\SOFTWARE\Btrieve Technologies\Microkernel Workstation Engine\Settings\Home Directory should be set to rootdrive location, such as W:\windows.
     
  9. Finally, you must set or verify that your Peachtree users/groups have read/write permissions on the HKLM\<Peachtree license key, all caps with letters and numbers, like PEYV724LZ> registry branch. Exit the 32 bit registry editor.
     
  10. Make sure that your Peachtree users/groups have everything but Full Control on the Peachtree program directories and the Peachtree data folder.
     
  11. On the terminal server computer desktop, right-click on My Computer and select Properties. Click on the Advanced tab, then select Environment Variables. In the bottom section of the System Properties dialog box, select "New" for system variables. The variable name is "files" and the value is "800". Click on OK and the window should show files 800. This number is just speculation on my part. If anyone can establish what the files= number should be, please advise. This number seems to work for my 8 users.
     
  12. Log in via a terminal server client window and start PT 8/9. Authorize and update to the latest version immediately.
    The Peachtree Today feature is annoying, especially for terminal server users. I found that I had to login locally as each person to be able to turn off PTT in PT 8, but PT 2002 allows this to be done via the terminal server client. Test and verify using multiple terminal server logins simultaneously.
    Note: the help system in PT8 will not work for terminal server users. This was fixed in PT 2002.