[Tutor] [OT] Rogue installers

Scott Widney SWidney@ci.las-vegas.nv.us
Thu, 7 Mar 2002 14:50:41 -0800


> Note: *many* Windows programs don't undo stuff they do in
> your AUTOEXEC, even via their uninstallers -- this is in no
> way all that unusual.

I agree that it's the norm. I've been in Tech Support some fifteen years
now, and it has almost always been the case that the vendors leave the
mopping up for janitors like me.  *grin*

> With AUTOEXEC, this could be a problem, as many programs alter
> it and make a backup.  If the Ruby uninstaller went back and
> restored AUTOEXEC.RUBY, from the time it installed, you could
> be in big trouble, given all the interim changes to AUTOEXEC
> that might have happened in the meantime.  The only way the
> uninstaller could work would be to parse the file and remove
> parts of it.  A very well-behaved program will (a) tell you
> what it plans on doing and (b) show you what the changes would
> look like ahead of time.  Very few bother.

That's all true. Just because that's the norm, though, doesn't mean we
should find it acceptable. We should feel fine with pointing out something
that's been missed, we should not feel guilty for expecting and/or
requesting more, and these experiences should make us all the more sensitive
to the quality of our own work, especially if we're going to be releasing it
into the wild.

> I just went through a long session purging my AUTOEXEC of
> unwanted path subdirectories this morning.  Some kept
> reappearing, I think because of stuff in the registry.
> The AUTOEXEC would actually change, even after I'd edit
> it -- even after I write-protected it even.

Ah, yes. I've become quite adept at grooming the registry ("Where angels
fear to tread..."). It's a necessary skill in the Windows world. I make it a
point to review my registry after installations specifically to see what the
Installer has done.

> I think you should let go of blaming the Ruby Installer
> -- it's your responsibility, at the end of the day, to
> clean up the AUTOEXEC file.  Uninstallers only do so much.
> They'll also leave DLLs behind, or tell you they *seem*
> to be unused by other programs but you might want to
> leave them just in case -- no help at all to the user,
> as no one keeps all these dependencies in their heads,
> or even written down.

Actually, I agree fully with you that it is the individual's responsibility.
It's the same as changing your car's oil or getting it tuned up. I wasn't so
much blaming the Installer, as identifying it as the culprit. Having done
that, I still left it up to the user to clean up after it. And here's where
I'm headed.

Why should we do that manually? We can use Python to examine our
AUTOEXEC.BAT and CONFIG.SYS files before and after an install. Then store
the changes in a log file. Then we can back out one install without
affecting the others. We can even use Python to do the parse-and-rollback.
And using the Win32 extensions we can do the same thing with the Registry.
In the interest of full disclosure, there are also commercial utilities that
do these same things, if you don't want to roll your own.

Kirby, I wasn't trying to point fingers or start a blame-fest. I was
suggesting a first place to start mopping up the mess...with the unspoken
acknowledgement that it's the PC user that has to do the mopping.

Scott