Windows installer fails to update itself with error 0x80073701 ERROR_SXS_ASSEMBLY_MISSING and will not load any other updates

2

Another symptom is that it claims that there has been no last update installation ever. It quotes a null in a non-existing source code file on somebody's d: drive:

2014-12-27 00:12:17, Error                 CSI    00000351@2014/12/26:23:12:17.141 (F) d:\win7sp1_gdr\base\wcp
\componentstore\csd_locking.cpp(324): Error STATUS_SXS_ASSEMBLY_MISSING originated in function 
CCSDirectTransaction::LockComponent expression: (null)

And it appears from the CBS.log below that it cannot find WUClient-SelfUpdate-Core-CoreComp~31bf3856ad364e35~amd64~de-DE~7.6.7600.256 . de-DE in that package name indicates something in standard German. The installation is in Danish.

This is Windows 7 Professional, so I cannot just install other languages as suggested for some solutions as suggested on one Microsoft page (only bigger versions allow multiple language packs).

I have tried following this suggestion: http://support.microsoft.com/kb/971058/en-us

The fixit automatic troubleshooting program linked from that page determines that Windows Update needs updating, which fails.

The manual procedure fails at point 11: Install the latest Windows Update Agent. So it just achieves to disable internet access until the machine is restarted. The mentioned files gpkcsp.dll, initpki.dll, msxml.dll, muweb.dll, sccbase.dll, slbcsp.dll, wuaueng1.dll, wucltui.dll and wuweb.dll do not exist. For the files browseui.dll, mshtml.dll, qmgr.dll and shdocvw.dll it says something to the effect of shared library loaded, but DllRegisterServer attachment point not found.

As instructed, I have tried with/without point 4.

I also tried the unorthodox suggestion of using Vistalizator (http://www.froggie.sk/index.html), but it failed installing the German language pack.

All attempts so far failed with the error in the headline in some guise, ie. have no effect.

System Update Readiness Tool reports no problems and sfc /scannow the same.

The problem appears to be similar to some problems people had installing SP1, but this machine already has SP1 installed.

CBS.log says:

2014-12-27 00:12:16, Info                  CBS    Exec: Resolving Package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~da-DK~7.6.7600.320, Update: Aux-64and32
2014-12-27 00:12:16, Info                  CBS    Exec: Resolving Package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~da-DK~7.6.7600.320, Update: Aux-64and32, PinDeployment: amd64_microsoft-windows-w..oyment-languagepack_31bf3856ad364e35_7.6.7600.320_da-dk_d9072471cf1d591b
2014-12-27 00:12:16, Info                  CSI    0000034b Performing 1 operations; 1 are not lock/unlock and follow:
  AddCat (14): flags: 0 catfile: @0x198c248
2014-12-27 00:12:16, Info                  CSI    0000034c Performing 1 operations; 1 are not lock/unlock and follow:
  Stage (1): flags: 8 app: [Microsoft-Windows-WindowsUpdateClient-Aux.Deployment-LanguagePack, Version = 7.6.7600.320, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture = [l:10{5}]"da-DK", VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral]) comp: (null) man: @0x198cab8
2014-12-27 00:12:16, Info                  CBS    Exec: Resolving Package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~de-DE~7.6.7600.320, Update: Aux-64and32
2014-12-27 00:12:16, Info                  CBS    Exec: Resolving Package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~de-DE~7.6.7600.320, Update: Aux-64and32, PinDeployment: amd64_microsoft-windows-w..oyment-languagepack_31bf3856ad364e35_7.6.7600.320_de-de_d632b9add0f3adb5
2014-12-27 00:12:16, Info                  CSI    0000034d Performing 1 operations; 1 are not lock/unlock and follow:
  AddCat (14): flags: 0 catfile: @0xb56888
2014-12-27 00:12:17, Info                  CSI    0000034e Performing 1 operations; 1 are not lock/unlock and follow:
  Stage (1): flags: 8 app: [Microsoft-Windows-WindowsUpdateClient-Aux.Deployment-LanguagePack, Version = 7.6.7600.320, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture = [l:10{5}]"de-DE", VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral]) comp: (null) man: @0xb566d8
2014-12-27 00:12:17, Info                  CBS    Exec: Resolving Package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~hu-HU~7.6.7600.320, Update: Aux-64and32
2014-12-27 00:12:17, Info                  CBS    Exec: Resolving Package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~hu-HU~7.6.7600.320, Update: Aux-64and32, PinDeployment: amd64_microsoft-windows-w..oyment-languagepack_31bf3856ad364e35_7.6.7600.320_hu-hu_6916e2d1972a909d
2014-12-27 00:12:17, Info                  CSI    0000034f Performing 1 operations; 1 are not lock/unlock and follow:
  AddCat (14): flags: 0 catfile: @0xb56be8
