Windows – rundll32.exe invagent.dll eating 100% CPU

rundll32.exewindows 8.1

I am running Windows 8.1 Update in a Parallels VM. After about 5 minutes of inactivity, a rundll32.exe process is spawned and consumes a core. MsMpEng.exe activity also increases. (probably due to lots of IO but I can't confirm) If I interact with the VM in any way, the rundll32.exe immediately exits until I let it idle for another 5 minutes.

Task Manager reports that the command line is C:\Windows\system32\rundll32.exe invagent.dll,RunUpdate

There is no other unusual behaviour on this Windows install.

Update: Further googling has revealed a scheduled task under Microsoft/Windows/Application Experience called ProgramDataUpdater which seems to be the culprit. It's supposed to take care of cleanup after installing/uninstalling programs. I still haven't tracked down the core reason why it's misbehaving. Disabling it is a possible workaround but not a very good one.

Best Answer

Opt out of the Windows Customer Experience Improvement Program and uninstall KB2976978.

The offending invagent.dll is part of Windows Update KB2976978, which seems to be about gathering app compatability telemetry in preparation for Windows 10 upgrades. Only users who opt into the CEI are offered this update.

By uninstalling the update (and opting out so I'm not re-offered it), invagent.dll was removed from my system and the scheduled task.

To opt out:

  • Open Control Panel
  • Navigate to Action Center, Change Action Center Settings, Customer Experience Improvement Program Settings
  • Select, "No, I do not want to participate in the program."

To uninstall the update:

  • Open Control Panel
  • Navigate to Programs and Features, View Installed Updates
  • Locate Update for Microsoft Windows (KB2976978), right click, and select Delete.
  • You will be prompted to restart your computer.
Related Question