>>One thing you can do is wrap your entire application in a CheckEnvironment() function, which checks that everything it needs is available before the "guts" of the program start. This can be added to your existing code, or implemented as a "launcher" program. As a side note to this, you could code defensively: just because, in a regular installation, a file is *supposed* to be in a given location and accessible with certain privileges, doesn't mean it always *will* be.
>>
>>However, in the general case the installation or privileges can be so screwed up that nothing will load e.g. bad or missing runtimes. If your error-reporting code, no matter how defensively written, won't load, then you're stuck. One way to approach that is to make available a troubleshooting web page and/or wiki.
>
>Al, thanks.
>
>Is there any article/publication that provides details/examples?
Some of the principles are available via Wikipedia articles on fault-tolerance, defensive programming etc. The specifics tend to be custom for each custom application.
Regards. Al
"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov
Neither a despot, nor a doormat, be
Every app wants to be a database app when it grows up