Một số người dùng nhận được Mã lỗi 0x800f0954 khi cố gắng cài đặt .NET Framework 3.5 hoặc một tính năng tùy chọn khác trong Windows 10. Hầu hết người dùng báo cáo lỗi xảy ra khi họ thử cài gói qua Windows Features, nhưng người khác gặp lỗi khi dùng công cụ dòng lệnh DISM. Lỗi không dường như độc quyền cho phiên bản Windows cụ thể vì được xác nhận xảy ra trên Windows 7, Windows 8.1 và Windows 10.

Nguyên nhân gây Mã lỗi 0x800f0954?
Chúng tôi đã xem xét vấn đề cụ thể này bằng cách cố gắng tái hiện trên máy test và xem các báo cáo người dùng gặp chính xác vấn đề này. Như kết quả, có một số thủ phạm tiềm năng khác nhau có thể kích hoạt mã lỗi này:
- Máy tính không thể truy cập máy chủ Windows Update – Trong một số trường hợp, thông báo lỗi xảy ra vì hệ thống không thể đến được máy chủ WU. Điều này điển hình trong tình huống có toàn bộ mạng máy tính tham gia domain (domain-joined) được cấu hình tải cập nhật từ máy chủ WSUS. Trong trường hợp này, bạn có thể giải quyết bằng cách bỏ qua WSUS.
- Log CBS của DISM kích hoạt vấn đề – Đôi khi, log CBS được tạo bởi tiện ích DISM có thể chỉ ra vấn đề không thực sự tồn tại. Trong trường hợp này, bạn có thể giải quyết bằng cách xóa log Component Based Servicing và chạy lại lệnh DISM trước đó thất bại với thông báo lỗi này.
- .NET Framework cần cài qua Powershell – Nếu bạn cố gắng cài gói .NET Framework cũ hơn, bạn có thể phải làm từ cửa sổ PowerShell để tránh lỗi 0x800f0954.
- Group policy ngăn cài đặt – Có một chính sách có tiềm năng kích hoạt lỗi cụ thể này nếu nó bị vô hiệu hóa từ Local Group Policy Editor. Nếu áp dụng, bạn có thể giải quyết bằng cách bật chính sách 'Specify settings for optional component installation and component repair' (Chỉ định cài đặt cho cài đặt thành phần tùy chọn và sửa chữa thành phần).
Nếu bạn đang tìm sửa chữa cho lỗi 0x800f0954, bài viết này cung cấp một số bước khắc phục sự cố. Dưới đây, bạn sẽ tìm thấy tập hợp các phương pháp mà người dùng khác trong tình huống tương tự đã dùng thành công để khắc phục vấn đề cụ thể này.
Hãy nhớ các phương pháp dưới được sắp xếp theo hiệu quả và mức độ nghiêm trọng, vì vậy chúng tôi khuyến khích bạn làm theo thứ trình bày. Có khả năng không phải mọi sửa chữa tiềm năng đều áp dụng cho tình huống hiện tại của bạn, vì vậy thoải mái bỏ qua các phương pháp không thể làm theo.
Phương pháp 1: Bỏ qua WSUS
Nếu bạn nhận lỗi 0x800f0954 khi cố gắng cài tính năng Windows tùy chọn, có thể là vì hệ thống không thể truy cập máy chủ Windows Update. Điều này dường như xảy ra cho nhiều người dùng trong tình huống tương tự – đặc biệt là khi có toàn bộ mạng máy tính tham gia domain được cấu hình tải cập nhật từ máy chủ WSUS.
Nếu tình huống của bạn tương tự, có thể vấn đề xảy ra vì máy tính của bạn từng là một phần của mạng domain và cài đặt group policy vẫn còn hiệu lực. Nếu tình huống này áp dụng, bạn có thể giải quyết bằng cách tạm thời bỏ qua máy chủ WSUS. Bạn có thể làm điều này dễ dàng bằng cách thực hiện chỉnh sửa registry sau:
- Nhấn Windows + R mở hộp thoại Run. Gõ "regedit" và nhấn Ctrl + Shift + Enter mở Registry Editor với đặc quyền admin. Khi UAC nhắc, nhấn Yes cấp đặc quyền admin.
- Trong Registry Editor, dùng pane bên trái điều hướng đến vị trí sau:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
Lưu ý: Bạn cũng có thể dán địa chỉ trực tiếp vào thanh điều hướng và nhấn Enter để đến ngay.
- Nếu khóa WindowsUpdate không tồn tại, bạn sẽ cần tạo nó thủ công. Để làm vậy, chuột phải vào khóa Windows, chọn New > Key (Khóa mới) và đặt tên 'WindowsUpdate'. Sau đó, chuột phải vào khóa mới tạo và chọn New > Key và đặt tên khóa mới nhất AU.
- Với khóa AU được chọn, chuyển sang pane bên phải, chuột phải vào khoảng trống và chọn New > String value (Giá trị chuỗi). Tiếp theo, đổi tên giá trị chuỗi mới tạo thành UserWUServer.
- Khi khóa UserWUServer đã được tạo, double-click vào nó và đặt Value Data (Dữ liệu giá trị) thành 0.
- Đóng Registry Editor, khởi động lại máy và xem vấn đề đã giải quyết chưa ở khởi động hệ thống tiếp theo.
Nếu phương pháp này không giải quyết vấn đề hoặc không áp dụng, chuyển sang phương pháp tiếp theo.
Phương pháp 2: Dọn dẹp log CBS
Một số người dùng gặp chính xác vấn đề này báo cáo đã giải quyết sau khi xóa CBS (Component Based Servicing) logs liên quan đến DISM. Sau khi làm vậy và chạy lại lệnh DISM, một số người dùng bị ảnh hưởng báo cáo lỗi 0x800f0954 không còn xảy ra.
Đây là những gì bạn cần làm:
- Mở File Explorer và điều hướng đến vị trí sau:
C:\Windows\Logs\CBS
- Khi đã trong thư mục CBS, chọn mọi thứ ở đó và chọn Delete (Xóa).
- Sau khi mọi file .log và .cab bị xóa, bạn có thể đóng thư mục CBS.
- Nhấn Windows + R mở hộp thoại Run. Gõ "cmd" và nhấn Ctrl + Shift + Enter mở Command Prompt nâng cao. Khi thấy UAC, nhấn Yes cấp đặc quyền admin.

