ติดตั้ง .NET Framework 4.7.2 (Online/Offline Installer) บน Windows Server 2012 R2 ได้ Error: 0x80092004 — Cannot find object or property พร้อมกับ Error ใน Event Viewer: Couldn't find the hash of component: NetFx4-PenIMC ใช้เวลานานหาแก้ ทราบภายหลังว่า เกิดจาก Error ใน .NET Framework 3.5 ที่ติดตั้งอยู่ (หรือ Updates ของมัน) บล็อกการติดตั้ง .NET 4.7.2 พบ Workaround ที่แก้ได้ อธิบายไว้ที่นี่
วิธีแก้ Error 0x80092004 (CRYPT_E_NOT_FOUND)
- ไปที่ https://www.catalog.update.microsoft.com ค้นหา KB4340558
- ดาวน์โหลด 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)
- จะได้ 3 ไฟล์ MSU ดาวน์โหลดทั้งหมดเก็บไว้
c:\Distr\update:
windows8.1-kb4338415-x64_cc34d1c48e0cc2a92f3c340ad9a0c927eb3ec2d1.msu
windows8.1-kb4338419-x64_4d257a38e38b6b8e3d9e4763dba2ae7506b2754d.msu
windows8.1-kb4338424-x64_e3d28f90c6b9dd7e80217b6fb0869e7b6dfe6738.msu - Extract MSU Files:
expand -f:* c:\Distr\update\*.msu c:\Distr\update\extract - ใน
C:\Distr\update\extractจะได้หลายไฟล์ ต้องการแค่ CAB Files Integrate เข้า Windows Image ด้วย DISM (Restart หากต้อง):
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" - หาก Error 0x80092004 เกิดระหว่างติดตั้ง CAB ไหน (เช่น KB4338419) ให้ Uninstall แล้ว Install ใหม่:
dism /online /remove-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab"
dism /online /add-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab"
ในกรณีของผม ต้อง Install/Remove KB4338419 สองครั้งติดกันจน Error หาย - Restart Server → ลองติดตั้ง .NET 4.7.2 ใหม่ → ติดตั้งสำเร็จโดยไม่มี Error → ลบไฟล์ใน C:\Distr\update\
ปัญหานี้ใน Windows 8 แก้ได้ด้วยวิธีเดียวกัน