During the installation of Service Pack 1 for Windows 7/2008 R2 you might encounter the following error: 

0x800f0904 - CBS_E_MORE_THAN_ONE_ACTIVE_EDITION 

This can be due to the release candidate failing to uninstall properly.  The \Windows\Logs\CBS.log will show the following:   

2011-02-23 17:25:59, Info                  CBS    Appl: detectParent: package: Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17105, parent found: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7600.16385, state: Superseded 

2011-02-23 17:25:59, Info                  CBS    Appl: detectParent: package: Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17105, parent found: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17105, state: Installed Invalid 

2011-02-23 17:25:59, Info                  CBS    Appl: detectParent: package: Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17105, parent found: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17514, state: Installed 

Manually removing the release candidate using DISM will allow for the service pack to properly install.  The commands to do this are (reboots may be required):

Dism /online /remove-package /packagename:Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17105  

Dism /online /remove-package /packagename:Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17514  

NOTE: The DISM command you will need to use is dependent on the version of the service pack release you previously had installed.  In the example above, this information can be determined by the parent Windows Foundation Packages in the CBS.log

 

--Joseph