Update: The service-based answers below are most likely the way to go, I am also curious to see if there are any out-the-box solutions anyone has tried in the field.
Our system uses a client-server architecture, and with more clients using it I'm thinking of better ways to log client application errors, and get them sent to us.
Currently we just show a simple error message, with a button that preps an email (with the default system email client) and the clients send this on to our support address. This contains extra info like the stack trace.
We also tried saving errors to a network share in the company, but I'm not too keen on that archaic solution either.
Now there are only two businesses that refer to clients as users, and I'm sure some of ours support both lifestyles, as they just ignore the email button, and sends a full screen-shot wrapped nicely in a word document.
Some factors I'm thinking of include
A solution to log errors, like the contrived one above,
A robust solution; Logging to a SQL database won't work; if that fails too, then what?
Is at least semi-automated, preferably to the point where the logs reach my side.
It copes with load, our client base is growing and the current solution, and our inboxes, won't hold up.
Minimise installing extra 3rd party components on clients, I want to keep the SPOF to a min.
I'd love to hear about any experience or suggestions you have on how I can implement such a solution.
System Details
It's a Microsoft .Net 2 based system with a SQL backend. Some users work remotely over the net, so network shares aren't always available (unless they VPN, which is awesomely slow at any rate). We have users across different companies, their DB's are hosted on-site. We have remote access to 90% of them.