This problem has been resolved for my Windows PC. In short, the resolution is as follows:
Removed the following entries from Registry:
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes.png\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001_Classes.png\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Note: S-1-5-21-1093094023-394786674-917728732-1001 is the identifier for a specific user on this PC. It just happened to be the account I was having problems with. The “-1001” is key for this discussion as it is a unique identifier for a particular user.
As I stated in the previous post, this problem was only observed on a particular user account. So why restore or reinstall when there is only one irritant user account. Other accounts behaved as they should. What is different about the irritant account versus the other accounts? For the purpose of this explanation the user accounts on this PC are as follows:
- UserA (problem account) – General purpose account, used 95% of the
time. Do most product installations using this account and
Administrator password. Member of Users & HomeUsers Groups.
- User B (not a problem account) – Administrator account, used occasionally as
needed. Member of Administrators Group.
- UserC (not a problem account) – Backup account for general purpose and Administrator account, rarely used. Member of Users & HomeUsers & Administrators Group.
Note: This path or plan of attack for diagnosing this problem is based solely upon on my past experience debugging large real-time systems. A few dead-end trails were taken but no damage done. Others can attack it differently. If this is covered in another thread, please advise.
I had the luxury of being able to identify and isolate the problem on a per user basis. This is what kept me from initiating the “big bang”, start all over, restore from a known checkpoint, etc. that most experts recommend. I tried all the methods that Eugene invoked to no avail. So now, it’s time to drill down into the bits and bytes of the matter and find the offending piece of data and get rid of it. Where do I start? Here are the methods I used based on past experiences.
Explore the Thumbnail Cache Angle
I performed all the clearing and deleting of icon cache and re-associating file type steps given above and suggested and recommended by all the expert sites I visited. No resolution. Then there was some brushing up on the establishment of icon cache. When, where and how is it done. Is there a maximum limit for icon cache? Could it be that UserA has too many file associations and the C:\Users\UserA\AppData\Local\Microsoft\Windows\Explorer location was at it’s limit? One way to explore this was to determine the amount of storage UserA was using versus UserB and UserC. A glance at the respective C:/Users/[UserA|UserB|UserC]/AppData directories shows UserA @ 80GB, UserB @ 4GB and UserC @ 1.5GB. Could that be it? UserA @ 80GB? This led me to the following article - https://winaero.com/change-icon-cache-size-windows-10/. I changed my Max Cached Icons to 4MB as described in the article. Prior to the change I had calculated that the icon cache in the UserA location was not anywhere close to the 500 KB the article mentions but it was worth a try. This change was tried and the issue remained.
Reduce UserA’s Storage Usage
What was the biggest offender? Apple iPhone and iPad backups. Did a most recent backup put me over some limit that caused the breakage? I moved the backup location so that the backups are no longer placed in the C:\Users\UserA\AppData\Roaming directory and redirected it elsewhere. This effectively reduced UserA’s AppData storage utilization from 80GB down to 10GB. Reboot the PC and see what happens. The issue still remains.
Review the Registry – What are These Shellex (Shell Extensions)
Where do I start and what do I look for? Reviewing the Registry turned up many interesting inconsistencies. A bunch of stuff in here for sure but I am somewhat familiar with its contents. After many hours of combing through and experimenting with the entries I started to focus and find anything having to do with “.png”. After all this is the offender so it seemed. Any, actually most, data with the .png extension was presenting a problem for UserA in that any files with the .png extension were only showing some generic icon and not a picture. I emphasize UserA as UserB and UserC did not present the faulty icon issue. After a few hours of review, these entries seemed to be of most interest:
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes.png\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001_Classes.png\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Note: S-1-5-21-1093094023-394786674-917728732-1001 is the identifier for UserA. The “-1001” is key for this discussion as it is a unique identifier for a particular user.
The review of the Registry amongst all the signed-in users only showed these shellex entries for UserA (-1001) but not UserB (-500) or UserC (-1003) for their respective Registry data. Shellex. What is it? Good article here - https://learn.microsoft.com/en-us/windows/win32/shell/reg-shell-exts. The interesting part of the article identified {E357FCCD-A995-4576-B01F-234630154E96} as a Thumbnail image handler. Interesting. Where else is this Shell Extension being implemented? For my PC, this was the result:
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes.bmp\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes.png\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gdoc\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gdraw\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gform\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gjam\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\glink\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gmap\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gscript\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gsheet\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gsite\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gslides\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001\SOFTWARE\Classes\gtable\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001_Classes.bmp\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001_Classes.png\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001_Classes\gdoc\shellex{E357FCCD-A995-4576-B01F-234630154E96}
.
.
.
Computer\HKEY_USERS\S-1-5-21-1093094023-394786674-917728732-1001_Classes\gtable\shellex{E357FCCD-A995-4576-B01F-234630154E96}
Where did they come from? GoogleDrive maybe? I had installed the product back in October sometime but had uninstalled it based on some of the recommendations of the experts that this may be the culprit. Not so in my case. An associated article - https://learn.microsoft.com/en-us/windows/win32/shell/thumbnail-providers - also suggested a method to ignore or bypass the extension (DisableProcessIsolation = 1) via the Registry. This also proved to be a dead-end trail and the problem still existed for UserA only.
Remove (problematic?) Entries from the Registry
As stated at the beginning of this article, removal of the two identified Registry entries for UserA allowed the icon display of the Calculator (Settings, [MS] Store and Photo Viewer as well) in the taskbar. I can now see (as UserA) the calculator icons located in C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_11.2210.0.0_x64__8wekyb3d8bbwe\Assets as picture icons and not some generic icon. For now, I have left the remaining Registry entries for .bmp and [suspected] Google entries as is. I will most likely remove the .bmp entries at a later date as .bmp files did present a problem during this investigation from time to time. I also removed the DisableProcessIsolation = 1 Registry entry given in the Review the Registry paragraph.
In Summation
- Explore the Thumbnail Cache Angle – increasing the Thumbnail Cache allocation did not resolve the issue
- Reduce UserA’s Storage Usage – reducing UserA’s storage did not resolve the issue
- Review the Registry – What are These Shellex (Shell Extensions) – led me to the offending Registry entries
- Remove (problematic?) Entries from the Registry – fixed the problem on my PC
In Conclusion
I did not have to perform the “big bang”, start all over, restore from a known checkpoint, etc. which seems to be the standard “fix” for everything Windows related. In doing this investigation I also happened to stumble across another interesting observation. For most all of UserA’s desktop icons, the arrow on the bottom, lefthand corner was missing. I only happened to notice this as I was rearranging icons for UserB’s desktop to match UserA’s location. I had a snip of UserA’s desktop while doing this and wondered how I could get UserB’s icons to be void of the arrow as well. As it turns out, the removal of the Registry Shell Extension entries for UserA brought back the shortcut arrow for UserA’s desktop icons. So, it would appear that the implementation of the shellex was masking an improper display of desktop shortcut icons for UserA as well. A subtle yet unnoticed change to say the least. At least I’ve gained some knowledge on Shell Extensions as they apply to icon display. I hope this information is of some value to other users experiencing the problem.