W obliczu interesującego błędu 0x80073712 podczas instalowania aktualizacji w systemie Windows Server 2016. Jak się później okazało, ten błąd jest związany z uszkodzeniem pamięci komponentów Windows. W tym artykule opisano, jak naprawić składnicę w Windows 10 / 8.1 i Windows Server 2016/2012 R2 i przywrócić Windows Update do działania..
Podczas próby zainstalowania aktualizacji w Windows Update pojawia się błąd:
Brakuje niektórych plików aktualizacji lub występują problemy. Spróbujemy pobrać aktualizację później.
Kod błędu: (0x80073712)
Brakuje niektórych plików aktualizacji lub występują problemy. Spróbujemy pobrać aktualizację.
Kod błędu: (0x80073712)
Przede wszystkim próbowałem zresetować stan usługi Windows Update i wyczyścić katalog SoftwareDistribution zgodnie z zaleceniami z artykułu „Resetowanie Windows Update”, ale to nie pomogło.
Za pomocą polecenia odrzuć / online / pobierz-pakiety
Sprawdziłem, czy wszystkie aktualizacje mają status Zainstalowano.
DISM.exe / Online / Remove-Package /PackageName:Package_for_KB4485447~31bf3856ad364e35~amd64~~10.0.1.1 / quiet / norestart
Przez długi czas decydowałem, jak podejść do tego problemu, ale w ramach rozwiązywania problemów musiałem zainstalować składnik .Net Framework 3.5 w systemie Windows Server 2016. Podczas instalowania komponentu .Net za pomocą DISM pojawił się typowy błąd, który skłonił mnie do dalszych działań:
Żądanie dodania lub usunięcia funkcji na określonym serwerze nie powiodło się. Instalacja jednej lub więcej ról, usług ról lub funkcji nie powiodła się. Składnik komponentów został uszkodzony. Błąd: 0x80073712.
Magazyn komponentów jest uszkodzony. Błąd: 0x80073712.
W takim przypadku możesz znaleźć następujący wiersz w pliku CBS.log (% WinDir% \ Logs \ CBS \ CBS.log):
[HRESULT = 0x80073712 - ERROR_SXS_COMPONENT_STORE_CORRUPT]
Jak widać, z jakiegoś powodu pamięć komponentów systemu jest uszkodzona, w wyniku czego usługa Windows Update nie może odebrać danych z manifestu CBS (obsługa przez komponenty) niezbędnego do zainstalowania aktualizacji. Możesz przywrócić pamięć komponentów za pomocą wbudowanej funkcji DISM.
W najprostszym przypadku podczas przywracania magazynu składników nie jest potrzebny dysk instalacyjny z dystrybucją systemu Windows. W takim przypadku system użyje plików magazynu na dysku lokalnym i witrynie Windows Update do odzyskania (lokalnego serwera WSUS nie można użyć do przywrócenia składników).
Najpierw sprawdź status składnicy za pomocą polecenia:
dism / online / cleanup-image / checkhealth
Jeśli po analizie pojawi się komunikat „Składnik można naprawić”, możesz spróbować przywrócić składnicę za pomocą polecenia:
dism / online / cleanup-image / restorehealth
W niektórych przypadkach to wystarczy. Ale moje narzędzie DISM wygenerowało błąd:
Błąd: 0x800f0906
Nie można pobrać plików źródłowych.
W takim przypadku odzyskiwanie systemu Windows wymaga dysku instalacyjnego z dystrybucją systemu Windows. Załóżmy, że zamontowałeś plik ISO z dystrybucją systemu Windows. Teraz musisz sprawdzić listę bieżących wersji systemu Windows w pliku install.wim na zamontowanym obrazie (dysku):
dism / Get-WimInfo /WimFile:e:\sources\install.wim
W moim przypadku jest zainstalowana edycja systemu Windows Server 2016 Standard (Desktop Experience), więc w następnym poleceniu używam jego indeksu - 2).
dism / online / cleanup-image / restorehealth /source:e:\sources\install.wim:2 / LimitAccess
Sprawdź ponownie stan magazynu składników:
Dism / Online / Cleanup-Image / CheckHealth
DISM powinien zwrócić: Nie wykryto uszkodzenia składnicy.
Po przywróceniu magazynu po prostu uruchom ponownie system Windows i sprawdź, czy aktualizacje i składniki systemu Windows zostały zainstalowane bez błędów.