2014-12-27 00:12:17, Info                  CSI    00000350 Performing 1 operations; 1 are not lock/unlock and follow:
  Stage (1): flags: 8 app: [Microsoft-Windows-WindowsUpdateClient-Aux.Deployment-LanguagePack, Version = 7.6.7600.320, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture = [l:10{5}]"hu-HU", VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral]) comp: (null) man: @0xb56648
2014-12-27 00:12:17, Info                  CBS    Exec: Resolving Package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~de-DE~7.6.7600.256, Update: Aux
2014-12-27 00:12:17, Info                  CBS    Exec: Resolving Package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~de-DE~7.6.7600.256, Update: Aux, PinDeployment: amd64_microsoft-windows-w..oyment-languagepack_31bf3856ad364e35_7.6.7600.256_de-de_d631806fd0f4d02b
2014-12-27 00:12:17, Error                 CSI    00000351@2014/12/26:23:12:17.141 (F) d:\win7sp1_gdr\base\wcp\componentstore\csd_locking.cpp(324): Error STATUS_SXS_ASSEMBLY_MISSING originated in function CCSDirectTransaction::LockComponent expression: (null)
[gle=0x80004005]
2014-12-27 00:12:17, Error                 CSI    00000352 (F) STATUS_SXS_ASSEMBLY_MISSING #7307067# from CCSDirectTransaction::OperateEnding at index 0 of 1 operations, disposition 2[gle=0xd015000c]
2014-12-27 00:12:17, Error                 CSI    00000353 (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #7306952# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0, a = Microsoft-Windows-WindowsUpdateClient-Aux.Deployment-LanguagePack, Version = 7.6.7600.256, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture = [l:10{5}]"de-DE", VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral, cb = (null), s = (null), rid = [77]"WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~de-DE~7.6.7600.256.Aux", rah = [2]"32", manpath = (null), catpath = (null), ed = 0, disp = 0)[gle=0x80073701]
2014-12-27 00:12:17, Info                  CBS    Failed to pin deployment while resolving Update: Aux from file: (null) [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2014-12-27 00:12:17, Info                  CBS    Failed to resolve item[0] in Package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~de-DE~7.6.7600.256, Update: Aux [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2014-12-27 00:12:17, Info                  CBS    Failed to resolve execution update. [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2014-12-27 00:12:17, Error                 CBS    Failed to resolve execution package: WUClient-SelfUpdate-Aux-AuxComp~31bf3856ad364e35~amd64~de-DE~7.6.7600.256 [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2014-12-27 00:12:17, Info                  CSI    00000354@2014/12/26:23:12:17.320 CSI Transaction @0x4a5460 destroyed
2014-12-27 00:12:17, Info                  CBS    Perf: Resolve chain complete.
2014-12-27 00:12:17, Info                  CBS    Failed to resolve execution chain. [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2014-12-27 00:12:17, Error                 CBS    Failed to process single phase execution. [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]
2014-12-27 00:12:17, Info                  CBS    WER: Generating failure report for package: WUClient-SelfUpdate-Aux-TopLevel~31bf3856ad364e35~amd64~~7.6.7600.320, status: 0x80073701, failure source: Resolve, start state: Absent, target state: Staged, client id: WindowsUpdateAgent
2014-12-27 00:12:17, Info                  CBS    Failed to query DisableWerReporting flag.  Assuming not set... [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2014-12-27 00:12:17, Info                  CBS    Failed to add %windir%\winsxs\pending.xml to WER report because it is missing.  Continuing without it...
2014-12-27 00:12:17, Info                  CBS    Failed to add %windir%\winsxs\pending.xml.bad to WER report because it is missing.  Continuing without it...
2014-12-27 00:12:18, Info                  CBS    Reboot mark refs: 0
2014-12-27 00:12:18, Info                  CBS    SQM: Reporting package change for package: WUClient-SelfUpdate-Aux-TopLevel~31bf3856ad364e35~amd64~~7.6.7600.320, current: Absent, pending: Default, start: Absent, applicable: Installed, target: Staged, limit: Staged, hotpatch status: StillGoing, status: 0x0, failure source: Resolve, reboot required: False, client id: WindowsUpdateAgent, initiated offline: False, execution sequence: 1484, first merged sequence: 1484
2014-12-27 00:12:18, Info                  CBS    SQM: Upload requested for report: PackageChangeBegin_WUClient-SelfUpdate-Aux-TopLevel~31bf3856ad364e35~amd64~~7.6.7600.320, session id: 142859, sample type: Standard
2014-12-27 00:12:18, Info                  CBS    SQM: Ignoring upload request because the sample type is not enabled: Standard
2014-12-27 00:12:18, Info                  CBS    SQM: Reporting package change completion for package: WUClient-SelfUpdate-Aux-TopLevel~31bf3856ad364e35~amd64~~7.6.7600.320, current: Absent, original: Absent, target: Staged, status: 0x80073701, failure source: Resolve, failure details: "(null)", client id: WindowsUpdateAgent, initiated offline: False, execution sequence: 1484, first merged sequence: 1484
2014-12-27 00:12:18, Info                  CBS    SQM: resolve time performance datapoint is invalid. [HRESULT = 0x80070490 - ERROR_NOT_FOUND]
2014-12-27 00:12:18, Info                  CBS    SQM: stage time performance datapoint is invalid. [HRESULT = 0x80070490 - ERROR_NOT_FOUND]
2014-12-27 00:12:18, Info                  CBS    SQM: execute time performance datapoint is invalid. [HRESULT = 0x80070490 - ERROR_NOT_FOUND]
2014-12-27 00:12:18, Info                  CBS    SQM: Upload requested for report: PackageChangeEnd_WUClient-SelfUpdate-Aux-TopLevel~31bf3856ad364e35~amd64~~7.6.7600.320, session id: 142862, sample type: Standard
2014-12-27 00:12:18, Info                  CBS    SQM: Ignoring upload request because the sample type is not enabled: Standard
2014-12-27 00:12:18, Info                  CBS    Enabling LKG boot option
2014-12-27 00:12:18, Info                  CBS    Exec: End: nested restore point - complete.
2014-12-27 00:12:18, Info                  CBS    Restored system sleep block state: 0x80000000
2014-12-27 00:12:18, Info                  CBS    Exec: Processing complete.  Session: 30417249_1631225687, Package: WUClient-SelfUpdate-Aux-TopLevel~31bf3856ad364e35~amd64~~7.6.7600.320 [HRESULT = 0x80073701 - ERROR_SXS_ASSEMBLY_MISSING]

I would be greatful for any suggestions - thank you.

windows-7
64-bit
windows-update
updates
asked on Super User Dec 26, 2014 by nsandersen

2 Answers

1

magicandre1981's suggestion in the comments worked:

Do an in-place upgrade to fix WinSxS issues.

magicandre1981 Dec 27 '14 at 7:26

After a year I figured it was OK to add your answer as the answer!

answered on Super User Mar 17, 2016 by nsandersen • edited Jun 12, 2020 by Community
0

I'm not sure if this was ever properly answered, but the solution to this is as follows:

1) From elevated command prompt, run:

DISM.EXE /online /get-packages

DISM should return an entry similar to the following:

Package Identity : Package_for_RollupFix~31bf3856ad364e35~amd64~~15063.674.1.8
State : Installed
Release Type : Security Update
Install Time : 10/11/2017 2:39 AM

2) Select the full Package_for_RollupFix~ ... string shown above and right-click the command prompt to copy it.

Next, run the following, having pasted the previously copied string after /PackageName:

DISM.EXE /online /Remove-Package /PackageName:Package_for_RollupFix~31bf3856ad364e35~amd64~~15063.674.1.8

This essentially removes all previously installed cumulative updates on the device and will take about 30-45 minutes. You can monitor the progress in the C:\Windows\Logs\CBS\CBS.log

Once complete, a reboot is required. Once rebooted, you should be able to install the latest cumulative update.

As a side note, if anyone knows someone at Microsoft that can look at this post, the solution to this problem is simple. They're using old Windows 7 update logic that looks for the assembly file for a particular update previously installed. If it's not there, it fails. The problem is that you don't need it to install a cumulative update. The update agent should simply bypass these unnecessary checks and install the damn update. The latest update installs nearly EVERYTIME you remove the previous rollup bundle applied to the device, which essentially returns the machine to an unpatched state anyways. So, with that in mind, why would a cumulative update ever be expected fail simply because a previously installed update's assembly file is missing? It makes zero sense as the latest update supersedes it and does not consider it an actual prerequisite (otherwise the latest cumulative update wouldn't install on an unpatched machine until previous updates were).

Truthfully, I'm not sure if this is a logic issue associated with an antiquated Windows Update agent that has not been fully optimized to take into account the way Windows 10 updates differ from previous updates released by Microsoft, or if this error is simply the result of a design / concept failure of the Windows Update Agent itself. Either way, it needs to be revisited because, quite honestly, updates should fail for very few reasons, most of which should be attributed to access restrictions of some variety (can't access a file, file in use, etc). Not silly pre-reqs. This goes especially for security updates. With a security update, you know that a particular file is vulnerable when loaded into memory. If the update can locate the file and access it, very little should prevent the update from downloading, unpacking and replacing. I feel this is one reason why Microsoft OS's are continually exploited: High degree of patching failure.

answered on Super User Oct 20, 2017 by WKJ • edited Oct 20, 2017 by WKJ

User contributions licensed under CC BY-SA 3.0