November 2002
Mr. Know-It-All has the answers to even the really tough questions.
Question:
I read your original article on installing Process Commander (PC) with Warp 4.5 and I'm still confused. My setup does not exactly match the setup you described. Can you help me?
Answer:
I'll try. Hindsight indicates I could have covered a few more variations.
As you know, IBM made changes to DOSCALL1.DLL and KDBBASE.SYS in FixPak13 that
broke the PC installer and the PC enhanced keyboard driver.
These changes to OS/2 have carried forward to the Merlin Convenience Pak
(MCP) so the same failures will continue to occur and the same workarounds
continue to apply.
These workarounds allow you to install Process Commander (PC) and use most of its original functionality.
You lose the ability to trap the Ctrl-Alt-Del key and to use the other keyboard hooks that depend on the enhanced driver.
However, all the kill methods and monitoring features still work as before.
Prerequisites
You're going to need some tools.
Get
C. W. Rose's exepatch utility.
You need this to patch DOSCALL1.DLL.
Make sure exepatch.exe is easy to access.
You probably should put it in a directory in the PATH.
Once you have PC installed, you might want to keep
a copy in the \pc\bin directory.
If you don't already have
Process Commander FixKit #1,
get it now.
Uninstall Process Commander
You can skip this section if:
- you don't have PC installed, or
- you are doing a full install of MCP or Warp 4. (The PC uninstall will occur as a by-product of the MCP install.)
If you have PC installed, you must uninstall it before applying
any updates to base OS/2 components.
This has been true since PC was first released
and applies to any update that might replace base OS/2 components.
This includes Base OS/2 Fix Pak's and Device Driver Fix Pak's.
If you don't have FixKit#1 installed, install it now using fix01.exe.
This will enable you to use PCINSDLL and well as correctly some latent
Process Commander defects.
The Fix Kit installer may complain that it can't patch DOSCALL1.DLL.
You can ignore this.
DOSCALL1.DLL will get patched later.
Uninstall PC with the command:
PCINSDLL /UNINSTALL_ALL
This removes all references to PC from CONFIG.SYS and
the Workplace Shell without deleting the installed PC application code.
If you already had PCKBD.SYS installed, PCINSDLL will report this. If so,
REM out the line in CONFIG.SYS.
Once PC is uninstalled, apply the planned OS/2 updates.
When you are ready to reinstall PC, continue from here.
Installing Process Commander for the First Time
This section is for those who want to do a first time Process Commander
installation on a post FixPak13 system.
This section is also for those of you that did a full reinstall of MCP or Warp 4
and no longer have PC installed.
- Save a copy of kbdbase.sys with:
cd \os2\boot
copy kbdbase.sys kbdbase.sav
- Install PC 1.0 using instpc.exe. Do not reboot.
- Install FixKit#1 using fix01.exe. Do not reboot.
- Patch \os2\pcdll\doscall1.dll with:
exepatch \os2\dll\doscall1.dll \os2\pcdll\doscall1.dll
- Replace PC's kbdbase.sys with the original kbdbase.sys:
cd \os2\boot
copy kbdbase.sys kbdbase.pc
copy kbdbase.sav kbdbase.sys
del kbdbase.txt
- Edit CONFIG.SYS and locate the lines similar to:
RUN=x:\PC\BIN\PC.EXE
DEVICE=x:\PC\PC.SYS /SAFETY
DEVICE=x:\PC\BIN\VPC.SYS
RUN=x:\PC\BIN\ACTVCOLL.EXE
REM DEVICE=x:\PC\TMP\PCKBD.SYS
where x: is the drive where you installed PC.
(I recommend installing PC to the boot drive since it
so tightly coupled to the operating system.)
- Change the last line to read:
DEVICE=x:\PC\TMP\PCKBD.SYS KEYB:CA-F12
where x: is the drive where you installed PC.
The KEYB setting tells PC to use Ctrl-Alt-F12 as the hotkey to pop up the PC fullscreen.
- Reboot to activate PC.
Reinstalling Process Commander after Updating OS/2
This is for those of you that uninstalled Process Commander to apply an
OS/2 update.
You still have the PC application code available, so you you don't
need to do a full reinstall of PC.
- Save a copy of kbdbase.sys with:
cd \os2\boot
copy kbdbase.sys kbdbase.sav
- Reactivate PC with the command:
PCINSDLL
PCINSDLL will complain that it cannot create the patched DOSCALL1.DLL.
Ignore the message.
If you forgot to REM out the PCKBD.SYS line earlier,
PCINSDLL will complain that PCKBD.SYS is already installed.
Ignore this message too.
- Patch \os2\pcdll\doscall1.dll with:
exepatch \os2\dll\doscall1.dll \os2\pcdll\doscall1.dll
- Replace PC's kbdbase.sys with the original kbdbase.sys:
cd \os2\boot
copy kbdbase.sys kbdbase.pc
copy kbdbase.sav kbdbase.sys
del kbdbase.txt
- Edit CONFIG.SYS and find the lines similar to:
RUN=x:\PC\BIN\PC.EXE
DEVICE=x:\PC\PC.SYS /SAFETY
DEVICE=x:\PC\BIN\VPC.SYS
RUN=x:\PC\BIN\ACTVCOLL.EXE
REM DEVICE=x:\PC\TMP\PCKBD.SYS
where x: is the drive where you installed PC.
- Change the last line to read:
DEVICE=x:\PC\TMP\PCKBD.SYS KEYB:CA-F12
This setting tells PC to use Ctrl-Alt-F12 as the hotkey to pop up the PC fullscreen.
- Reboot to activate PC.
Finishing Up
When Process Commander starts, it will always complain that it can not
find the enhanced keyboard driver and will prompt you to reinstall it.
Ignore the message.
You not do not want the enhanced driver installed.
I know of a creative soul that patched PC.SYS and changed the message to something
less disturbing.
If you want to use a key combination other than Ctrl-Alt-F12, modify
the KEYB: value and try it. Most values other than Ctrl-Alt-Del will work.
When you are done, most of the orginal PC features will work.
The known exceptions, which all depend depend on the enhanced keyboard driver,
include:
- Intercepting Ctrl-Alt-Del
- Invisible Control
- Emergency Shell
As always, now would be a good time to make a desktop backup!
Good luck.
Curious or in doubt, you can ask
Mr. Know-It-All
OS/2 is his specialty and sharing solutions is his passion
Mr. Know-It-All lives in Southern California.
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA
Copyright 2002 the Southern California OS/2 User Group. ALL RIGHTS
RESERVED.
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International
Business Machines Corporation.
All other trademarks remain the property of their respective owners.
|