Without knowing the exact error message, everyong is just guessing.
You can get the installation log to see what the MSI was trying to do at the time of the failure. Launch your installation using this (assuming it's an MSI):
msiexec /i <path to="" .msi=""> /l* <path to="" log="" file=""></path></path>
You'll get quite a lot of information in the log file. Just search for "ERROR" and you can start tracing backwards from there seeing what the MSI was doing.