Process Commander installation and later Warp Fixpacks.


The Process Commander installer barfs on Warp 3.0 Fixpack 40, and Warp 4.0
Fixpack 12; however, Process Commander itself still runs, albeit without some
functionality.  This is because Process Commander's Activity Collector needs
some of the calls to DOSCALL1.DLL to be forwarded to Process Commander's
PCEAPI.DLL, and this DLL must therefore be added to DOSCALL1's import name
table.  However, the installer expects to find only one existing entry in
DOSCALL1's import module name table, and can't cope with the entry (SESMGR)
which is added by the later fixpacks.  Since the installer can't add the
forwarding, the Activity Collector can't deal with files or pipes, though its
other functions still work.

Stardock have been told about the problem, and have no intention of fixing it.
As an alternative, one of the included programs (EXEPATCH.EXE) will patch any
standard DOSCALL1.DLL to forward the appropriate calls to PCEAPI.DLL.  Note
that no Stardock code is included here; you'll need to have Process Commander
installed for this to be of any use to you.  It's been tested with Warp 3.0
base level and FP 40, and Warp 40 base level and FP 12, and Process Commander
base level and Fixpack 1.

If you attempt to install Process Commander with the later Fixpacks present
you will get a warning message about not being able to patch DOSCALL1.DLL, but
will otherwise (I think) get a normal install.  If you then patch the original
DOSCALL1.DLL with eg.:

  exepatch doscall1.dll doscall1.new

and then rename the new DLL and and move it into the search path ahead of the
standard DLL, Process Commander should work.  Getting the system to see the
new DLL, and not the old one, will probably involve a reboot.

The fixpack level of Process Command makes no difference, but Fixpack 2 for
Process Commander was withdrawn due to problems with (among other things)
full-screen and windowed MSDOS sessions.  Avoid it.

Before messing with any Process Commander installation note that Stardock's
installer has pretty baroque security requirements; you need not only an ID
number, but also a random word from the (hard copy only) manual.  If you don't
have the manual, leave the installation alone; I was blind-sided by this, and
my version was out of action for a few months until the manual could be
retrieved from a storage box.

As always, keep backups of essential files and be prepared to boot from a
maintenance floppy if things go wrong.

For information, the forwarded calls are:  DosSetPriority, DosCreateNPipe,
DosClose, DosDelete, DosOpen, DosExecPgm, DosLoadModule, DosCreateEventSem,
DosCreateMutexSem, DosProtectOpen, DosStartSession.

The other program, EXEPARSE.EXE, is useful for looking at the structure of
DLLs to see just what they are doing.  It doesn't disassemble code, and it
doesn't work with compressed DLLs, but it covers most of the other
information which DLLs store.  It's the program I had to write to understand
a DLL well enough to write EXEPATCH, which by itself is pretty trivial.


C W Rose - cwr@cts.com
Year of the Impromptu Stoat.

