Skip to content
PC Moment
PC Repairs

Windows Host Process (Rundll32) Has Stopped Working: How to Fix It

Rundll32 crashes when a DLL it loads fails. Find the faulting DLL in Event Viewer, then repair system files, update drivers or remove the program that owns it.

By PC MomentUpdated 7 min read

PC Moment title card for Rundll32 Has Stopped Working

“Windows host process (Rundll32) has stopped working” means a DLL that Windows or one of your programs asked Rundll32 to run crashed. Rundll32 itself is rarely the problem. The fastest fix is to find the faulting DLL in Event Viewer, then update, repair or remove whatever it belongs to.

The steps below work on Windows 11 and Windows 10. Start with the diagnosis, because it usually points straight at the right fix.

What rundll32.exe is

Microsoft describes Rundll32 as the Windows command that “loads and runs 32-bit dynamic-link libraries (DLLs)”. It can only call functions from a DLL that was written to be called by Rundll32. Windows uses it for small jobs stored in DLLs, such as rundll32 printui.dll,PrintUIEntry, which opens the printer user interface. Installed programs, driver utilities and scheduled tasks use it the same way.

That’s why the error is so vague: Rundll32 is only the host. The crash happens in the DLL it loaded.

What causes “Rundll32 has stopped working”

  • A third-party DLL that crashes, often from a driver utility (graphics, audio, printer), a shell extension or an app you recently installed or updated.
  • Corrupted Windows system files that a Windows DLL depends on.
  • An outdated or broken driver whose control panel or helper runs through Rundll32.
  • Malware. Rundll32 is a legitimate Windows program, but Microsoft’s security researchers have documented attackers using it to launch malicious DLLs.

Quick-fix summary

FixWhen it helpsTime / risk
1. Find the faulting DLLAlways do this first5 minutes, no risk
2. Update or remove the program that owns the DLLThe DLL isn’t a Windows file10 minutes, low risk
3. Repair Windows with DISM and sfcThe DLL is a Windows file, or you can’t tell15–30 minutes, low risk
4. Update or roll back driversThe DLL belongs to a driver, or the error started after a driver update10 minutes, low risk
5. Clean bootThe error appears at startup and you can’t tell what starts it20 minutes, medium (changes startup settings)
6. Scan for malwareOdd behavior, or the file isn’t the Microsoft-signed copy15+ minutes, no risk

How to fix Rundll32 has stopped working

Fix 1: Find the faulting DLL in Event Viewer

Every crash of this kind is logged. Microsoft’s crash guidance says Event ID 1000 with the Error level in the Application log “is the actual application crashing event”, and it points to the faulting module.

  1. Right-click Start and select Event Viewer.
  2. Go to Windows Logs > Application.
  3. In the right pane, select Filter Current Log, type 1000 in the event ID box and select OK.
  4. Open the newest Application Error event that lists rundll32.exe as the faulting application.

The lines you care about look like this:

Faulting application name: rundll32.exe, ...
Faulting module name: <name>.dll, ...
Exception code: 0xc0000005
Faulting module path: <full path to the DLL>

The Faulting module path tells you who owns the DLL. A path under C:\Program Files or C:\Program Files (x86) points to an installed program or driver package.

You can pull the same events in PowerShell:

Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1000} -MaxEvents 10 | Format-List TimeCreated, Message

This lists the 10 most recent crash events with their full text.

Note: Microsoft points out that core Windows modules such as ntdll.dll, kernel32.dll and kernelbase.dll often show up as the faulting module because they get caught as victims of corruption caused by another module. If you see one of those, go to Fix 3 and Fix 5 rather than replacing the file.

Prefer a timeline? Press Windows + R, type perfmon /rel and press Enter. This starts Reliability Monitor, which shows your PC’s reliability and problem history, so you can see when the crashes began.

Fix 2: Update, repair or remove the program that owns the DLL

If the faulting DLL lives in a program’s folder:

  1. Check the program’s website for an update and install it.
  2. If there’s no update and the program has its own repair option, run it.
  3. If the crash continues and you don’t need the program, uninstall it from Settings > Apps and restart.

You can also see which DLL each running Rundll32 process was asked to load:

Get-CimInstance Win32_Process -Filter "Name='rundll32.exe'" | Select-Object ProcessId, ExecutablePath, CommandLine

The CommandLine column shows the DLL and function name, for example rundll32.exe somefile.dll,SomeFunction. Run PowerShell as administrator to see processes from all accounts.

