When installing NET Framework 4.7.2 using online and offline installers on Windows Server 2012 R2, I came across the error:
0x80092004 — Cannot find object or property. At the same time, the “
Couldn’t find the hash of component: NetFx4-PenIMC” error appeared in the Event Viewer logs. It took me quite a lot of time to find the solution. As it turned out, the issue was related to an error in the installed .Net Framework 3.5 (or its updates) that prevented .NET 4.7.2 from being installed. I found an unevident solution that helped me and I would describe it here.
To fix the
0x80092004 (CRYPT_E_NOT_FOUND) error, you have to download .NET Framework update packages from Microsoft update catalog manually.
- Go to https://www.catalog.update.microsoft.com and search for KB4340558;
- Download the update 2018-07 Security and Quality Rollup for .NET Framework 3.5, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 for Windows 8.1 and Server 2012 R2 for x64 (KB4340558);
- You will be suggested to download 3 MSU files. Download all of them and save them into the folder c:\Distr\update:
- Then extract the MSU files using this command:
expand -f:* c:\Distr\update\*.msu c:\Distr\update\extract
- Several files will appear in the C:\Distr\update\extract. You need CAB files only. Integrate CAB updates into the Windows image using the DISM tool (if restart is required, do it):
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"
- If the 0x80092004 error appears when installing any of the CAB files, uninstall this update using the following command (for example, the error appeared during the installation of KB4338419):
dism /online /remove-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab"
Then install the same CAB file with this command:
dism /online /add-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab"In my case, I had to install and remove KB4338419 two times in a row until the error 0x80092004 disappeared.
- Restart your server and try to install .Net 4.7.2 – it would install without any errors. Then remove the files from C:\Distr\update\.
This issue is fixed in Windows 8 in the same way.