How to resolve the error 0x80073701(ERROR_SXS_ASSEMBLY_MISSING) when you are installing a service pack or update

Symptom:

When you are installing a service pack or update for Windows 7 or 2008 R2, the update may fail to install with an error 0x80073701.

When you examine the CBS.log, you may find the followings were logged:

2011-03-01 10:31:14, Error CSI 00000010 (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #396746# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0, a = 9e12b49121d141c9a55e48800acbaadd, Version = 8.0.7600.20820, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral, cb = (null), s = (null), rid = [77]"Package_1_for_KB2447568~31bf3856ad364e35~amd64~~6.1.1.0.2447568-1_neutral_LDR", rah = [1]"3", manpath = (null), catpath = (null), ed = 0, disp = 0)[gle=0x80073701]
2011-03-01 10:31:14, Info CBS Failed to pin deployment while resolving Update: 2447568-1_neutral_LDR from file: (null) [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2011-03-01 10:31:14, Info CBS Failed to resolve item[0] in Package: Package_1_for_KB2447568~31bf3856ad364e35~amd64~~6.1.1.0, Update: 2447568-1_neutral_LDR [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]

Cause:

Error 0x80073701 is ERROR_SXS_ASSEMBLY_MISSING, it means there are some system files are missing, which caused the update installation failure.

Resolution:

To resolve the issue please try the following

1. Run the checksur.exe (System Update Readiness Tool) tool.
2. Run System File Checker. From the command line run the command sfc /scannow
3. Examine the language packs installed on the system. Uninstall the unnecessary language packs.
4. Review the cbs logs and uninstall the patches which were missing assemblies and reboot the server.
5. Reinstall Service Pack 1.

For advanced customer, you can manually examine which files are missing. For example, in the above CBS log, you can see the files for update KB2447568 are missing. To resolve this issue, you can either:

1. Copy the missing files from a good machine.

2. Download and install KB2447568 again.

Well, the repair install is the last choice but worth a try befor you give up. :-)

More information:

Description of the System Update Readiness Tool for Windows Vista, for Windows Server 2008, for Windows 7, and for Windows Server 2008 R2
http://support.microsoft.com/kb/947821