When does this error pop up?
You'll see ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 (0x00000499) most often during a Windows Update, a driver installation, or when an installer tries to replace a system file. The exact moment is infuriating—everything looks normal, then boom, the update fails or the installer rolls back. I've seen it happen when Windows Update tries to replace ntoskrnl.exe or a protected DLL like kernel32.dll during a cumulative update on Windows 10 22H2 and Windows 11 23H2.
Root cause in plain English
The error translates to: “I can't move the replacement file to where the old file is.” Windows tries a two-step dance: it writes a new version to a temp folder, then renames/moves it to overwrite the original. But something blocks that move. Common culprits:
- File in use — an antivirus or Windows itself has the target file locked.
- Permission issue — the installer or updater doesn’t have write access to the target folder.
- Corrupted system files — the file’s security descriptor is messed up.
- Antivirus interference — Defender or third-party AV holds the file hostage.
The fix isn't complicated, but you need to do things in order. Skip to the steps that match your situation.
Fix step-by-step
1. Boot into Safe Mode with Networking
Safe Mode loads only essential drivers and services — no third-party antivirus, no extra locks. This is the fastest way to bypass file hold issues.
- Press Win + R, type
msconfig, hit Enter. - Go to Boot tab, check Safe boot, select Network.
- Click OK and restart. Your PC will boot to Safe Mode with networking.
- Retry the update or installer. If it works, you know a background service or AV was the culprit.
2. Check and repair file permissions
If the target file is a system file, it's owned by TrustedInstaller. The installer must have SYSTEM-level access. Use this command to reset ownership and permissions for the file that's failing (replace C:\Path\To\File.dll with the actual path):
takeown /f "C:\Path\To\File.dll" /a
icacls "C:\Path\To\File.dll" /grant "SYSTEM:(F)" /tThen try the update again. I've seen this fix update errors on Windows 11 after a botched in-place upgrade.
3. Run SFC and DISM to repair system corruption
Corrupted system files can break the move operation. Run these from an elevated Command Prompt (right-click Start > Terminal (Admin)):
sfc /scannowLet it finish. If it finds issues but can't fix them, run:
DISM /Online /Cleanup-Image /RestoreHealthThen reboot and try again.
4. Temporarily disable real-time antivirus protection
Windows Defender or third-party AV can hold file locks for scanning. Disable real-time protection temporarily:
- Windows Defender: Go to Windows Security > Virus & threat protection > Manage settings > turn off Real-time protection.
- Third-party AV: Right-click its tray icon and pause protection (usually 15 minutes or 1 hour).
Don't forget to re-enable it after the update.
5. Manually delete the target file (if safe)
If the file isn't critical (like a driver .sys that's stuck), you can delete it, then let the installer create a fresh copy. Open Command Prompt as Admin and use:
del /f /s /q "C:\Path\To\File.dll"Then run the update again. This forces Windows to create a new file from scratch. I've done this for corrupted ndis.sys files with success.
What to check if it still fails
If you've tried all above and it still errors out, look at the Windows Update log. Run this in PowerShell as Admin:
Get-WindowsUpdateLogSearch for 0x00000499 or move replacement. The log shows the exact file path. Also check the System Event Log (Event Viewer > Windows Logs > System) for events with source NTFS or volmgr — they'll tell you if it's a disk error or driver issue. If nothing helps, do an in-place upgrade repair install (keep apps and files) — it replaces the entire OS without wiping your data.
This error is annoying but almost always fixable. Start with Safe Mode — it's the quickest way to rule out interference.