Program Area - Registry Integrity Scan
Able to Reproduce Issue - Always (at least for Help Files)
Severity - Critical.
A user accepting the default CCleaner-recommended action (delete the registry entry), will end up deleting a valid registry value, which points to an existing file belonging to either the operating system itself, or to a properly installed program.
Issue Details:
It appears that CCleaner does not expand environmental variables stored inside of type REG_EXPAND_SZ registry values, before checking if the file path or folder path stored within the registry value actually exists on the system.
Consider the valid paths in the two highlighted registry entries below:
On a default Windows Vista installation, the %SystemRoot% environmental variable will expand to C:\Windows. However, it is possible for the system builder or system administrator to have chosen a different folder name other than "Windows", or a different drive letter other than "C:\" to install the operating system to. Many registry values are of type REG_EXPAND_SZ, which allows the operating system to store a symbolic path which must first be expanded before being referenced.
Below is a Windows Explorer listing of the two files, which indeed exist on Vista, referenced by the above registry settings:
Below are the results of the CCleaner - Registry Integrity Scan, which shows the two existing help files to be missing and labels the registry values as issues when in-fact they are not issues at all.
What's more, the user has no option to ignore these two entries so that they will not appear in future scan results. Thus, each time a Registry Integrity scan is run, the user must be cognizant and careful not to delete the two valid registry entries.
Impact - Unknown
This anomaly has been observed and proven with the Help Files checks. However, CCleaner may behave in a similar manner when scanning other registry values that point to other types of file and folder paths.