No matter how hard you try, you cannot make every single customer happy with the product you ship.  There will be bugs and someone will get seriously mad after fighting with your product for several days.  I received an email from a very angry customer yesterday.  Few sentences in that email that clearly showed me that whoever sent this email was very very mad.

Email started with below sentence.

Hi, this is just driving me nuts!

And the customer explained what he tried to do.  Then let out his anger with below sentences.

...after that it can be a crap shoot...
...it can crash VS 2005 clean out .... no error mesage, no dialog, no re-start VS ..... just a sudden drop to the desktop!!...
...in the last 3 days I have had to re-start windows and VS about 50 times (or some crazy number of times)...

So, clearly this person was fighting with Visual Studio and getting more and more frustrated.  And, to be honest, I also got frustrated by his email also.  It did not have any useful details for me to help resolve the problem.  Instead, it was full of complains in angry tone.  'How in the world can I help you if you just vent and not provide useful information?' was literally what I was thinking.  But as soon as I was able to calm down, I realized that this person could have spent several nights trying to figure out what's going on.  I would have gotten mad if I was in his shoes.  So, I sent out below email.

Hello,

It will be very helpful for us to track down the problem if you can file a bug in our Product Feedback Center with as much detail as possible.
You can access our Product Feedback Center from
http://lab.msdn.microsoft.com/productfeedback/.

Once we receive a bug, we will have someone assigned to the bug to try to resolve it for you.

We would need more information than the detail you provided below.

Thanks!

Simple.  Acknowledge that we could have caused this.  Provide next step.  And make a reasonable promise.  Below is what the customer said in reply.

Will do, thanks....
Mostly I like vs 2005 and the tools .... but when things go wrong and your trying to finish some stuff before the day is over.... gets under the skin and makes one ready to scream / shout etc.... :--)

BTW:  I go back to sql 6.5 and Access 1.0 and other older stuff....
So when I read some folks blogs and such it's just funny....
Like tuning indexes and sql jobs today with the tools Vs. back with sql
6.5
-- way better today !!

Just got time today to show a co-worker how to do a SQL CLR s-proc and some scalar functions in t-sql and the guy was just loving the power of sql 2005.

Thanks again.

Completely different tone and even praised our work.  The last part about sharing SQL CLR with his co-worker is the best part.  Notice how a quick response to the customer that showed that I cared about his problem completely turned customer's attitude around.  After all, this person was very happy with our products.  Just got frustrated after a huge fighting match with Visual Studio. 

By listening to the customer and showing how much you care about customer's issues, you can easily make an angry customer your friend who would tell others to buy your stuff.  Yes, it's very important to find new customers.  But taking care of people who've already investied in your product is at least as equally important if not more.  And you do it one customer at a time.