Грешка 0x80092004 при инсталирането на .NET Framework на Windows Server 2012 R2

Изправена грешка 0x80092004 - Не може да се намери обект или свойство при инсталиране на .NET Framework 4.7.2 с използване на онлайн и офлайн инсталатори в Windows Server 2012 R2. В същото време грешката „Не можа да се намери хешът на компонента: NetFx4-PenIMC“ се записва в дневника на събитията. Доста дълго време търсете решение на този проблем. Както се оказа, проблемът се дължи на наличието на грешка в компонента .Net Framework 3.5 (или в неговите актуализации), вече инсталиран на сървъра, поради което, от своя страна, .NET 4.7.2 вече не е инсталиран. Имаше напълно неочевидно решение, което ми помогна, оставете го тук.

За да поправите грешката 0x80092004 (CRYPT_E_NOT_FOUND) трябва да изтеглите ръчно сервизни пакети за .NET Framework от каталога на Microsoft за актуализиране.

  1. Отидете на https://www.catalog.update.microsoft.com и потърсете актуализация KB4340558;
  2. Изтеглете актуализацията 2018-07 Събиране на сигурност и качество за .NET Framework 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 за Windows 8.1 и Server 2012 R2 за x64 (KB4340558);
  3. Ще бъдете подканени да изтеглите 3 MSU файла. Изтеглете ги всички и ги поставете в папката c: \ Distr \ update:
    windows8.1-kb4338415-x64_cc34d1c48e0cc2a92f3c340ad9a0c927eb3ec2d1.msu
    windows8.1-kb4338419-x64_4d257a38e38b6b8e3d9e4763dba2ae7506b2754d.msu
    windows8.1-kb4338424-x64_e3d28f90c6b9dd7e80217b6fb0869e7b6dfe6738.msu

  4. Сега трябва да разархивирате MSU файловете с помощта на командата:
    разгъване -f: * c: \ Distr \ update \ *. msu c: \ Distr \ update \ extract
  5. Няколко файла ще се появят в директорията C: \ Distr \ update \ extraction. Нуждаем се само от CAB файлове. Интегрирайте актуализациите на CAB в онлайн изображението на вашия Windows Server 2012 R2 с помощта на DISM (ако компютърът поиска рестартиране, направете го):
    dism / онлайн / add-package /packagepath:"C:\Distr\update\extract\ Windows8.1-KB4338415-x64.cab "
    dism / онлайн / add-package /packagepath:"C:\Distr\update\extract\ Windows8.1-KB4338419-x64.cab "
    dism / онлайн / add-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338424-x64.cab "
    dism / онлайн / add-package /packagepath:"C:\Distr\update\extract\WSUSSCAN.cab "
  6. Ако грешка 0x80092004 се появи при инсталирането на който и да е CAB пакет чрез DISM, деинсталирайте тази актуализация с помощта на командата (например, възникна грешка при изтриването на KB4338419):dism / онлайн / премахване-пакет /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab "

    И след това инсталирайте отново същия CAB пакет с командата:

    dism / онлайн / add-package /packagepath:"C:\Distr\update\extract\ Windows8.1-KB4338419-x64.cab "

    В моя случай актуализацията KB4338419 трябваше да бъде инсталирана и премахната 2 пъти подред, докато грешката 0x80092004 изчезна.

  7. Рестартирайте сървъра и опитайте да инсталирате. Net 4.7.2 - той трябва да се инсталира без грешки. Просто трябва да изтриете файловете от директорията C: \ Distr \ update \.

Очевидно е, че в Windows 8.1 този проблем може да бъде решен по подобен начин..