Good — your icacls output shows the MSU file already grants Administrators and SYSTEM Full control, so the ACL issue is less likely to be a simple file-owner problem. Next steps target the other common causes for 0x80070228 (ACL/minimum-ACL info) and the earlier 0x800f0991 commit failure: AV / Controlled‑Folder‑Access blocking, the file being “blocked” by Windows, TEMP/expand permissions, or a failing MSU expansion. Follow these steps in order (I’ll give exact copy/paste commands). I’ll wait for your results and will parse any logs you produce.
Important: run all commands in an elevated Administrator PowerShell / Command Prompt.
1) Pause Kaspersky + turn off Controlled Folder Access temporarily
- Pause all Kaspersky protection (real‑time, self‑defense) before proceeding. Don’t uninstall yet.
- Turn Controlled Folder Access off (Windows Security → Virus & threat protection → Ransomware protection → Controlled folder access → Off).
Why: security products or Controlled Folder Access commonly block MSU expansion and cause ACL/permission errors. (We recommended pausing AV earlier when installing MSUs.
2) Confirm the file is not blocked by Windows (Unblock)
PowerShell (Admin):
PowerShell> Unblock-File -Path "C:\Downloads\windows11.0-kb5043080-x64_953449672073f8fb99badb4cc6d5d7849b9c83e8.msu"
Or check by right‑click → Properties → click Unblock if present.
3) Create a clean scratch folder and give Administrators full rights
(Use a folder we control so TEMP/TMP and expand operations aren’t blocked)
Admin CMD / PowerShell:
mkdir C:\Scratch
icacls C:\Scratch /grant Administrators:F /T /C
4) Copy the MSU to the scratch folder (avoid any odd metadata on Downloads)
Admin CMD:
copy "C:\Downloads\windows11.0-kb5043080-x64_953449672073f8fb99badb4cc6d5d7849b9c83e8.msu" C:\Scratch\
5) Set TEMP/TMP to the scratch folder and retry DISM there
In the same elevated window (temporary for this shell only):
set TEMP=C:\Scratch
set TMP=C:\Scratch
DISM /Online /Add-Package /PackagePath:"C:\Scratch\windows11.0-kb5043080-x64_953449672073f8fb99badb4cc6d5d7849b9c83e8.msu"
- If that succeeds, then install KB5070773 the same way (copy its .msu into C:\Scratch and run DISM for it). Often using a scratch folder with explicit rights prevents expansion/ACL failures.
6) If DISM still fails — extract the MSU and install the .cab
This bypasses the MSU expand step which is where the ACL error commonly occurs.
Admin CMD:
mkdir C:\Scratch\KB5043080_extracted
expand -F:* "C:\Scratch\windows11.0-kb5043080-x64_953449672073f8fb99badb4cc6d5d7849b9c83e8.msu" C:\Scratch\KB5043080_extracted
Find the .cab inside (example name: *.cab). Then:
DISM /Online /Add-Package /PackagePath:"C:\Scratch\KB5043080_extracted\<name>.cab"
Repeat for KB5070773 if needed (extract → find .cab → DISM add). Extracting first often avoids expand/ACL problems.
7) If extract fails or you still get errors — capture a small DISM error excerpt and the package list
If any command errors, run these and attach the two small text files (I’ll parse them and give the single next remediation):
Admin PowerShell (after reproducing the failing DISM):
Select-String -Path "$env:windir\Logs\DISM\dism.log" -Pattern 'Error','0x8007','0x800f','Failed' -Context 3,8 | Out-File "$env:USERPROFILE\Desktop\dism_err_excerpt.txt"
dism /Online /Get-Packages > "%USERPROFILE%\Desktop\Packages_full.txt"
Attach dism_err_excerpt.txt and Packages_full.txt and I’ll read the exact failure lines and tell you the one precise next command. (This is the same focused log-extraction approach we used earlier.
8) Other quick checks if you prefer to try them now
- Ensure the MSU is on local NTFS (not FAT, not network). Run: fsutil fsinfo volumeinfo C:\
- Run chkdsk if disk errors are possible: chkdsk C: /F (may schedule a reboot).
- If you still see permission/ACL errors but icacls shows Administrators and SYSTEM Full, check if there are any DENY ACEs on parent folders (icacls C:\Downloads and icacls C:\Scratch).
- As final fallback: perform an in‑place repair (Windows 11 Setup “Upgrade this PC now”) — this reliably repairs servicing stack issues if the manual MSU/CAB path fails. I’ll walk you through that if we get there.
What I want you to run now (recommended order)
- Pause Kaspersky and turn off Controlled Folder Access.
- Run Unblock‑File on the MSU.
- Run the scratch-folder + TEMP approach (steps 3–5). If DISM succeeds, install KB5070773 and reboot.
- If it fails, extract the MSU and DISM the CAB (step 6).
- If still failing, run the DISM excerpt + Packages capture and attach the two files here.
If you want, I’ll wait while you run steps 1–5 and interpret the output live. Otherwise, run step 5 (the DISM commands) and attach dism_err_excerpt.txt and Packages_full.txt and I’ll parse them and give the one exact next action.
Reminder/citation: we previously saw the installers failing at expand/commit and recommended the prerequisite-first or DISM route — I’ll use the small DISM excerpt you produce to choose between “install prerequisite MSU first”, “use extracted CAB”, or “in-place repair” as the single next step.
Which do you want me to wait on and parse now: the DISM output from the scratch-folder attempt, or the dism_err_excerpt + Packages_full.txt if you hit the error again?