Go to this link to install the latest windows installer. http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5a58b56f-60b6-4412-95b9-54d056d6f9f4&displaylang=en
Then I go to %temp%, there is the setup log for sql server, also for all microsoft product. always check this folder for installation log.
there is one file called sqlsetup, here is the content.
10/20/2010 09:45:23.809 ======================================================================
also I open the process monitor. to capture all fiel activity of setup.exe. , it try to read one setup file which is located in E:\x86\redist\DotNetFrameworks\dotNetFx35setup.exe
it’s not a valid PE file.
80004005 means the file is broken.
so the final answer, make sure you ISO checksum is correct. for me, just download a new ISO which works well.
Also Microsoft should prompt user a friendly error.