Khi cài đặt NET Framework 4.7.2 bằng trình cài đặt trực tuyến và ngoại tuyến trên Windows Server 2012 R2, tôi gặp phải lỗi: 0x80092004 — Cannot find object or property. Cùng lúc đó, lỗi “Couldn’t find the hash of component: NetFx4-PenIMC” xuất hiện trong nhật ký Event Viewer. Mất khá nhiều thời gian để tìm giải pháp. Như đã tiết lộ, vấn đề liên quan đến lỗi trong .Net Framework 3.5 đã cài đặt (hoặc bản cập nhật của nó) ngăn cản .NET 4.7.2 được cài đặt. Tôi tìm thấy một giải pháp không hiển nhiên giúp tôi và tôi sẽ mô tả nó ở đây.
Để khắc phục lỗi 0x80092004 (CRYPT_E_NOT_FOUND), bạn phải tải xuống gói cập nhật .NET Framework từ Microsoft update catalog thủ công.
- Đi tới https://www.catalog.update.microsoft.com và tìm kiếm KB4340558;
- Tải xuống bản cập nhật 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);
- Bạn sẽ được đề nghị tải xuống 3 file MSU. Tải xuống tất cả và lưu chúng vào thư mục c:\Distr\update:
windows8.1-kb4338415-x64_cc34d1c48e0cc2a92f3c340ad9a0c927eb3ec2d1.msu
windows8.1-kb4338419-x64_4d257a38e38b6b8e3d9e4763dba2ae7506b2754d.msu
windows8.1-kb4338424-x64_e3d28f90c6b9dd7e80217b6fb0869e7b6dfe6738.msu - Sau đó giải nén các file MSU bằng lệnh này:
expand -f:* c:\Distr\update\*.msu c:\Distr\update\extract - Một số file sẽ xuất hiện trong C:\Distr\update\extract. Bạn chỉ cần file CAB. Tích hợp bản cập nhật CAB vào hình ảnh Windows bằng công cụ DISM (nếu cần khởi động lại, hãy làm):
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" - Nếu lỗi 0x80092004 xuất hiện khi cài đặt bất kỳ file CAB nào, gỡ cài đặt bản cập nhật này bằng lệnh sau (ví dụ, lỗi xuất hiện trong quá trình cài đặt KB4338419):
dism /online /remove-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab"
Sau đó cài đặt lại cùng file CAB bằng lệnh này:
dism /online /add-package /packagepath:"C:\Distr\update\extract\Windows8.1-KB4338419-x64.cab"Trong trường hợp của tôi, tôi phải cài đặt và gỡ cài đặt KB4338419 hai lần liên tiếp cho đến khi lỗi 0x80092004 biến mất. - Khởi động lại máy chủ và thử cài đặt .Net 4.7.2 – nó sẽ cài đặt không có bất kỳ lỗi nào. Sau đó xóa tệp từ C:\Distr\update\.
Vấn đề này được khắc phục trong Windows 8 theo cùng một cách.