0XC0000269

STATUS_ILLEGAL_DLL_RELOCATION Fix: 0xC0000269 Error

Windows Errors Intermediate 👁 0 views 📅 Jun 1, 2026

This error shows when a system DLL can't load at its expected address, often after a Windows update or bad software install. Here's how to fix it.

You're in the middle of launching an app—maybe QuickBooks, maybe an old printer driver utility, or some line-of-business software your company depends on—and boom, you get the error: STATUS_ILLEGAL_DLL_RELOCATION (0xC0000269). The message says the system DLL was relocated in memory, but that's geek-speak for 'something went wrong loading a critical DLL.' I've seen this most often after a Windows feature update (like the 22H2 update) or after installing a security patch that changed how memory is mapped. Sometimes it's a badly written app that tries to patch a system DLL at a hard-coded address that's now taken.

What Actually Causes This

Every Windows system DLL (like kernel32.dll, user32.dll, ntdll.dll) expects to load at a specific base address in memory. When that address is already occupied—by another DLL, by a driver, by a piece of malware, or by a memory layout change from an update—Windows tries to relocate the DLL to a free spot. But some DLLs, especially old ones or those with hard-coded jumps, can't handle relocation. They crash with this error. It's rare but nasty when it hits.

Had a client last month whose entire print queue died because of this—an old HP driver DLL conflicted with a Windows security update. Took me two hours to trace it.

Fix It: Step by Step

  1. Identify the offending app or driver. Look at the error details. If it mentions a specific DLL name (like hpz3lw5u.dll or mfc42.dll), that's your culprit. Check the Application Event Log (eventvwr.msc) under Windows Logs > Application for events with ID 1000 or 1001 referencing 0xC0000269. You'll see the faulting module.
  2. Reinstall the app that triggers the error. Uninstall it, reboot, then install the latest version from the vendor. Don't use an old installer sitting on a network share—grab the newest release. Old installers often ship DLLs that don't like modern Windows memory layouts.
  3. Run SFC and DISM. Open Command Prompt as Administrator and run:
    sfc /scannow
    If it finds corrupted files but can't fix all of them, then run:
    DISM /Online /Cleanup-Image /RestoreHealth
    Reboot after both. This fixes cases where a Windows update left a system DLL in a weird state.
  4. Check for malware that hooks DLLs. Some malware (especially rootkits or adware) inject hooks into system DLL base addresses. Run a full scan with Windows Defender (offline scan) and Malwarebytes. I once had a client where a browser hijacker caused ntdll.dll to relocate, triggering this error on every app launch.
  5. Update or roll back drivers. If the error appears with a specific piece of hardware (printers, scanners, old USB devices), update the driver from the manufacturer's site. If the problem started after a Windows update, try rolling back the driver in Device Manager. Go to the device, right-click, Properties > Driver > Roll Back Driver. Not always available, but worth a shot.
  6. Clear DLL caches. Run Disk Cleanup (cleanmgr) and check 'Temporary files' and 'Delivery Optimization Files'. Also delete the contents of C:\Windows\Temp and %TEMP% (old temp files can mess with DLL loading). Reboot.
  7. Last resort: System Restore or repair install. If nothing else works and the error appeared recently, run System Restore to a point before the problem started. If that fails or isn't available, you can do an in-place upgrade using Windows 10/11 Media Creation Tool—it reinstalls Windows while keeping your apps and files. It's a pain but it clears out corrupted system file mappings.

Still Failing? Check These

  • Application compatibility mode. Right-click the app's .exe, go to Properties > Compatibility, and try Windows 7 or Windows 8 mode. Some old apps hard-code DLL addresses that Windows 10/11 no longer reserve.
  • Third-party antivirus. Disable it temporarily. AV software sometimes reserves memory ranges that conflict with system DLLs. If the error goes away, add an exclusion for the app's folder.
  • Check for multiple copies of the same DLL. Use Process Explorer (from Sysinternals) to see if the app loads a DLL from an unexpected path. Right-click the app process, Properties, and check the DLL list. If you see a system DLL loading from the app's folder instead of C:\Windows\System32, that's your problem—delete the rogue copy (after backing it up).

This error is a pain because it's not common, and the fix depends on what exactly triggered it. But nine times out of ten, it's a software reinstall or a Windows file repair that does the job. If you're still stuck after these steps, post the exact DLL name from the error—that'll point us straight to the fix.

Was this solution helpful?