In cases where the Windows 7 SP1 update fails, there may be a fairly easy resolution using a downloadable tool from Microsoft called the System Update Readiness tool. This tool checks the state of certain files and registry keys, and attempts to fix them if required. There are a certain set of errors (see table below) that this tool may help resolve when applying updates or service packs. These largely relate to Windows manifests and servicing components.
I updated my 3 home systems to Windows 7 SP1 today using Windows Update. On two of the three systems, the installation was flawless and fairly quick (for a service pack install). On the third, however, the install failed. When the failure was presented on the screen, I tried rebooting and running the update again. Once again, it failed. I checked into it further by clicking on View Update History in Windows Update, then double-clicking on one of the SP1 failed instances. In the Error details field it showed “Code 80073712”. Clicking on the “Get help with this error” brings up a Windows Help and Support article that references the System Update Readiness Tool. There isn’t much info presented on the tool, but it says that it may “correct some conditions” that cause this error. Unfortunately the tool is mentioned briefly in the Help article, then there is much more detail about repairing Windows. Definitely try the System Update Readiness Tool first. Thankfully a link is provided.
Windows Update: Error 80073712 example
Microsoft KB article 947821 describes the tool more fully, including info on the files and registry areas checked. It also provides a list of errors that may be resolved by using the tool, along with brief descriptions of each. The 80073712 error is ERROR_SXS_COMPONENT_STORE_CORRUPT, and the description is “The component store is in an inconsistent state.” There are download links for x86, x64, and IA-64 versions of the System Update Readiness Tool for Windows Vista, Windows 7, Server 2008, and Server 2008 R2.
I downloaded and installed the version for Windows 7 x64. It completed in less than 10 minutes with no visible output. There is a log provided in %SYSTEMROOT%\Logs\CBS\CheckSUR.log (or commonly C:\Windows\Logs\CBS\CheckSUR.log). Checking the log showed that 4 issues were fixed. These were missing manifests for Windows Media Center features, though this will very likely differ for others. I have no idea why they were missing, but the tool appears to have replaced them. After running the tool and viewing the log, I re-ran the SP1 install via Windows Update and it completed successfully.
It would be nice if some of the details, including the error code and pointers to the System Update Readiness Tool were brought forward and not buried so deeply. I wonder how many will miss it, not aware that SP1 failed or why.
Other errors that the tool may fix include (table from KB article 947821):
|0x80070002||ERROR_FILE_NOT_FOUND||The system cannot find the file specified.|
|0x8007000D||ERROR_INVALID_DATA||The data is invalid.|
|0x800F081F||CBS_E_SOURCE_MISSING||The source for the package or file not found.|
|0x80073712||ERROR_SXS_COMPONENT_STORE_CORRUPT||The component store is in an inconsistent state.|
|0x800736CC||ERROR_SXS_FILE_HASH_MISMATCH||A component’s file does not match the verification information present in the component manifest.|
|0x800705B9||ERROR_XML_PARSE_ERROR||Unable to parse the requested XML data.|
|0x80070246||ERROR_ILLEGAL_CHARACTER||An invalid character was encountered.|
|0x8007370D||ERROR_SXS_IDENTITY_PARSE_ERROR||An identity string is malformed.|
|0x8007370B||ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME||The name of an attribute in an identity is not within the valid range.|
|0x8007370A||ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE||The value of an attribute in an identity is not within the valid range.|
|0x80070057||ERROR_INVALID_PARAMETER||The parameter is incorrect.|
|0x800B0100||TRUST_E_NOSIGNATURE||No signature was present in the subject.|
|0x80092003||CRYPT_E_FILE_ERROR||An error occurred while Windows Update reads or writes to a file.|
|0x800B0101||CERT_E_EXPIRED||A required certificate is not within its validity period when verifying against the current system clock or the time stamp in the signed file.|
|0x8007371B||ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE||One or more required members of the transaction are not present.|
|0x80070490||ERROR_NOT_FOUND||Windows could not search for new updates.|
Link – Microsoft KB Article 947821