ฉันพบรหัสข้อผิดพลาด 0x80073712 เมื่อพยายามติดตั้งการอัปเดตความปลอดภัยใน Windows Server 2016 ดังที่ฉันพบในภายหลัง ข้อผิดพลาดนี้เกี่ยวข้องกับที่เก็บคอมโพเนนต์ของ Windows ที่เสียหาย ในบทความนี้ เราจะมาดูวิธีการซ่อมแซมที่เก็บส่วนประกอบใน Windows 10 หรือ Windows Server 2016/2012 R2 และคืนค่าการทำงานที่ถูกต้องของบริการ Windows Update
เมื่อพยายามติดตั้งโปรแกรมปรับปรุงใน Windows Update ข้อผิดพลาดปรากฏขึ้น:
Some update files are missing or have problems. We’ll try to download the update. Error code: (0x80073712)
ขั้นแรก ฉันพยายามรีเซ็ตการตั้งค่าเอเจนต์ Windows Update และล้างไดเรกทอรี SoftwareDistribution ตามที่แนะนำในบทความ “วิธีรีเซ็ตการตั้งค่า Windows Update?” แต่ก็ไม่ได้ผล
จากนั้นใช้ dism /online /get-packages
คำสั่ง ฉันตรวจสอบว่าการอัปเดตระบบทั้งหมดอยู่ใน ติดตั้งแล้ว รัฐ.
หากการอัปเดตใด ๆ อยู่ระหว่างการติดตั้ง สถานะ คุณสามารถลบออกได้อย่างถูกต้องโดยใช้คำสั่ง DISM นี้ (ใช้สตริงเอกลักษณ์ของแพ็คเกจ):
DISM.exe /Online /Remove-Package /PackageName:Package_for_KB4520724~31bf3856ad364e35~amd64~~14393.3320.1.1 /quiet /norestart
ฉันใช้เวลานานพอสมควรในการหาวิธีแก้ไขข้อผิดพลาด Windows Update นี้ แต่ระหว่างการแก้ไขปัญหา ฉันต้องติดตั้ง .Net Framework 3.5 บน Windows Server 2016 ระหว่างการติดตั้งคอมโพเนนต์ .Net ด้วยคำสั่ง DISM ข้อผิดพลาดทั่วไป ปรากฏว่าให้กุญแจสำคัญในการดำเนินการต่อไป:
The request to add or remove features on the specified server failed. Installation of one or more roles, role services or features failed. The component store has been corrupted. Error: 0x80073712.
ในเวลาเดียวกัน คุณจะพบข้อผิดพลาดต่อไปนี้ใน CBS.log (%WinDir%\Logs\CBS\CBS.log):
[HRESULT = 0x80073712 - ERROR_SXS_COMPONENT_STORE_CORRUPT]
อย่างที่คุณเห็น ที่เก็บส่วนประกอบบนคอมพิวเตอร์ของคุณเสียหายด้วยเหตุผลบางประการ ดังนั้น Windows Update จึงไม่สามารถรับข้อมูลจากรายการ CBS (Component-Based Servicing) ที่จำเป็นในการติดตั้งโปรแกรมปรับปรุง คุณสามารถกู้คืนที่เก็บส่วนประกอบได้โดยใช้คุณสมบัติ DISM ในตัว
ในกรณีที่ง่ายที่สุด คุณไม่จำเป็นต้องมี Windows ติดตั้งอิมเมจ (ดิสก์) เพื่อกู้คืนที่เก็บส่วนประกอบ จากนั้นระบบจะใช้ไฟล์ที่เก็บส่วนประกอบต้นทางบนดิสก์ในเครื่องของคุณและเว็บไซต์ Windows Update สำหรับการกู้คืน (ไม่สามารถใช้เซิร์ฟเวอร์ WSUS ในเครื่องเพื่อกู้คืนที่เก็บส่วนประกอบได้)
ขั้นแรก ตรวจสอบสถานะที่เก็บส่วนประกอบของคุณด้วยคำสั่ง:
dism /online /cleanup-image /checkhealth
หากคุณเห็น “ที่เก็บส่วนประกอบสามารถซ่อมแซมได้ ” หลังจากการวิเคราะห์ คุณสามารถลองกู้คืนที่เก็บส่วนประกอบของคุณด้วยคำสั่งต่อไปนี้:
dism /online /cleanup-image /restorehealth
ในบางกรณีก็เพียงพอที่จะทำ แต่ในสถานการณ์ของฉัน DISM ส่งคืนข้อผิดพลาดนี้:
Error: 0x800f0906 The source files could not be downloaded.
ในกรณีนี้ ในการกู้คืน Windows คุณต้องมีดิสก์การติดตั้งพร้อมการกระจาย Windows ของคุณ สมมติว่า คุณได้ติดตั้งไฟล์ ISO การติดตั้ง Windows Server ของคุณ จากนั้นตรวจสอบรายการ Windows รุ่นปัจจุบันในไฟล์ install.wim บนอิมเมจที่ต่อเชื่อม (ดิสก์):
dism /Get-WimInfo /WimFile:e:\sources\install.wim
ฉันติดตั้ง Windows Server 2016 Standard (ประสบการณ์ใช้งานเดสก์ท็อป) ไว้แล้ว ดังนั้นฉันจะใช้ดัชนี (2 ) ในคำสั่งต่อไปนี้:
dism /online /cleanup-image /restorehealth /source:e:\sources\install.wim:2 /LimitAccess
ตรวจสอบสถานะของที่เก็บส่วนประกอบอีกครั้ง:
Dism /Online /Cleanup-Image /CheckHealth
DISM ควรส่งคืน:No component store corruption detected
.
หลังจากที่กู้คืนที่เก็บส่วนประกอบแล้ว ให้รีสตาร์ท Windows และตรวจสอบให้แน่ใจว่า Windows อัปเดต