Ivo wrote:
The recent programs are stored in HKCU\Software\IvoSoft\ClassicStartMenu\MRU
The frequent programs are stored in HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
THANK YOU!
I was absolutely aware of .\IvoSoft\ClassicStartMenu\MRU and had cleared it out but that alone had not been enough. I'd also been looking at the UserAssist but it wasn't obvious what was stored in there until your reply sent me looking deeper.
For future viewers of this thread, here's a great primer on UserAssist:
https://windowsexplored.com/2012/02/06/a-quick-glance-at-the-userassist-key-in-windows/
And here's the PowerShell lines I've used to clear out the caches in question. Note that per my batch file above I stop both the ClassicMenu and Explorer processes, run this PowerShell and then restart those processes and it seems to work perfectly:
Remove-Item -Path HKCU:"\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\Count"
Remove-Item -Path HKCU:"\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count"
Remove-Item -Path HKCU:"\Software\IvoSoft\ClassicStartMenu\MRU"
New-Item -Path HKCU:"\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}" -Name Count
New-Item -Path HKCU:"\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}" -Name Count
New-Item -Path HKCU:"\Software\IvoSoft\ClassicStartMenu" -Name MRU
A better solution would be a PowerShell script that doesn't delete the actual keys but instead just the values within. For my purposes, however, the above is fine.
Thanks again!
James