Here's an unexpected answer, I have been searching google for literally hours for this and no one had it but I accidentally figured it out when a Fixit didn't work and referred to a temp file, My temp path I changed in the environment variables to point to a Ram Drive, Seems Trouble Shooter doesn't play nicely with Ram Drives so I put it back to C:TEMP and HAD to reboot (not sure if it would work with temp path set to an external hard drive). Very annoying, I set it to Ram Drive because its faster and it doesn't matter if it gets fragmented.
So many people go on about sfc/scannow which can't possibly fix the problem because its not a cause of files being corrupted.
So go to control panel and look at the top left search box, Type env (you don't have to type the whole work environment) look down click edit system environment variables click yes if asked, look down the window that opens click on Environment Variables and check that the TEMP and TMP Variables are set to your C: drive, I don't remember the default so I set mine to C:TEMP, The default may have been C:WINDOWS\TEMP. Please do not type C:\ the \ seems to cause a problem.
Hope this helps :-), Please let me know.