- Trong Command Prompt nâng cao, gõ lệnh sau và nhấn Enter để chạy lại lệnh DISM một lần nữa:
Dism.exe /online /enable-feature /featurename:NetFX3 /source:C:\
- Sau khi nhấn Enter, .NET Framework nên cài đặt không có lỗi 0x800f0954.
Nếu bạn vẫn gặp cùng thông báo lỗi hoặc phương pháp này không áp dụng cho tình huống hiện tại, chuyển sang phương pháp tiếp theo.
Phương pháp 3: Dùng PowerShell cài .NET Framework 3.5
Nếu bạn gặp lỗi 0x800f0954 khi cố gắng cài .NET Framework 3.5 bằng DISM (Deployment Image Servicing and Management), bạn có thể khắc phục thông báo lỗi bằng cách dùng Powershell.
Một số người dùng bị ảnh hưởng báo cáo mã lỗi không còn xảy ra sau khi họ chạy lệnh powershell khắc phục vấn đề. Đây là những gì bạn cần làm:
- Nhấn Windows + R mở hộp thoại run. Gõ "powershell" và nhấn Ctrl + Shift + Enter mở cửa sổ Powershell nâng cao. Khi UAC nhắc, nhấn Yes cấp đặc quyền admin.

- Trong cửa sổ Powershell nâng cao, gõ lệnh sau và nhấn Enter chạy:
Add-WindowsCapability –Online -Name NetFx3~~~~ –Source D:\sources\sxs
- Đóng cửa sổ Powershell nâng cao và khởi động lại máy.
- Ở khởi động hệ thống tiếp theo, thử cài .NET Framework 3.5 một lần nữa và xem vấn đề đã giải quyết chưa.
Nếu cùng lỗi vẫn xảy ra, chuyển sang phương pháp tiếp theo.
Phương pháp 4: Dùng Group Policy Editor
Nếu bạn nhận lỗi 0x800f0954 khi cố gắng thêm RSAT Toolset, có khả năng bạn sẽ cần làm một số thay đổi dùng công cụ Group Policy Editor. Một số người dùng đã giải quyết vấn đề này bằng cách chạy công cụ Gpedit để sửa một số cài đặt liên quan đến Component Installation (Cài đặt thành phần) và Component Repair (Sửa chữa thành phần).
Sau khi bật một chính sách cục bộ nhất định và cho phép OS tải nội dung sửa chữa và tính năng tùy chọn trực tiếp từ WU, một số người dùng báo cáo vấn đề đã giải quyết.
Lưu ý: Hãy nhớ Group Policy Editor không có sẵn cho mọi phiên bản Windows. Nếu bạn dùng Windows 10 Home hoặc phiên bản khác không có nó, bạn sẽ cần làm theo bài viết này (đây) để cài đặt policy editor trên máy.
Nếu bạn có Group Policy Editor trên phiên bản Windows, đây là hướng dẫn nhanh cách làm các chỉnh sửa cần thiết:
- Nhấn Windows + R mở hộp thoại Run. Gõ "gpedit.msc" và nhấn Enter mở Local Group Policy Editor. Nếu UAC nhắc, nhấn Yes cấp đặc quyền admin.

- Khi đã trong Local Group Policy Editor, dùng pane bên trái điều hướng đến vị trí sau:
Computer Configuration\Administrative Templates\System - Sau đó, với System selected, sang pane bên phải và double-click vào Specify settings for optional component installation and component repair.

- Tiếp theo, đặt chính sách thành Enabled (Đã bật) và đảm bảo tích vào ô checkbox liên quan đến Download repair content and optional features directly from Windows Update instead of Windows Server Update Services (USUS) (Tải nội dung sửa chữa và tính năng tùy chọn trực tiếp từ Windows Update thay vì Windows Server Update Services).

- Nhấn Apply lưu cấu hình, đóng Local Group Policy Editor và khởi động lại máy.
- Ở khởi động hệ thống tiếp theo, lỗi không nên còn xảy ra.
Giải pháp 5: Thay đổi giá trị Registry UseWUServer
Nếu không phương pháp nào trên hoạt động, chúng ta sẽ thử thay đổi mục registry UseWUServer và đặt thành disabled. Có vẻ như sau một cập nhật Windows gần đây, khóa này xung đột với dịch vụ Windows update và gây thông báo lỗi đang thảo luận. Đảm bảo bạn đăng nhập với tư cách administrator trước khi tiếp tục và backup registry phòng khi cần.
- Nhấn Windows + R, gõ "regedit" trong hộp thoại và nhấn Enter.
- Khi đã trong registry editor, điều hướng đến đường dẫn sau:
HKLM/Software/Policies/Microsoft/Windows/WindowsUpdate/AU/UseWUServer
- Bây giờ, thay đổi giá trị từ 1 thành 0.
- Sau khi thực hiện thay đổi, khởi động lại máy và bắt đầu dịch vụ cập nhật lại. Kiểm tra xem vấn đề đã giải quyết chưa.