If you are used another partitioner, like me, I used linux to get rid of that 100MByte windows partition, and installed linux next onto another HDD, I needed to pull of the cables from the linux HDD and then using only the Win7 HDD I can install Win7 SP1. I hope it's a solution for your problem.
If you still can't install it, or the linux is on the same drive, I think there's no solution. Only to re-partition the whole HDD and use Win7 partitioner.
I found this on: http://windows.microsoft.com/en-US/windows7/windows-7-windows-server-2008-r2-service-pack-1-sp1-installation-error-0x800F0A12