เมื่อติดตั้ง NET Framework 4.7.2 โดยใช้โปรแกรมติดตั้งออนไลน์และออฟไลน์บน Windows Server 2012 R2 ฉันพบข้อผิดพลาด:0x80092004 — Cannot find object or property
. ในเวลาเดียวกัน “Couldn’t find the hash of component: NetFx4-PenIMC
ข้อผิดพลาด ” ปรากฏในบันทึก Event Viewer ฉันใช้เวลาค่อนข้างมากในการหาทางแก้ไข เมื่อมันปรากฏออกมา ปัญหานี้เกี่ยวข้องกับข้อผิดพลาดใน .Net Framework 3.5 ที่ติดตั้ง (หรือการอัปเดต) ที่ทำให้ .NET 4.7.2 ไม่สามารถติดตั้งได้ ฉันพบวิธีแก้ปัญหาที่ไม่ชัดเจนซึ่งช่วยฉันได้ และฉันจะอธิบายไว้ที่นี่
วิธีแก้ไข 0x80092004 (CRYPT_E_NOT_FOUND)
ข้อผิดพลาด คุณต้องดาวน์โหลดแพ็คเกจการอัปเดต .NET Framework จากแค็ตตาล็อกการอัปเดตของ Microsoft ด้วยตนเอง
- ไปที่ https://www.catalog.update.microsoft.com และค้นหา KB4340558;
- ดาวน์โหลดการปรับปรุง 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 และเซิร์ฟเวอร์ 2012 R2 สำหรับ x64 (KB4340558);
- ระบบจะแนะนำให้คุณดาวน์โหลดไฟล์ MSU 3 ไฟล์ ดาวน์โหลดทั้งหมดและบันทึกลงในโฟลเดอร์ c:\Distr\update:
windows8.1-kb4338415-x64_cc34d1c48e0cc2a92f3c340ad9a0c927eb3ec2d1.msu
windows8.1-kb4338419-x64_4d257a38e38b6b8e3d9e4763dba2ae7506b2754d.msu
windows8.1-kb4338424-x64_e3d28f90c6b9dd7e80217b6fb0869e7b6dfe6738.msu
- จากนั้นแตกไฟล์ MSU โดยใช้คำสั่งนี้:
expand -f:* c:\Distr\update\*.msu c:\Distr\update\extract
- หลายไฟล์จะปรากฏใน C:\Distr\update\extract คุณต้องใช้ไฟล์ CAB เท่านั้น รวมการอัปเดต CAB ลงในอิมเมจ Windows โดยใช้เครื่องมือ DISM (หากจำเป็นต้องรีสตาร์ท ให้ทำ):
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" - หากข้อผิดพลาด 0x80092004 ปรากฏขึ้นขณะติดตั้งไฟล์ CAB ใดๆ ให้ถอนการติดตั้งการอัปเดตนี้โดยใช้คำสั่งต่อไปนี้ (เช่น ข้อผิดพลาดปรากฏขึ้นระหว่างการติดตั้ง KB4338419):
dism /online /remove-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab"
จากนั้นติดตั้งไฟล์ CAB เดียวกันกับคำสั่งนี้:dism /online /add-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab"
ในกรณีของฉัน ฉันต้องติดตั้งและลบ KB4338419 สองครั้งติดต่อกันจนกระทั่งข้อผิดพลาด 0x80092004 หายไป - รีสตาร์ทเซิร์ฟเวอร์ของคุณและลองติดตั้ง .Net 4.7.2 – มันจะติดตั้งโดยไม่มีข้อผิดพลาดใดๆ จากนั้นลบไฟล์ออกจาก C:\Distr\update\.
ปัญหานี้ได้รับการแก้ไขแล้วใน Windows 8 ในลักษณะเดียวกัน