Windows 安装程序无法自行更新,错误代码为 0x80073701 ERROR_SXS_ASSEMBLY_MISSING,并且不会加载任何其他更新

Windows 安装程序无法自行更新,错误代码为 0x80073701 ERROR_SXS_ASSEMBLY_MISSING,并且不会加载任何其他更新

另一个症状是它声称从未安装过最新更新。它在某人的 d: 驱动器上不存在的源代码文件中引用了一个空值:

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)

从下面的 CBS.log 可以看出,它找不到 WUClient-SelfUpdate-Core-CoreComp~31bf3856ad364e35~amd64~de-DE~7.6.7600.256 。该包名称中的 de-DE 表示标准德语。安装使用丹麦语。

这是 Windows 7 专业版,因此​​我无法按照 Microsoft 页面上的建议为某些解决方案安装其他语言(只有更大的版本才允许多个语言包)。

我已尝试遵循以下建议: http://support.microsoft.com/kb/971058/en-us

该页面链接的 Fixit 自动故障排除程序确定 Windows Update 需要更新,因此失败。

手动程序在第 11 点失败:安装最新的 Windows 更新代理。因此,它只是实现了禁用互联网访问,直到机器重新启动。提到的文件 gpkcsp.dll、initpki.dll、msxml.dll、muweb.dll、sccbase.dll、slbcsp.dll、wuaueng1.dll、wucltui.dll 和 wuweb.dll 不存在。对于文件 browserui.dll、mshtml.dll、qmgr.dll 和 shdocvw.dll,它表示已加载共享库,但未找到 DllRegisterServer 连接点。

按照指示,我尝试了使用/不使用第 4 点。

我还尝试了使用 Vistalizator 的非传统建议(http://www.froggie.sk/index.html),但安装德语语言包失败。

到目前为止,所有尝试都因标题中的某种错误而失败,即没有效果。

系统更新准备工具报告没有问题并且 sfc /scannow 也报告相同问题。

该问题似乎与人们在安装 SP1 时遇到的一些问题类似,但这台机器已经安装了 SP1。

CBS.log 说:

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]

如有任何建议我将非常感激 - 谢谢。

答案1

magicandre1981 在评论中的建议有效:

做一个就地升级修复 WinSxS 问题。

magicandre1981 2014 年 12 月 27 日 7:26

一年后,我认为可以将您的答案添加为答案!

答案2

我不确定这个问题是否得到过正确的回答,但解决方案如下:

1)从提升的命令提示符运行:

DISM.EXE /online /get-packages

DISM 应返回类似以下内容的条目:

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)选择完整软件包_for_RollupFix~ ...上面显示的字符串,然后右键单击命令提示符来复制它。

接下来,运行以下命令,将之前复制的字符串粘贴到/包裹名字:

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

这实际上会删除设备上所有之前安装的累积更新,大约需要 30-45 分钟。您可以在 C:\Windows\Logs\CBS\CBS.log 中监控进度

完成后,需要重新启动。重新启动后,您应该能够安装最新的累积更新。

附注:如果有人认识微软的某个人可以查看这篇文章,那么这个问题的解决方案很简单。他们使用的是旧的 Windows 7 更新逻辑,该逻辑会查找先前安装的特定更新的程序集文件。如果不存在,则失败。问题是您不需要它来安装累积更新。更新代理应该只是绕过这些不必要的检查并安装该死的更新。几乎每次您删除应用于设备的先前汇总包时,都会安装最新更新,这实际上会使机器返回到未打补丁的状态。因此,考虑到这一点,为什么累积更新会因为先前安装的更新的程序集文件丢失而失败?这毫无意义,因为最新更新取代了它并且不认为它是实际的先决条件(否则最新的累积更新将不会安装在未打补丁的机器上,直到先前的更新完成)。

说实话,我不确定这是否是一个与过时的 Windows 更新代理相关的逻辑问题,该代理尚未完全优化以考虑 Windows 10 更新与 Microsoft 发布的以前更新的不同之处,或者这个错误是否仅仅是 Windows 更新代理本身的设计/概念失败的结果。无论如何,都需要重新审视它,因为坦率地说,更新失败的原因很少,其中大多数应该归因于某种访问限制(无法访问文件、文件正在使用等)。这不是愚蠢的先决条件。这尤其适用于安全更新。通过安全更新,您知道特定文件在加载到内存中时容易受到攻击。如果更新可以找到文件并访问它,那么几乎没有什么可以阻止更新下载、解压和替换。我觉得这是微软操作系统不断被利用的原因之一:修补失败率高。

相关内容