Fix 3: Repair Windows system files with DISM and sfc

Important: These commands need an elevated Command Prompt. Search for Command Prompt, select Run as administrator, then Yes. Our guide to the elevated command prompt shows other ways to open one.

Run DISM first. It repairs the Windows component store that sfc uses as its source:

DISM.exe /Online /Cleanup-image /Restorehealth

When it finishes, run System File Checker:

sfc /scannow

Keep the window open until the scan reaches 100%. “Windows Resource Protection found corrupt files and successfully repaired them” means it fixed something; restart and check whether the error is gone.

Fix 4: Update or roll back the driver

If the DLL belongs to a driver package (graphics, audio, printer and touchpad utilities are common), or the error began right after a driver update:

  1. Right-click Start and select Device Manager.
  2. Expand the device’s category and right-click the device.
  3. To update, select Update driver > Search automatically for drivers.
  4. To go back to the previous version, select Properties, open the Driver tab and choose Roll Back Driver. This needs administrator rights.

The PC maker’s or device maker’s support page is the other good source for a current driver.

Fix 5: Find the culprit with a clean boot

A clean boot starts Windows with only Microsoft services and no startup apps. If the error stops, a third-party item is responsible.

Important: You need an administrator account. Write down what you disable so you can turn it back on. On a work PC, policies may block these steps, so ask IT.

  1. Search for msconfig and open System Configuration.
  2. On the Services tab, select Hide all Microsoft services, then Disable all, then Apply.
  3. On the Startup tab, select Open Task Manager.
  4. On Startup apps, select each enabled item and choose Disable.
  5. Close Task Manager, select OK in System Configuration and restart.

If the error is gone, turn items back on a few at a time and restart until it returns. The last batch you enabled contains the cause. To go back to normal, open System Configuration, select Normal startup on the General tab, select Enable all on the Services tab, and re-enable your startup apps.

Fewer startup apps also helps if the PC feels sluggish; see how to speed up Windows 11 for more.

Fix 6: Check the file is genuine and scan for malware

First check that Rundll32 is the signed Windows copy:

Get-AuthenticodeSignature C:\Windows\System32\rundll32.exe

A Status of Valid with a Microsoft signer is what you want. A rundll32.exe running from a folder outside C:\Windows, or a command line that loads a DLL from a temp folder, a download folder or a network path, deserves a closer look.

Then run a full scan in Windows Security > Virus & threat protection. For a deeper check, run an offline scan:

  1. Save your work, because the PC restarts.
  2. In Windows Security, go to Virus & threat protection > Scan options.
  3. Select Microsoft Defender Antivirus (offline scan) and start the scan.

When Windows starts again, look under Protection history for results.

If it still doesn’t work

  • Search for the faulting DLL’s name. Its vendor’s support pages may list a known issue or fix.
  • Note the exception code. 0xc0000005 is an access violation and 0xc0000374 is heap corruption. Give these to the vendor or IT along with the event text.
  • Repeated crashes in Windows DLLs after DISM and sfc can point to hardware. Our guide to the memory management blue screen covers testing RAM.
  • A similar host process error appears when Windows troubleshooters crash; see Scripted Diagnostics Native Host.
  • If the PC is also slow or unstable, work through why is my computer so slow, and browse more PC repair guides. When nothing helps, back up your files and contact your PC maker, Microsoft Support or a repair shop.

Frequently asked questions

What is rundll32.exe?

It's a Windows program that loads and runs functions from DLL files. It can only call functions that a DLL was written to expose to Rundll32, so Windows and installed programs use it to start small tasks stored in DLLs.

Is rundll32.exe a virus?

The copy that comes with Windows is a legitimate, Microsoft-signed system file. Attackers do abuse it to load malicious DLLs, so if the error appears together with odd behavior, run a full scan and a Microsoft Defender Offline scan.

Can I delete or disable rundll32.exe to stop the error?

No. It's part of Windows and many components depend on it. Fix the DLL or program that crashes inside it instead; the faulting module in Event Viewer tells you which one.

How do I find which DLL caused the Rundll32 crash?

Open Event Viewer, go to Windows Logs > Application and look for an Application Error event with ID 1000 for rundll32.exe. The Faulting module name and Faulting module path lines name the DLL that failed.

Why does the error come back after a restart?

Something starts the same task again at sign-in, usually a startup app, a scheduled task or a driver utility. A clean boot shows whether a non-Microsoft service or startup app is behind it.

Related guides