Resolving Missing or Stubborn System Tray Icons
Posted by William Diaz on April 4, 2012
A co-worker asked me a question recently after a user he was talking with put him on the spot by mentioning that one of the icons in the Windows System Tray, specifically the McAfee tray icon, had gone missing. She thought something was awry and wondered if something was done overnight to her workstation to make it disappear or if we had suddenly decided to get rid of it.
During the lifecycle of the user profile, explorer caches all the system tray icons installed from apps that have a presence here as data values in the registry. Sometimes the data in this key can become bloated (or for whatever other reason becomes a point of contention) and needs to be deleted to resolve issues where an icon does not materialize or simply refuses to be removed after an application has ben uninstalled.
In Windows XP, this data is stored in HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify named IconStreams and PastIconStream as binary data. You can actually open the data in IconStreams and see the contents by scrolling vertically in the edit window for the data:
Resolving the issue above was a simple matter of deleting the two data values, ending the explorer.exe process via the Task Manager and restarting it (this reloads the desktop shell and should update the icons). In some cases, you will need to log off and logon on again to force applications that load at startup to update their presence in the System Tray if they are not present after the two steps above.
In Windows Vista and 7, this data is stored in HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify. You won’t be able to read the data like in the example above as it is now obfuscated with ROT13 encryption. But this is not too difficult to decipher since we are only moving each letter over 13 places and there are utilities galore that will decrypt this.
I recall an early issue with Vista and Windows 7 where the network icon in the System Tray would go missing and I needed to regularly delete the TrayNotify data to get it back.
Last, it should be mentioned that we are talking about missing icons, not hidden. Hidden system tray icon properties are controlled from Taskbar > Properties > Hide inactive icons > Customize in Windows XP or Notification Area Icons in Windows Vista/7. And, finally, if none of these restore your icon, then uninstall and reinstall the application.