Tuesday, March 21, 2006
"Kris, there's something wrong with the scanner, and so the application doesn't run. You're working on the scanner right? We need you to fix it immediately!!!"
I get this complaint about once a day. There is nothing wrong with the scanner. What's really happening is that, when somebody tries to run the application, they get this message:
This application has failed to start because Scanner.dll was not found. Re-installing the application may fix this problem.
Then, the person getting the error asks who's responsible for the scanner, and then they come to me, asking how I could be so incompetent.
In reality, it has nothing to do with me or with "my" Scanner.dll. The problem is that their machine is not set up properly, or their debugger settings are screwed up. Their applications really can't find any of the DLLs they need, but Scanner.dll happens to be the first one to get loaded, so that's the one identified in the error message and I get the blame.
So I blow ten minutes a day helping people re-configure their systems so that the application works. About eight of those minutes are spent listening to the complainant repeatedly assert that they have everything set up properly, that it worked fine yesterday, and that I must have changed something that made things break. The first few times, I gave people the URL to a web page that described exactly how to set up the application, but now I don't bother, because I know nobody is going to read it.
I'm trying to figure out a way to randomize the DLL loading order, so that other people will occasionally get the blame, and get to play tech-support flunkie. I've also considered changing the DLL's name from "Scanner.dll" to "YourWorkingDirectoryIsntSetCorrectly_AskBillToFixIt.dll".