[comp.sys.apple] no way to deinstall NDAs/CDAs

AWCTTYPA@UIAMVS.BITNET ("David A. Lyons") (08/10/88)

>Date:         Tue, 9 Aug 88 13:01:18 GMT
>From:         pitt!cisunx!mtkst@CADRE.DSL.PITTSBURGH.EDU
>Subject:      Utility wanted

>Now that there are programs to install DAs into the Apple IIgs, how
>about a program to _deinstall_ them?  Would save me some re-boot time
>getting to a 0 DA installed desktop.  Thanks,

>Evan Ron Aussenberg
>mtkst@unix.cis.pittsburgh.edu <for awhile, anyway>

The following phrase isn't in my usual vocabulary, but:  Sorry, it
can't be done.

I don't mean that there simply isn't a defined way to remove the DA
from the desk manager's private data structures.  (There isn't, but
you could always cheat and make it work for a particular version of
the desk manager.)

The real problem comes when you deallocate the memory owned by the
CDAs and NDAs.  DAs are free to install HeartBeat interrupt tasks and
to intercept system vectors and toolbox functions into their own
memory, usually *chaining* into the vectors and keeping the old value
somewhere internally to jump to after taking some action themselves.

Since several DAs, setup files, etc., may chain into the same system
vector, figuring out *which* vectors are intercepted by a particular
DA is hopeless.

Writing a utility to deinstall *all* DAs at once would present fewer
problems, but it would still have to be tied down to a particular
version of the system software.

So, my recommendation is to forget about deinstalling DAs and just
wish Real Hard for a faster-booting system disk!

--David A. Lyons  a.k.a.  DAL Systems
  PO Box 287 | North Liberty, IA 52317
  BITNET: AWCTTYPA@UIAMVS
  CompuServe: 72177,3233
  GEnie mail: D.LYONS2