Błąd 0x80092004 podczas instalowania programu .NET Framework w systemie Windows Server 2012 R2

Wystąpił błąd 0x80092004 - Nie można znaleźć obiektu lub właściwości podczas instalowania programu .NET Framework 4.7.2 przy użyciu instalatorów online i offline w systemie Windows Server 2012 R2. Jednocześnie w dzienniku zdarzeń zapisywany jest błąd „Nie można znaleźć skrótu komponentu: NetFx4-PenIMC”. Długo szukałem rozwiązania tego problemu. Jak się okazało, problem wynika z obecności błędu w komponencie .Net Framework 3.5 (lub w jego aktualizacjach) już zainstalowanego na serwerze, przez co z kolei .NET 4.7.2 nie jest już zainstalowany. Było zupełnie nieoczywiste rozwiązanie, które mi pomogło, zostaw to tutaj.

Aby naprawić błąd 0x80092004 (CRYPT_E_NOT_FOUND) należy ręcznie pobrać dodatki Service Pack dla systemu .NET Framework z katalogu aktualizacji Microsoft.

  1. Wejdź na https://www.catalog.update.microsoft.com i wyszukaj aktualizację KB4340558;
  2. Pobierz aktualizację 2018-07 Pakiet zbiorczy zabezpieczeń i jakości dla .NET Framework 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 dla Windows 8.1 i Server 2012 R2 dla x64 (KB4340558);
  3. Zostaniesz poproszony o pobranie 3 plików MSU. Pobierz je wszystkie i umieść w folderze c: \ Distr \ update:
    windows8.1-kb4338415-x64_cc34d1c48e0cc2a92f3c340ad9a0c927eb3ec2d1.msu
    windows8.1-kb4338419-x64_4d257a38e38b6b8e3d9e4763dba2ae7506b2754d.msu
    windows8.1-kb4338424-x64_e3d28f90c6b9dd7e80217b6fb0869e7b6dfe6738.msu

  4. Teraz musisz rozpakować pliki MSU za pomocą polecenia:
    rozwiń -f: * c: \ Distr \ update \ *. msu c: \ Distr \ update \ extract
  5. Kilka plików pojawi się w katalogu C: \ Distr \ update \ extract. Potrzebujemy tylko plików CAB. Zintegruj aktualizacje CAB z obrazem online systemu Windows Server 2012 R2 za pomocą DISM (jeśli komputer poprosi o ponowne uruchomienie, zrób to):
    dism / online / add-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338415-x64.cab "
    dism / online / add-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab "
    dism / online / add-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338424-x64.cab "
    dism / online / add-package /packagepath:"C:\Distr\update\extract\WSUSSCAN.cab "
  6. Jeśli podczas instalowania dowolnego pakietu CAB za pośrednictwem DISM pojawia się błąd 0x80092004, odinstaluj tę aktualizację za pomocą polecenia (na przykład wystąpił błąd podczas usuwania KB4338419):dism / online / remove-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab "

    A następnie ponownie zainstaluj ten sam pakiet CAB za pomocą polecenia:

    dism / online / add-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab "

    W moim przypadku aktualizacja KB4338419 musiała być instalowana i usuwana 2 razy z rzędu, dopóki błąd 0x80092004 nie zniknął.

  7. Uruchom ponownie serwer i spróbuj zainstalować .Net 4.7.2 - powinien zainstalować się bez błędów. Musisz tylko usunąć pliki z katalogu C: \ Distr \ update \.

Oczywiście w systemie Windows 8.1 problem ten można rozwiązać w podobny sposób..