[Edited from the original posting]
I see this has been looked at a couple of times since I posted it, so I didn't want to delete it after (I hope) solving the problem. It's curious enough so that it might be applicable to someone else some day. See my solution at the end of the descrption of the problem.
-------------
I'm not sure what better way to describe this.
I have what I assume is a pretty standard Windows 2000 Professional installation. It came on the computer and I don't fool with it any more than I need to.
I picked up a virus last week, and think I've sufficiently cleaned it, but maybe not. Possibly coincident with the virus (or maybe not) I encountered a problem with Mozilla Thunderbird (my mail program of choice). What I finally traced this to was that when the program needed to write a temporary file TMP to the temporary directory as set in the Windows environment (c:\winnt\temp), instead of aiming for c:\winnt\temp, it was trying to write to c:\[the directory in which the program is installed\\winnt\temp - in other words, it was appending the TMP directory to the program's installed (and starting) directory.
I confirmed (and temporarily fixed) Thunderbird by creating the directory that it wanted to use.
Then, today, I tried to update another program. The installer wouldn't run. After downloading a few different copies (from different sources) and being reasonably confident that I had a good veresion, I recalled this TMP issue. Seeing as how many installers write temporary files, I tried creating the directory c:\[directory from which I was running the installer]\winnt\temp and that made it work.
From this, I concluded that there's something wrong with Windows. It's not going back to the root when looking for the temporary TMP directory set in the environment. but rather, it's appending that to the path where the program is running.
Anyone got a clue as to how I can straighten this out?
-----------
What I did was go to the Windows Control Panel, open up the Environment window, and changed the path for the TMP environment variable to something else, saved it, then changed it back to what it's supposed to be. I deleted the "temporary" directories that I created to fix the problems, tried the programs again, and they indeed seem to be working as normal.
I suspect that something in the registry got changed. I wonder how long it will take me to find out what ELSE got changed.