Here is one. At the moment I think GRUB was my problem.
I have this disk layout:
Disk 1 (Samsung Spinpoint 1TB):
C:\ > 250GB NTFS Windows 7 (primary, with Windows 7 installed)
D:\ > 500GB NTFS Data (primary)
S:\ > 150GB NTFS Software (primary)
> 100GB NTFS Legacy (primary, with XP installed, not accessible through Windows 7)
Disk 2 (Samsung Spinpoint 160GB):
> 100GB EXT4 /home (primary)
> 50GB EXT4 / (primary, with Linux Mint 10 installed)
> 10GB SWAP (which should be used by Linux Mint 10)
In addition, while installing Mint I also installed GRUB (on disk 2) which takes care of loading all the three OSes (I set the BIOS to boot from disk 2 instead of disk 1 which was the default) and everything has always worked great.
Yesterday, as I was normally using Windows 7 (so I first booted into GRUB then asked it to load Windows 7) I downloaded Windows 7 SP1 and tried to update.
It refused to install giving me that very same error (0x800f0a12).
I've tried several times to start the installer as administrator manually (which isn't required, as it asks anyway for elevation a little after it has been laubched) and to disconnect any other device that could interfer (like the disk I have on eSATA) to no avail.
To get it installed with no trouble, I had to restart the machine and enter the manual boot selector to make it bypass GRUB and boot directly into Windows 7 (don't ask me how I got to the conclusion GRUB was the problem, probably it was the beer).
By doing that, the SP1 installed flawlessly.
So, although I solved my problem, I'm here to ask if there's someone more educated than me that could explain me why it has failed in a way and has succeeded in another, seeing that I never moved the disk which Windows was installed on and the OS was just the very same.
I suppose (but it's really nothing more than a guess) that the installer didn't like the fact Windows 7 was not on the "main" boot disk, but I'm curious to know what triggered this kind of behaviour.
Thanks in advance to anyone who could answer this.. And of course also the little rep I can give