Windows Update 0x80073701 ERROR_SXS_ASSEMBLY_MISSING 解決方法

Windows Updateで0x80073701 ERROR_SXS_ASSEMBLY_MISSINGのエラーがでてしまう件についての一つの解決法についての紹介します。WindowsUpdateに失敗するという事象は結構あるのですが、参考なったサイトがこちら

 

※海外サイトです

https://thatonecomputerguy.wordpress.com/2015/10/06/windows-update-fails-with-error-code-0x80073701-error_sxs_assembly_missing-solved/

 

このエラーコードは(通常)、更新プログラムのインストールに必要な一部のレジストリエントリがCOMPONENTSハイブにないことを示しているそうです。

 

エラー内容の例です。

 

Some lines similar to the following can be found in C:\Windows\Logs\CBS\CBS.log
YYYY-MM-DD HH:MM:SS, Error CSI 0000000c@YYYY/MM/DD:HH:MM:SS.FFF (F) base\wcp\componentstore\csd_locking.cpp(216): Error STATUS_SXS_ASSEMBLY_MISSING originated in function CCSDirectTransaction::LockComponent expression: (null) [gle=0x80004005]
YYYY-MM-DD HH:MM:SS, Error CSI 0000000d (F) STATUS_SXS_ASSEMBLY_MISSING #1683# from CCSDirectTransaction::OperateEnding at index 0 of 1 operations, disposition 2[gle=0xd015000c]
YYYY-MM-DD HH:MM:SS, Error CSI 0000000e (F) HRESULT_FROM_WIN32(ERROR_SXS_ASSEMBLY_MISSING) #1566# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_PinDeployment(Flags = 0, a = dad84541887278134ede27af0d672512, Version = 6.3.9600.17503, 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_KB2976978~31bf3856ad364e35~amd64~~6.3.5.3.2976978-1_neutral_GDR”, rah = [1]”4″, manpath = (null), catpath = (null), ed = 0, disp = 0)[gle=0x80073701]
YYYY-MM-DD HH:MM:SS, Info CBS Failed to pin deployment while resolving Update: Package_1_for_KB2976978~31bf3856ad364e35~amd64~~6.3.5.3.2976978-1_neutral_GDR from file: (null) [HRESULT = 0x80073701 – ERROR_SXS_ASSEMBLY_MISSING]
YYYY-MM-DD HH:MM:SS, Info CBS Failed to bulk stage deployment manifest and pin deployment for package:Package_2_for_KB2976978~31bf3856ad364e35~amd64~~6.3.11.3 [HRESULT = 0x80073701 – ERROR_SXS_ASSEMBLY_MISSING]

 

KBは環境によって変わります。

 

 

重要なエラー箇所は、

ERROR_SXS_ASSEMBLY_MISSING a = dad84541887278134ede27af0d672512, Version = 6.3.9600.17503 … Package_1_for_KB2976978~31bf3856ad364e35~amd64~~6.3.5.3.2976978-1_neutral_GDR
So the missing assembly is something like amd64_dad84541887278134ede27af0d672512_31bf3856ad364e35_6.3.9600.17503_none_ … and it is part of Package_1_for_KB2976978~31bf3856ad364e35~amd64~~6.3.5.3.2976978-1_neutral_GDR

 

解決策は、解決に失敗した部分に示されている更新をダウンロードすることです。
この場合、KB2976978 v5:

 

Failed to pin deployment while resolving Update: Package_1_for_KB2976978~31bf3856ad364e35~amd64~~6.3.5.3.2976978-1_neutral_GDR

 

アップデートがダウンロードされたら、コマンドラインでMSUを抽出します

 

> expand {update name}.msu -f:* {destination folder}

 

インストーラーが.exeファイルの場合、更新プログラムからCABを抽出するには、サードパーティのツール(7-zipなど)を使用する必要がある場合があります。

更新が抽出されたら、DISMと抽出されたCABファイルを使用して更新を再インストールできます:

> DISM.exe /Online /Add-Package /PackagePath:{destination folder}\{update name}.cab

 

次のメッセージが表示されます。
操作は正常に完了しました。
Windowsを再起動して、この操作を完了します。
今すぐコンピュータを再起動しますか(Y / N)?

プロンプトが表示されたら、必ずコンピューターの再起動を許可してください。

※再起動が求められない場合があります

 

別の海外の記事で上記で復旧したという例もありますが、必ず成功するわけではないので、自己責任でお願いします。

 

Anker PowerCore 10000 (10000mAh 最小最軽量 大容量 モバイルバッテリー)【PSE認証済/PowerIQ搭載】 iPhone&Android対応 2020年4月時点 (ブラック)