i seen many of people have problem to flash htc,because of they don't know which file is correct for their phone.
Let me explain you,what you have to do first when you get htc in your shop.
1.adb fastboot must be installed.
Q.don't know what is adb and fastboot ?it's ok look below
A.Fastboot & ADB Tool with Driver [Solution]
2.for get correct firmware for htc mobile,you must have to know cid and main-ver.
Q.how to know cid and main-ver,i'm totally new to htc ?
A.after setup adb and fastboot,you have to write simple commands..
command for cid:fastboot getvar cid
command for main-ver:fastboot getvar all
we need this info letter,keep it note.
3.now you have cid and main-ver,so you can download file now.
but please before download file check this thread and match your cid to know carrier and country.
[Archive] HTC CID List
4.you must have to know htc file description.
RUU = rom update utility.
Bravo = phone model.
Froyo = phone android version.
O2_UK= Carrier of firmware.
18.104.22.168 = main version of rom.
5.now you already know your carrier by cid,and main-ver.
just download rom which carrier is same,and main-ver equal or higher.
6.ok now we know everything but where to download
i know three biggest sites,first one is father of all
3.Directory listing of http://androidfiles.org/ruu/
unknown error while flashing.
just have to relock bootloader.
if your cid is =1111111 that's mean you have super cid you can write any rom on your phone,but main-ver should be higher.
this thread was for s-on users,s-off user can write any rom on their phone.