Running sfc /scannow will only check and repopulate missing or corrupted files in the %Systemroot%\system32\dllcache folder.
Running sfc /scannow will not replace any missing or corrupt files in any other folder.
If your system is not afflicted in some way, learn how Windows File Protection and System File Checker really work, by doing this:
Navigate to c:\windows\system32 and rename taskmgr.exe to taskmgr.old.
Windows File Protection will quickly and silently replace the "missing" taskmgr.exe file with the backup copy from the dllcache folder (that is what Windows File Protection does).
Look for a message like this in the Event Viewer System log:
Event Type: Information
Event Source: Windows File Protection
Event Category: None
Event ID: 64002
Description:
File replacement was attempted on the protected system file c:\windows\system32\taskmgr.exe. This file was restored to the original version to maintain system stability. The file version of the system file is 5.1.2600.5512.
Delete the taskmgr.old file (the copy make earlier) and verify that Task Manager still works.
Boot the system in Safe Mode so that Windows File Protection is not running.
Navigate to c:\windows\system32 and rename taskmgr.exe to taskmgr.old (taskmgr.exe is now "missing").
Since Windows File protection does not run in Safe Mode, taskmgr.exe will not automatically be replaced like it was before and Task Manager will not launch either from CTRL-ALT-DEL or from the Taskbar.
It should also be noted that running sfc /scannow in Safe Mode will result in an error like this:
Windows File Protection could not initiate a scan of protected system files.
The specific error code is 0x000006ba [The RPC server is unavailable.].
You cannot start the RPC Server in Safe Mode either.
It is a waste of time and effort to suggest trying to run sfc /scannow in Safe Mode - it will not even launch.
Conclusion: Trying to run sfc /scannow in Safe Mode is a waste of time.
Boot the system normally and verify that c:\windows\system32\taskmgr.exe is still missing and Task Manager still does not work.
You can navigate to c:\windows\system32\dllcache (where the backup files are) and still launch Task Manager from there by double clicking the backup copy of taskmgr.exe file from there, but Task Manager will not launch in the "usual" manners.
Run sfc /scannow successfully and let it complete and it should find nothing to do. The only messages in the Event Viewer will be from when sfc /scannow started and when sfc /scannow completed.
If you try to launch Task Manager now, Task Manager will still not work because taskmgr.exe will still be missing from the c:\windows\system32 folder. That means running sfc /scannow did not replace the missing file.
Conclusion: Running sfc /scannow will not replace missing files in the c:\windows\system32 folder.
Copy some boring text file like c:\boot.ini into the c:\windows\system32 folder and call the copy taskmgr.exe. Now, the taskmgr.exe file is no longer "missing", but taskmgr.exe is "corrupt" since it is really just a text file.
Run sfc /scannow successfully and let it complete and it should find nothing to do. The only messages in the Event Viewer will be the one from when sfc /scannow started and when sfc /scannow completed.
If you try to launch Task Manager now, Task Manager still will not work because the taskmgr.exe is really just a copy of c:\boot.ini.
Conclusion: Running sfc /scannow will not replace "corrupted" files in the c:\windows\system32 folder.
Now learn what running sfc /scannow really does (it maintains the %Systemroot%\system32\dllcache folder).
Navigate to c:\windows\system32\dllcache and rename taskmgr.exe to taskmgr.old (now the backup copy of the file is "missing").
Run sfc /scannow successfully and let it complete and it will replace the missing taskmgr.exe file in the dllcache folder. The
only messages in the Event Viewer will be from when sfc /scannow started and when sfc /scannow completed.
Conclusion: Running sfc /scannow will populate the dllcache folder when Protected Files are missing in the dllcache folder.
In other words, sfc /scannow will only replace missing files from %Systemroot%\system32\dllcache.
Repeat the test by copying the c:\boot.ini file into c:\windows\system32\dllcache and replace or overwrite the taskmgr.exe file (making
the copy of taskmgr.exe "corrupted").
Run sfc /scannow successfully and let it complete and it will replace the "corrupted" taskmgr.exe file in the dllcache folder. The
only messages in the Event Viewer will be from when sfc /scannow started and when sfc /scannow completed.
Conclusion: Running sfc /scannow will populate the dllcache folder when Protected Files are corrupted in the dllcache folder.
Do, or do not. There is no try.
Somebody please tell me how to prepare figgy pudding as these children keep saying they won't go until they get some.
I decided to save up points for a new puppy instead of a pony!