安裝 KB4041681 和 KB4041083 時發生錯誤碼 0x80073712

安裝 KB4041681 和 KB4041083 時發生錯誤碼 0x80073712

在 Orcale Virtual Box 上的 VM 中執行的 Windows 7 SP1 x86 上發生錯誤。

透過 Windows 更新安裝 KB4041681 和 KB4041083 時發生錯誤代碼 0x80073712。我已嘗試手動安裝這些更新,我已嘗試了幾乎所有我能找到的方法,但無法解決我的問題。當我嘗試安裝 Visual 2017 建置工具或 .NET 4.7 時,我也收到相同的錯誤程式碼。

運行系統檔案檢查器的結果

c:\Windows\System32>sfc /scannow

Beginning system scan.  This process will take some time.

Beginning verification phase of system scan.
Verification 100% complete.
Windows Resource Protection found corrupt files but was unable to fix some of them.
Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example
C:\Windows\Logs\CBS\CBS.log

看起來其他人已經透過發布錯誤及其 CBS.log 獲得了類似錯誤的幫助。在此處上傳了我的 CBS.log 的截斷版本。https://1drv.ms/u/s!Ai9R9F0A3bajhycmT_DyVhzZA9Ww

有四個檔案似乎在日誌中重複出現,因為已損壞

cryptsvc.dll
cryptnet.dll
d3dcompiler_47.dll
wintrust.dll

以下是報告文件損壞的 CBS.log 中的第一個詳細條目。

2017-10-11 13:04:49, Error                 CSI    00000430@2017/10/11:17:04:49.559 (F) d:\w7rtm\base\wcp\primitiveinstallers\fileinstaller.cpp(1482): Store corruption detected in function CFileInstaller::ChangeFileCompression expression: 0
  MissingFileSystemResource on resource [109]"\winsxs\x86_microsoft-windows-cryptsvc-dll_31bf3856ad364e35_6.1.7601.23769_none_785f66471253418f\cryptsvc.dll"[gle=0x80004005]
2017-10-11 13:05:01, Error                 CSI    00000431@2017/10/11:17:05:01.406 (F) d:\w7rtm\base\wcp\primitiveinstallers\fileinstaller.cpp(1482): Store corruption detected in function CFileInstaller::ChangeFileCompression expression: 0
  MissingFileSystemResource on resource [109]"\winsxs\x86_microsoft-windows-cryptnet-dll_31bf3856ad364e35_6.1.7601.23769_none_19790dfc7359acea\cryptnet.dll"[gle=0x80004005]
2017-10-11 13:05:13, Error                 CSI    00000432@2017/10/11:17:05:13.533 (F) d:\w7rtm\base\wcp\primitiveinstallers\fileinstaller.cpp(1482): Store corruption detected in function CFileInstaller::ChangeFileCompression expression: 0
  MissingFileSystemResource on resource [122]"\winsxs\x86_microsoft-windows-directx-d3dcompiler_31bf3856ad364e35_6.1.7601.23796_none_eb8e769493af6438\d3dcompiler_47.dll"[gle=0x80004005]
2017-10-11 13:05:22, Error                 CSI    00000433@2017/10/11:17:05:22.867 (F) d:\w7rtm\base\wcp\primitiveinstallers\fileinstaller.cpp(1482): Store corruption detected in function CFileInstaller::ChangeFileCompression expression: 0
  MissingFileSystemResource on resource [109]"\winsxs\x86_microsoft-windows-wintrust-dll_31bf3856ad364e35_6.1.7601.23769_none_f20e06a81194d8a9\wintrust.dll"[gle=0x80004005]

答案1

@magicandre1981中確定的評論那個cryptsvc.dll, cryptnet.dll& wintrust.dll來自五月匯總

我做了一些谷歌搜索x86_microsoft-windows-directx-d3dcompiler_31bf3856ad364e35_6.1.7601.23796_none_eb8e769493af6438\d3dcompiler_47.dll,這讓我回到了知識庫 4019990在那裡我能夠提取出一份很好的副本d3dcompiler_47.dll

  1. 從更新中提取文件

我第一次使用

expand windows6.1-kb4019264-x86_aaf785b1697982cfdbe4a39c1aabd727d510c6a7.msu -f* c:\temp\kb4019264

然後

cd c:\temp\kb4019264
expand Windows6.1-KB4019264-x86.cab -F:* .\kb4019264\Windows6.1-KB4019264-x86
  1. 代替

我找到了Windows6.1-KB4019264-x86中的每個dll,然後將其複製到C:\Windows\WinSxS中的正確位置。對於每個文件

A。將資料夾和文件的擁有者設定為我自己

e.g. C:\Windows\winsxs\x86_microsoft-windows-cryptsvc-dll_31bf3856ad364e35_6.1.7601.23769_none_785f66471253418f

對我來說,資料夾已經在那裡,只是根本沒有檔案存在。我猜其他人可能會看到資料夾完全丟失或資料夾和文件存在,但文件已損壞。將我自己添加為資料夾的用戶,並通過轉到資料夾屬性並使用“安全性”選項卡上的“高級”按鈕,讓自己完全控制該資料夾

b.將 dll 的良好副本複製到該資料夾。

C。為了一致性和安全性,我將資料夾和剛剛建立的新檔案的擁有者更改回 NT SYSTEM\TrustedInstaller 用戶,並將自己作為該資料夾和檔案的用戶刪除

我現在能夠成功安裝所有待處理的 Windows 更新,包括上面的 KB4041681 和 KB4041083,並安裝 .NET Framework 4.7 和 VS 2017 建置工具。

相關內容