Windows Server 2016 पर सुरक्षा अपडेट इंस्टॉल करने का प्रयास करते समय मुझे त्रुटि कोड 0x80073712 का सामना करना पड़ा। जैसा कि मुझे बाद में पता चला, यह त्रुटि क्षतिग्रस्त 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 सेटिंग्स कैसे रीसेट करें?" में अनुशंसित अनुसार Windows Update एजेंट सेटिंग्स को रीसेट करने और SoftwareDistribution डायरेक्टरी को साफ करने का प्रयास किया, लेकिन इससे मदद नहीं मिली।
फिर dism /online /get-packages कमांड का उपयोग करके, मैंने जांचा कि सभी सिस्टम अपडेट Installed स्थिति में हैं।

यदि किसी अपडेट की Install Pending स्थिति है, तो आप उन्हें इस DISM कमांड का उपयोग करके सही ढंग से हटा सकते हैं (अपने Package Identity स्ट्रिंग का उपयोग करें):
DISM.exe /Online /Remove-Package /PackageName:Package_for_KB4520724~31bf3856ad364e35~amd64~~14393.3320.1.1 /quiet /norestart
मुझे इस Windows Update त्रुटि को हल करने का तरीका खोजने में काफी समय लगा, लेकिन समस्या निवारण के दौरान मुझे Windows Server 2016 पर .Net Framework 3.5 इंस्टॉल करना पड़ा। DISM कमांड के साथ .Net घटक की स्थापना के दौरान, विशिष्ट त्रुटि दिखाई दी जिसने मुझे आगे की कार्रवाई के लिए कुंजी दी:
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
यदि विश्लेषण के बाद आपको "component store is repairable" संदेश दिखाई देता है, तो आप निम्न कमांड के साथ अपने कंपोनेंट स्टोर को रिकवर करने का प्रयास कर सकते हैं:
dism /online /cleanup-image /restorehealth
कुछ मामलों में यह करना पर्याप्त होता है। लेकिन मेरी स्थिति में DISM ने यह त्रुटि लौटाई:
Error: 0x800f0906 The source files could not be downloaded.
इस मामले में, Windows को रिकवर करने के लिए आपको अपने Windows वितरण के साथ एक इंस्टॉलेशन डिस्क की आवश्यकता होती है। मान लीजिए, आपने अपने Windows Server इंस्टॉलेशन ISO फ़ाइल को माउंट किया है। फिर माउंटेड इमेज (डिस्क) पर install.wim फ़ाइल में वर्तमान Windows संस्करणों की सूची देखें:
dism /Get-WimInfo /WimFile:e:\sources\install.wim

मेरे पास Windows Server 2016 Standard (Desktop Experience) इंस्टॉल है, इसलिए मैं बाद की कमांड में इसके इंडेक्स (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 अपडेट