Here is another problem/solution:
I moved my COM object (see my previous article) to my client's server. My test classic-asp page failed when trying to do a CreateObject on the COM object. No explanation. No Event Log entry. No nothing. Just a HTTP error 500. Grrr.
I got a little bit more of a clue when I created a .vbs script that did the CreateObject, and ran it using cscript.exe. I got an error message "The system cannot find the file specified". Well, my COM object opens a config file, so I went down that route, with dead ends.
I did a registry search for my COM object.method, and found entries, but no path to where the dll actually lives. I even was able to delete my COM .dll and got the same error. Hmmm, that's a clue.
A couple of Google searches later, I found my answer. I have to register my COM object (written in c#) using regasm *and* use the /CODEBASE argument, which causes the location of the COM .dll to be noted in the registry. DOH!!!
I did that, and now it works.
Now, had I only been told that the error was coming from the .Net run-time, and that it was not finding the COM object dll, and maybe even a hint saying that /CODEBASE may be necessary if the assembly is not in the GAC, then my life would have been soooo much easier. Instead I just wasted a coupla more hours.
Seems I am on a rampage against terse (or none at all) error messages. Come on, people (Microsoft)!!!! It's 2009! Don't make my life as a software developer so dang hard!