rundll32.exe invagent.dll eating 100% CPU

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.


Solution 1:

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.

Solution 2:

Hi I have found this same problem with updating to Win 10 and not a single common answer to this issue worked for me, when my computer would go idle the C:Drive usage would go up to 100% and make any task impossible, leading to manual shutdown by holding the power button. Windows Process explorer would show rundll32.exe and in the properties of this file would be C:\Windows\system32\rundll32.exe invagent,RunUpdate -noappraiser (then random numbers and letters).

Yesterday I installed Take ownership of file supplied in the following link:

(http://www.howtogeek.com/howto/windows-vista/add-take-ownership-to-explorer-right-click-menu-in-vista/) Take ownership of file

And then changed invagent.dll found in system32 to invagent.dll.bak (@beatcracker). I left my computer idle for a few hours and the C:drive 100% problem is now gone and I can use my PC normally again. invagent.dll also known as inventory agent. I have researched and can't seem to find a solid answer for what this dll is used for, but so far I have not had any problem disabling it.

This has stopped my computer from freezing, however, rundll32.exe now opens multiple times in process explorer!? with the file>properties command line reading:

C:\Windows\system32\rundll32.exe invagent,RunUpdate -noappraiser.

With different random numbers and letters at the end of each command line for every rundll32.exe file!?

So I have fixed 100% C:drive problem by changing invagent.dll to invagent.dll.bak. But potentially opened up a new problem that is currently not causing me any issues. I will edit this answer if I have any further issues over the next week, or discover why multiple versions of rundll32.exe are now running.

Thanks, I hope this helps somebody