Navigation
Popular content
Today's:Active forum topics
Recent comments
|
Systray icons missingTable of contents for this article Result statisticsplease report your results. The ProblemGeneralThe system tray (in short: systray, nowadays also called taskbar notification area) is the icon strip normally located near the right end of the task bar, next to the clock. Some Windows XP installations show a peculiar defect in that some systray icons disappear or, rather, do not appear, when the system is booted and the user logs on. The problem is even more prevalent on systems with autologon. The most frequently affected icons seem to be the speaker icon (sound volume) and the power/energy icon. Hide inactive iconsThis has nothing to do with the hide inactive icons settings. The defect shows up when you don't have any icons set for hiding. In any case, please make sure for now that you haven't activated that setting. Right-click the task bar, click on Properties, uncheck the last check box. You can reactivate it later if all other problems are identified or solved. In Vista, if the Clock, Network, Volume and Power icons have disappeared and when you go into properties on the taskbar and look at "System Icons" under the "Notification Area" tab, Volume, Network, and Power are greyed out, then visit Paul's Forum and run his fixing program. 2006-08-14 – Glenn S. reminds us that, if other icons disappear for good and never reappear, we should check first whether the programs are started at all. Check your Startup folder and the starter registry entries through Start, Run..., type: msconfig, press Enter, to check whether the programs are really started at system start, or use Task Manager (Ctrl + Shift + Esc) to see whether the processes are running. Sound volumeA particular and special problem is that only the sound volume icon disappears, but the others are there. In this case the main solutions below will not work. Instead you have to look at the sound driver. Try to reinstall it. But first read the chapter "Other known causes" further below for some specific symptoms and solutions. Task ManagerThere are a few other problems that can cause similar behavior and can mislead you into believing that they are the same problem. If you are not sure, read the entire article first, because a few more are described later. The ones concerning Task Manager are described in the next chapter, because they can be too easily mistaken for the main problem described in the other chapters. Entire taskbarIf, however, your entire taskbar or any major part of it is missing altogether, then the rest of this article is irrelevant to you. Instead the Kelly's Korner tool Taskbar Plus! may or may not help you. I don't know what exactly it does and can only recommend to use it carefully and to use only the function that pertains to solve your immediate problem, then test the result. The main problemThe main cause of the more common problem appears to be that the systray program is temporarily unable to process icon inclusion requests. An earlier hypothesis, that systray.exe is loaded too late, has been refuted by Thomas Gregory Platt (see his email below). Often, but not always, this seems to be triggered by the UPnP User Interface, but more on that later. (By the way, don't mistake UPnP for PnP, Plug-n-Play, which is mostly a different thing.) Microsoft has not taken notice. The causes are obscure. Some users report successes with various changes that influence the boot and logon timing, but these changes do not reliably solve the problem. Often they make the problem occur less often though and make it bearable. The problem has meanwhile been traced by tasmanian to a flaw in shell32.dll (see his comment "Some updates on this" below). He also devised a patch, which has been successfully tested. Unfortunately the patch is difficult to apply. Be careful not to be fooled by others or by your own brain that may see causality where there is none. People try the weirdest things, then they get all their icons and conclude sharply, but wrongly, that whatever they did solved the problem. About the weirdest and totally wrong recommendation I have seen was to switch off your computer and let it sit without power for three hours. Don't fall into such a trap. The web has a lot of snake oil, particularly in relation to the problem of the disappearing systray icons. Then there is the fact that some change solves the problem, just by changing the boot and logon process sequence or timing a little bit. Thus I receive hundreds of emails, detailing ever more different solutions to the problem, each of which has been tried and worked on one computer. We have to suspect that each of these many solutions works only on a few computers. If defragmenting the hard disk can solve the problem for some, then anything can solve it, and the solution may not be long-lived either. Task Manager problemsA few special problems concern the Task Manager and its systray icon only, the green one that dynamically shows the CPU load. If your problem is the disappearing Task Manager icon, then read on. If, however, other systray icons disappear as well, then you should first skip this chapter and continue with the next. Mike Newhall contributed the following information on 2005-12-10. Thanks a lot, Mike! One problem is the disappearance of the Task Manager systray symbol when you start Task Manager the second time or subsequent times. This problem appears to be related to the Classic desktop theme. When you change your desktop to the XP style, the problem no longer occurs. Do this for a test. The cause is as yet unknown. The simplest workaround is to never close Task Manger. Another problem is that the icon or the entire Task Manager never appears at all. This can be caused by a registry setting that is not present in a default installation:
You can set this value to zero or, to recreate the default situation, remove the value entirely. To have the value removed automatically, click here and give permission when asked. In fact, the entire System key does not exist in a default installation, so you can even delete that key if you are sure there's nothing in it that you need. Two simple workaroundsIf any of these solve your problem, please report here. Log off, log on againNow we're getting back to the main problem, the sporadic missing of various icons, particularly after the first logon after booting. Typically missing are the power icon or the sound volume icon, but many others can be affected just as well. The immediate workaround is to log off and log on again (do not reboot, only log off). In many cases the icons then reappear. If not, you can try to repeat the procedure until you have all of them. If this works, then most likely you have the central problem described in this article. Wait a minute!The other workaround is, the next time you boot your computer, wait for a full minute after the logon dialog appears or, better, watch the hard disk light and wait until disk activity subsides entirely for at least 5 seconds. Only then log on and check whether this solves your problem. On two of my computers this solves the problem entirely, even though other workarounds, like the systray_cleanup.reg file mentioned below, don't work. This also means that you have to log on as quickly as possible when you're trying to test other workarounds. 2006-02-03 – Eric Maier mentioned that you can only delay the logon when you have at least two active user profiles to log on to, or one with a password. If you have neither, the logon prompt wouldn't appear, and there would be no delay. And, as a final remark, retest from time to time whether the problem has disappeared on its own, particularly after installing a service pack. The most successful workaroundsSome excerpts from the many mails I have received Wow, after over a year of having this problem. And general slow/buggy operation of winxp. I finally reinstalled, only to have the same problem on a clean machine (made even worse by SP2 this time). Weeks of steady research into this problem and I came across your page ... I disabled upnp almost 2 weeks ago and have had no problems with my computer since. This has solved strange out of memory errors, dialog boxes missing buttons, and many other strange issues. I don't know why it happens on my particular hardware, and the solution does not make _any_ sense, but it solved it. I have tried virtually every so-called "fix" I could find online,
and NONE of them worked, until today, when someone pointed me to your site.
I tried the "uninstall the UPnP User Interface" fix, and am happy to report
that it worked. All tray icons appeared on reboot. Thanks for the very helpful and time saving article I found on the internet Amazing that the solution from Francesco Saverio Ostuni, such
an obscure and seemingly unrelated setting would restore the icons to the system
tray. My hat is off to him. Thank you so much for your web page on solving the disappearing system tray icons problem. I've looked all over the internet for advice on how to solve the problem and what you wrote was the only thing I found that worked! I am very glad to read your article concerning the Systray
problem. I have been struggling with exactly the same problem for long and Microsoft
could not get at any reasonable solution. UPnP worked for me! Thanks to all. It was driving me crazy ... The Ostuni Workaround This article was a relief to me - I thought I was the only one suffering from "disappearing icons". After years of having my systray icons disappear and playing
with very limited success with msconfig, disabling services and re-installing
apps and numerous rebuilds……. The UPnP suggestion worked for me, amazingly. I have no idea how something so seemingly unrelated could cause such an annoying and difficult to diagnose problem, but many thanks for posting this info on your site! Great! This problem was driving me crazy since over one year and most people didn't even understand what the issue was. Now it works perfectly and I'm really grateful for this tip! Thanks a lot. This problem has been bugging me off and on for many months,
and none of my computer savvy friends and associates could offer any practical
solutions (I figured FDISK was a bit over the top). However, a Google search
brought up about 352,000 hits - and yours was the second. Thanks for putting together this page. The Ostuni Workaround lives up to the hype. You've ended months of frustration and computer problems! Thanks for your article on this, tried the Ostuni method and it totally resolved my missing icons on reboot. Many reboots later no more missing icons. Quite brilliant. I want to thank you for your website and the solution to my
missing systray icons. It is a very rare occasion that I google to an immediate
solution (you were number one using "systray icon missing"!). Usually these
sort of problems are a month long search. very very useful Tried the Ostuni Workaround, so far it's solved the problem. Man, if I hadn't found your site I would have gone crazy over
this. It's the most anoying I've ever experienced. The Ostuni workaround is awesome. I have been trying to figure
this out for ages, since I had XP home and it seems to have carried over to
XP Pro and it is so annoying. I love having a full system tray, and now with
this somewhat fix, it has worked for me!! Like a dream come true, :-) Many thanks for this. The Ostuni workaround worked for me. It was driving me crazy! Great help!!!! The Ostuni Workaround did work for me 100%. I had that problem
for months and it was getting worse … finally decided to try to fix it today
and found your page … my 10 icons are now showing up at every reboot. My good-man Hans, I've tried the systray.reg script and the vbs hack that
delays the startup to avoid "unable to create shell notification icon" error.
Both tricks seem to have worked just fine! The Ostuni Workaround2004-11-11 – Francesco Saverio Ostuni wrote: "... I found a solution for me that works perfectly. I simply went to My network Places and on the left pane I chose to Hide UPnP devices. This operation does not disable the service (which I need)." To see this choice, you have to have Tools, Folder Options, Show Common Tasks selected. This is still one of the most successful and not very intrusive workarounds, so you could try it first. I keep getting emails stating that the Ostuni Workaround worked well and solved the problem. See also the subchapter on some more details below. Cleaning up the registryThe following text contains links to registry setting files, which, except for the first one, are a bit stronger than the straight Ostuni workaround. If you want to check what they do before actually applying them, you can right-click on the link and elect to save the file to your hard disk. Then you can open it with a text editor like the Windows notepad editor and see what they do. After two emails (see emails from Mark Medrano and Ingo Schupp below), the suspicion grows that the PastIconsStream registry entry can grow beyond proportions and hinder the systray icons. The solution is to click on systray_cleanup.reg, confirm the execution, then confirm the registry change, reboot your computer and test. These registry entries can safely be deleted, because Windows automatically recreates them after the next two reboots. By the way, this registry file does about the same as running systray.reg and then systray_undo.reg (see below). 2007-01-16 – Thanks to Haris J. S. for the following information: This and the fixes below reset the inactive icons timers, so for some time like a week or two there will be no inactive icons. They will come back later on their own. More radical: stop UPnP servicesIf the workarounds described don't work for you for any reason, read on. Before we go into the details, if you still want a quick solution and don't mind that a few settings, including any Explorer policies, are reset to their defaults, you can click on systray.reg, confirm the execution, then confirm the registry change, reboot your computer and test. Unlike the softer Ostuni workaround this disables both services, SSDP and UPnP, altogether and also cleans up the registry as described above. Since the Windows Media Player network sharing service depends on the UPnP service, it also gets stopped, so if you need that, you cannot use this workaround. If this still doesn't cut the bill, try this stronger one: systray_plus.reg, and again confirm, reboot, and test. You need to do this only once. The changed registry settings are permanent, until you undo them. If none of the above works for you or if you later need the UPnP services, you can undo the nonstandard changes and reset them to their defaults with systray_undo.reg, but note that any previously removed non-standard settings, like Explorer policies, cannot be reinstated. In a normal installation there shouldn't be any such settings. A reboot is again required to make the change effective. If you've tried these, please report here which one worked or didn't work for you. Please try them in the order below, like this:
Please test more than just once if the problem is sporadic. It is important for all of us to also learn which one didn't work. Results from since 2006-11-10:
If you want to know what these files do or if you just want to keep them, you can store them by right-clicking on the above links and choose to save the target on your computer. Then you can open each file with the Notepad editor (Open with ...) and, if you like, make the registry changes by hand. They do a bit more than what is described below. The minus signs in the files indicate deletions. A new programAlex Milner has written the new program TrayIconsOK!, downloadable from http://am.vghost.ru/, which purportedly solves the problem permanently (but not the sound volume problem). Thanks, Alex! The program delays desktop loading by some adjustable seconds, and that seems to do the trick for many installations, but not for all. This is shareware with a single-digit $ price. The unregistered version is fully functional for 30 days and has a nag screen. You can test it thoroughly before having to pay up. If you've tried this program, please report here if it worked for you. Older results of 2007-02-06 to 2007-07-21:
The Diez Workaround2006-06-30 – Steve Kreideweiss wrote from Cairns, Australia: "I tested the tip from Jose Luis Diez setting SSDP and UpnP to Automatic. This seems to work fine for me as well. I was wondering why it was on Manual at all?" So please read the hint from Jose Luis Diez below or just read on. Apparently this changes the boot and logon timing enough on some computers to make things work. On one of my computers just setting the SSDP service start type to automatic did actually solve the problem. Here's the quick way to test it. Click on the desired setting, then confirm as often as needed, then reboot and test. Change settings to automatic:
Change them back to their default setting of manual: You have to reboot each time to apply the settings and test. If any variant of the Diez workaround solved your problem, please report here. Emails received before 2007-07-21:
Unfortunately the statistics don't look too good. If we don't get a number of successes soon, this subsection will have to disappear. But read also the following: 2006-10-11 – J. L. Heath wrote:
More details of the Ostuni WorkaroundFrancesco Ostuni further mentioned that the same can be done through Control Panel, Add or Remove Programs, on the left side: Add/Remove Windows components; select Networking Services, click on the Details... button, remove the checkmark for the UPnP User Interface, then click on OK. The result is the same. Now the icons are back every time at each reboot. This has meanwhile been confirmed by many other users and consistently kept a success rate of well over 90%, so we can conclude that this solves the problem on all but the most unusual Windows XP installations. Thanks, Francesco, in the name of the many systray users you've made happy! Apparently this option is only there after Service Pack 2 is installed. I'm not sure whether and how this would work in Windows XP installations without SP2. It is as yet unclear what exactly the UPnP User Interface does, beside opening two ports. Any information is welcome. Several people including myself suspect that the UPnP interface does not directly cause the problem, instead there seems to be something wrong with the load order or timing. Perhaps the UPnP interface hogs the system in a way that blocks the systray for too long on some computers. 2005-03-13 – Volker Severt wrote that a side effect of having the UPnP User Interface installed already makes the UPnP devices visible, namely that the relevant ports are opened in the firewall. If you uninstall the UPnP User Interface, these ports are automatically closed, but you can reopen them by hand. They are TCP 2869, subnet, and UDP 1900, subnet. Thus you can still have the UPnP devices visible. 2005-06-15 – Jose Luis Diez wrote the following intriguing email (see also the subchapter "Diez workaround" above for the short step by step instructions).
2005-07-17 – Michael Fornoff wrote:
2005-07-18 – M. D. Harper wrote:
2005-10-15 – Drystan Brod wrote:
Done, but instead of using a big, obscure program, you can just as well use the tiny, open-source systray.reg registry script to stop the UPnP services (see above), or you can even disable them by hand in less time than it takes you to download the program. 2005-10-19 – Richard (Rick) Murphy wrote:
Thank you too, Rick, for your good report and, of course, for the generous donation! 2006-04-03 – D.K. Kraft wrote:
D.K., thanks for the good information and the nice story! 2006-04-20 – Dwayne Osbaldeston wrote that disabling the two services solved the systray problem, but also disabled a Palm Pilot hotsync function. He was able to get that to work again by reserving a fixed IP address for the computer and using that for hotsyncing. 2006-04 – In some web forums it was reported that Windows Live OneCare (WOC, WLOC) or Defender triggered the problem, but the above workarounds worked for them. If disabling the UPnP service altogether solves the systray icon problem, but you needed UPnP, you can work around it by using a fixed IP address and opening ports on the router directly. If you use a router that allows you to assign a fixed IP address to a certain computer (by MAC address), fine. If not, simply give the computer a fixed address outside the router's DHCP range. Analysis of possible causes—PastIconStreams and timing2006-11-10 – Mark Medrano sent in the following intriguing information. Please note that the newer file systray_cleanup.reg already cleans out the big registry entries he mentions, so try this first and move on to the more severe systray.reg only if the former fails to solve the problem. Here is Mark's email:
2006-11-16 – Ingo Schupp confirms this as follows:
2006-12-15 – James Covington sent these Microsoft support instructions, some of which overlap information already given on this web page. But he wrote that this procedure always fixed the missing icons problem for some time, then needed to be repeated.
2007-05-19 – Thomas Gregory Platt confirms that cleaning out these registry entries solves the problem for him too. He also wrote the following, intriguing message, whose core, I believe, is true or close to the truth and refutes my earlier suspicion that systray.exe is loaded too late. Thanks, Thomas! I have already amended this whole web page accordingly, so the following message now no longer appears as a correction:
Cannot create shell notification iconThis is an error message that some programs, apparently all written in Delphi, show when they cannot reach the systray task to put their icon into the system tray. The most prevalent of these programs is Asus Probe. Most other programs don't throw an error message, but instead simply forgo creating an icon if they can't do it instantly. Both behaviors are insufficient, as we know. This problem can be solved with Startup Delayer (see below) and by other means of delaying the startup. One of the simplest is to enable a splash screen like described here: 2006-09-14 – Eric-Jan Damen writes that his problem with the Asus Probe systray icon appeared after he removed the check mark to "show up on next execution" in the splash screen. The delay caused by the splash screen may be enough to make it work. To re-enable the splash screen for Asus Probe, after you've already disabled it, click on AsusProbeShowSplashScreen.reg, confirm as often as needed, then log off and log on again to test it. (Works only for Asus Probe, other programs have their settings at a different location in the registry or elsewhere.) If that doesn't solve the problem and if you want to do it yourself, you can do it as follows. Write a little program in Visual Basic Script that delays the start. Create a text file (File, New, Text file, or just open an Editor) and copy the following two lines into it:
The delay time is in milliseconds, 240,000 in the example. Everything to the right of the apostroph (') is only a comment, has no function, and is not required. To solve the problem here, a delay of 30 to 60 seconds suffices, but if you also have the problem that a regulated fan triggers an alarm when cold-started, 4 to 8 minutes may be required. Save the file under the name DelayedStartup.vbs into the folder where the AsusProb.exe file resides. If the path is different from the one in the second line, change it accordingly. Actually, the file can be anywhere else, if you like, if only you enter its path into the registry as described below. Test it. Close Asus Probe, then double-click on the VBS file in Windows Explorer, but double-click only once. There is no apparent reaction and no window opening. You have to wait for Asus Probe to appear after the given time. If you're in a hurry, you can shorten the time to a few seconds for the test, then change it back after the test. Open regedit (Start, Run..., regedit) and change the following value.
Double-click on "ASUS Probe" on the right side and change the value to read:
The path given in the above example may not be the same as on your computer. Adapt it accordingly. Log off and log on again to test the change. Asus Probe should appear after 4 minutes or after whatever time you entered. If you want to use this program to start several programs delayed, use the following example.
Repeat the last two lines as needed. Note that some programs may reinstate the original situation when they are installed, reinstalled, or updated. Then you have to make the changes to the registry again. User ClearAsMud remarked that this method can be used for systray icons as well, if you write the program such that it starts the respective programs with delays. Of course, the normal start of the programs would have to be disabled and the delaying program amended whenever a new program with a systray icon is installed or an old one removed. Other known causesMake sure first that you either don't have the following registry values at all or, if you have any of them, that it is set to zero. Deleting the value entirely is easiest and safest. If you want to have all of them removed or set automatically, just click here, then give the permissions when asked.
2005-04-05 – Reagan Wiliams reports that in Windows XP (2002) a similar value with the same effect is here (meanwhile confirmed):
It is easiest and safest to just delete that value, but if it is all zeros, it should have no effect either. If it is non-zero, that may be the cause of your problem. 2005-10-06 – Christian from Germany wrote that you should make sure you do have the following value, which should exist in a normal installation. Its absence may cause the problem:
Check also the message "2007-04-21 – Karel" below, which also refers to this GUID and shows how to restore a missing InprocServer32. 2005-10-25 – Keith Sagona wrote that the DisableLocalUserRun registry value should be set to 0, not 1. Even a repair installation of Windows XP does not appear to fix this.
If this value is set to 1, that may be the cause of the problem. Search the registry for other instances of that setting, particularly in HKEY_CURRENT_USER, and set those to 0 also. Then reboot. In many installations this value doesn't even exist. In fact, in many normal installations the entire registry key Explorer does not exist. You can try to back up that key by exporting it, then delete the entire key for a test. Unfortunately the absence or presence of these keys and values does not guarantee that it all works, and it is not clear whether some of these values work only for some people because they change the logon timing. Also make sure that you don't have the taskbar set up the wrong way. Make sure that the quickstart icons are on the left side, not on the right, and the running programs area is in the middle of the taskbar. If they are arranged the other way around, then unlock the taskbar and drag the program icon area far to the right, between the quickstart icons and the system tray (system notification area). Then use the sliders to use the available space optimally and relock the taskbar. If this solves your problem, be happy. The problem for which most people visit this web page is much more intractable. 2006-05-12 – Asa Jay Laughton wrote that Norton AntiVirus has a specific setting to hide its systray icon, so if that is the only icon is missing on your computer, please read: How to hide the Norton AntiVirus Corporate Edition icon from the desktop of NAVCE servers or unmanaged clients on Symantec's web site. 2006-05-13 – Poul Eric Madsen wrote that the spyware program regperf.exe caused his Norton AntiVirus icon to disappear, and only spyware removal, followed by a repair installation of the Norton program brought the icon back into the systray. A full Norton reinstallation didn't do the trick, only the repair function worked. It may be worth noting that various malware attempts to deactivate some well-known antivirus and anti-spyware programs, and that may also affect their systray icons. Also, Symantec/Norton software is generally not recommended, because it causes a variety of other problems. 2006-07-14 – Steve McAfee wrote:
2006-08-09 – Mikael Tilly wrote to confirm Steve's findings. 2006-08-10 – Hakan Turan also confirmed:
2006-09-10 – Tomer confirmed. 2007-03-19 – Bruno Zumella wrote:
2007-04-05 – Nalin confirmed. 2007-04-14 – Joe confirmed and mentioned that the problem appeared after he uninstalled the quite popular ffdshow codec. 2007-04-21 – Karel wrote:
These entries are there in every normal Windows XP with Service Pack 2 installation, so it usually doesn't hurt to re-enter them. If they are already there, nothing will change. You have the following choices:
Other possible causes and workaroundsNew information is added at the end of this chapter, so you can read on, but skip to the last paragraphs if you get bored. Thanks to everybody who contributed useful information! In spite of the apparent effectiveness of the Ostuni workaround, I'm still looking for a way to make the systray icons show up without having to disable or uninstall anything. So the search is still continuing. Anything that streamlines or delays the boot and logon process appears to help in many cases, though not all, for example thoroughly defragmenting the hard disk with a good defragmenter like PerfectDisk by Raxco. Other examples keep being reported, but none is a real solution. They all work on some computers, but not on others, usually by disabling something and thereby changing the boot timing. Typical culprits are slow, inefficient virus checkers that are set to automatic, like Norton Antivirus 2005 Pro. First give your user account a password, so the computer cannot rush through a quick auto-logon. It clearly helps (on at least one of my own computers) if the user waits until he actually logs on. You may enter your password, but do not immediately press return or click on the OK button. For a few thorough tests wait at least a full minute before logging on, or wait until disk activity subsides. You could watch the hard disk light, memorize the rhythm of the bursts, which is usually always the same, and the next time wait until after the last big loading burst. If this helps, it probably does so by getting some system (particularly network) loading processes out of the way. As mentioned above, disabling the UPnP (Universal Plug and Play) service or the SSDP (Simple Service Discovery Protocol) service or both solves the problem. Microsoft proposes the latter in http://support.microsoft.com/kb/841571/. However, this is not a very good solution because you may want to have these services running. Another proposal is to set the start type of these services to Automatic. They are by default set to Manual, and at least the SSDP service is nonetheless started automatically by other means. Setting the SSDP service to Automatic would likely let this service start earlier, so it doesn't get in the way of other software that is loaded later. 2005-03-10 – Rob Nunn wrote that his Systray icons fail to appear exactly on those days when his antivirus program, NOD32, updates its virus definitions, which it does after first being loaded, i.e. just after system boot. This, of course, uses the network connection. My first thought is that, if one could delay the antivirus update by a minute, the problem might not show up. 2005-04-10 – Stein Bjorndal reported: "... a process named sdmcp.exe crashed on me. After a bit of investigation, this turns out to be a part of the DesktopX application by Stardock (http://www.stardock.com/products/desktopx/), ..." Uninstalling the program didn't work for him either, so he just erased all traces that could be found, including the start of the exe file. That solved his problem. This has meanwhile been confirmed by two other users, Gary Melady and David Perry. The culprit may be Stardock Central. 2005-05-21 – Daron Brewood wrote: Solved my icon problem in the end by disabling WindowBlinds 4 (I had to as it conflicts with the new Pocket PC Active Sync program) – but it has the side effect of fixing the icon problem, so in my case it looks like it is/was due to WB4. 2005-06-14 – Ansgar Nell sent an intriguing hint, originally written by Guloso on a discussion board—just restart systray.exe, for example by putting a shortcut to it into the startup folder. No need to provide a path, since the program is in the search path. I have meanwhile received an email confirming this, but it doesn't work at all on my own computers. Another of those solutions that work for some, but not for most. I have heard of one case in which systray.exe didn't get loaded at all, and using this method or the one below fixed the problem. A similar, possibly better method to start systray.exe is through the Run key in the registry. Unfortunately this also doesn't bring any missing icons back on my computers, but if you want to try it nonetheless, the procedure is as follows.
Step-by-step instructions:
Another of these hints (thanks to John Erikson) is that emptying the Prefetch folder (C:\WINDOWS\Prefetch in a normal installation) helps. The file Layout.ini is automatically recreated at some later time and is not essential anyway. Just cleaning out the prefetch folder did not solve the problem on my test computers and I also get reports from other users that it doesn't solve the problem there, so it is obviously not a universal solution. I guess that it merely speeds up the logon process a little. 2006-10-23 – WvU wrote that deleting Prefetch\Layout.ini, then defragmenting the hard disk, solves the problem for him. He supposes that the defragmenter has a defect in relation to rearranging the boot files according to Layout.ini. Yet another hint came from Harold Collins. He used the MSCONFIG utility to disable the Adobe Reader Speed Load, which solved the problem for him. This is apparently yet another way to accelerate the loading process for the other systray icons and may work for some. www.tech-pro.net provides a tool set named Tech-Pro Utilities Startup (http://www.tech-pro.net/startup.html Version 1.1 as of 2004-11-22), which contains one tool named Startup Manager. You need only the Startup Manager for this particular problem. This program can delay the loading of programs from your Startup menu and allegedly solves the missing systray icon problem. I have my doubts though, because most of the possibly offending programs aren't started from the Startup menu at all, mine is empty, for example. I guess we need something to delay the loading from the Run key in the registry. But if you try any of these programs, please let me know your results. 2005-01-26 – Found a program named SysTrayHack at http://desktopian.org/addons/systray2kfix.zip and tested it. It claims to solve the problem of not appearing systray icons when another shell is used in place of Windows Explorer. I tried it, although I do use Windows Explorer. As expected, it didn't solve the problem for me, but I have received 2 confirmations that it worked for other users. 2005-02-16 – Lutz-R. Frank wrote:
Thanks, Lutz! This is indeed promising. The program is try-before-you-buy shareware and costs $24.95. I haven't tested it yet and will wait for independent confirmation. 2005-02-17 – Cliff Cawley of r2 Studios contacted me and recommended his freeware program Startup Delayer, available from http://www.snapfiles.com/get/startdelay.html or http://www.r2.com.au/software.php?show=startdelay. 2005-04-01 - Bruce Sylvester reports that he tried Startup Delayer after the Ostuni Workaround hadn't helped. His statement: "Voila! Works perfectly and problem gone." 2005-10-12 – I finally got to testing it myself and can recommend it with some reservations. The program itself works very well and does exactly what it should do—delay starting the automatically started programs. Unfortunately it does not solve the entire problem on my computer. Some of the missing or disappearing icons will still not appear if delayed, or they will never appear when delayed. Examples are the Bluetooth icon and other icons that depend on it, like that of the Nokia PC Suite. Startup Delayer seems to work well with the SoundMan icon though (the speaker symbol to control the sound volume) and with several others, like Asus Probe. It also appears to have a perfect installer and uninstaller, so there is apparently no risk in trying. 2005-05-16 – IceBear wrote:
2005-07-20 – Dan Berger wrote:
2005-10-11 – Vivek Tanna outlined the following procedure:
Unfortunately I cannot confirm this. Sometimes it works for me, but usually it doesn't. Some icons do not return, even if I repeat the procedure. But try it anyway, perhaps it works well enough for you. 2005-10-21 – Anastasia wrote that one method of last resort is to give up the user profile, create an entirely new user, and copy as much data and settings as possible from the old user to the new. She then wrote:
A remaining problem is any software that had been installed for this user only, because that would have to be reinstalled. But if all else fails, this is still a way out. 2006-01-16 – Larry Bowman wrote about a last resort workaround. You can create shortcuts to the programs that belong to the missing icons. For example, you can create a shortcut to sndvol32, so you can always get the volume control, albeit the big one. Or you can right-click the Sounds and Multimedia applet in Control Panel and create a shortcut to that, so you can get your volume icon back with a few more mouse clicks (disable the icon, apply, enable the icon, OK). With similar shortcuts you may be able work around all or most missing icons. Another example for such a shortcut is this, which you could call Hardware Unplug: rundll32.exe shell32.dll,Control_RunDLL hotplug.dll 2006-09-28 – Bart van de Beek wrote:
Unfortunately on many computers this delay is not enough to prevent the problem, but, like many other workarounds, it seems to solve the problem on some. 2006-11-22 – Lawrence LaCroix wrote:
2006-11-28 – Lawrence LaCroix wrote about an interesting point again:
2006-12-13 – Pete Green wrote:
Windows XP has a similar automatic function already built in, which is enabled by default, so it is a question why that didn't already solve the problem, but Pete mentioned that, even in a test with an earlier disk image, it was only Bootvis that solved the problem in his installation. 2007-04-29 – Bob Malcolm confirmed that the Bootvis optimization function solved the problem for him too. 2007-02-17 – Paul Santangelo wrote that he had one particular case of the disappearing systray icons where he found that something was wrong with the .NET 2.0 Framework installation. Calling up the installer again and electing to repair the .NET installation fixed it permanently. 2007-05-11 – John Smallridge wrote:
Thanks, John, for this interesting observation! This also indicates that my earlier suspicion, that systray.exe loads too late, is wrong, and that a more likely cause is some kind of overload on systray.exe. 2007-05-13 – TUPOLEV wrote from France that deleting the following registry value solved the problem for him:
If you don't like to delete the value altogether, you can just make it temporarily unusable for a test, for example by adding DISABLED in front of the opening brace of the string value. 2007-06-14 – Brian Burdett wrote:
2007-06-21 – Jali Pajula wrote from Finland:
Closing remarksCited emails can be edited and abridged to fit this web page. Thanks to everybody who wrote! If you have any further relevant information or found one of the above hints to work, please click on Add new comment or on reply to reply to an existing comment (below, account required; if you don't have an account yet, create one first). Please check also the result statistics and report your results there. Comments, voteResult statisticsplease report your results. |
StartDelay
Mon, 2008-11-24 23:58 by dhaff
I am a system builder and hve been installing and reinstalling Win CP for at least five years and have never run across this problem guy before! Seems I have now joined the club.
Uninstalling UPNP and almost nothing worked eccept StartDelay! I run Norton System Works and timed it to start last and put three seconds between all the others. Start Delay disables nVidia icon but i can live without it! My only hope beyond this was to reformat and try again.
Saved by the bell or saved by the delay? Hope this helps others.
D Haff
Otsuni rulez!
Sat, 2008-11-15 04:22 by SIMAUD
This site rules as well.
Thanks guys!
Ostuni my man!
Tue, 2008-08-12 15:49 by doonser
Okay, I admit, I only just applied the Ostuni solution, so tomorrow it may all fall apart. Anyway, here's my result: my icons returned and my computer starts up 150% faster. (Missing icons included Volume, Hardware Eject, and occasionally Maxtor Manger for my external backup drive). Yeah baby! Next stop is Bootvis!
Thanks tons.
Thank you Ostuni!
Fri, 2008-11-14 12:38 by s_m_taheri
The Ostuni Workaround works fine on my pc and solved my old problem.
Good to hear
Tue, 2008-08-12 17:43 by admin
Thanks for reporting back. Yes, the Ostuni idea is still one of the easiest and best.
another crazy solution to the crazy list
Mon, 2008-07-14 23:50 by Zeta27
PLAY WARCRAFT III !!!!!
That's the new crazy solution, in addition to turn off the computer for three hours.
I still have the icon problem each time I restart the computer, but whenever I open and exit that game, everything is there :D
It must be something to do with fullscreen applications, my icon problem started when alt+tabbing heavily a full screen game called Ragnarok. first I lost all my icons a couple of times but they returned when restarting the computer, and then one day it became permanent. I recovered some with the methods up there, but not all.
Now every time I see an icon missing I say to myself: I'ts DOTA time!!!
LOL
Tue, 2008-07-15 14:02 by admin
Great way to clean up things! Would World of Warcraft also do it? Or at least Starcraft? How about SupCom? Crysis?
I wonder if this could be hammered into an automatic workaround. We just need to start and close something like Warcraft a minute after logging on. (:-) Could someone please write us a NanoWarcraft?
I don't believe that the game caused the problem. This problem appears on its own over time, as you add programs, particularly services or other programs that start themselves or a helper systray icon after logon.
It's too much of a
Fri, 2008-07-18 15:05 by Zeta27
It's too much of a coincidense that my entire desktop icons become replaced by a single random icon just after playing Ragnarok (this happened four times) but never any of the... like... 10 other full screen games I play.
Killing the icons
Fri, 2008-07-18 15:32 by admin
Killing the icons is one thing, but having the icons not appear after booting is quite another.
a fix made the problem worse
Sat, 2008-07-12 01:00 by Zeta27
First of all, despite the outcome, thanks a lot to the writer for this excellent and complete article!
I could not tell if it was the systray.reg or the systray_undo.reg but after running them and rebooting the default action when double clicking a folder is "search" inside the folder (with the cute dog) instead of "open" so I have to right click and select open every time I want to open a folder which is really annoying.
I tried going to the folder's settings->File types and advanced button for "Folder" and selectin open as a default (the default setting is no one selected as default, I confirmed this in other computer) but nothing seems to work
The fixes solved the problem for some icons but the folder icon is still missing.
Anastasia's solution DOES fix the problem (creating a new user, thanks there) but here's a noob question: can I give to the new account administrator privileges? that's important for me to run some softwares.
I can bare the folder missing icon, but please PLEASE someone help me to change the default double click action of a folder!
I would REALLY appreciate that.
System Restore
Sat, 2008-07-12 08:05 by admin
When anything like that happens, your first solution is always System Restore to a restore point before the problem first appeared.
Note that the operating system will be completely reset to that earlier state, so you may lose installed programs and settings changes since then, but you will normally not lose data. However, it can't hurt to have a backup. The procedure will also undo your systray fix and you'll have to redo it.
The registry files you applied do not touch the folder settings. They cannot cause such problems. The cause was something else.
You can give any user administrator status. Log in as a user who already has administrator rights, then change your new user to an administrator.
Some updates on this
Wed, 2008-05-21 18:56 by tasmanian
After some serious research I discovered that the missing icons are caused by a tiny bug in the Windows function Shell_NotifyIcon in Shell32.dll. All Windows applications must call this function to create or modify tray icons.
M$ knows about this issue, they even mention it in the MSDN documentation of this function (see http://msdn.microsoft.com/en-us/library/bb762159.aspx - the part about handling Shell_NotifyIcon failure)
Now a little more detail. This is a decompiled listing of the relevant part of this function:
A call to the function SendMessageTimeout, which basically informs the thread responsible for the systray that it has work to do. There are two problematic parameters to that function:
first the timeout which is set to 4000 ms - too short during startup and the flag SMTO_ABORTIFHUNG which causes the call to immediately return an error if the receiving thread SEEMS to be hanging. This flag is the real killer here because during startup this thread is so busy it sometimes just appears to be hanging. This also explains why this issue is so timing related.
I found two ways to cope with this problem:
The first one is a workaround. In case explorer.exe crashes and is restarted MS implemented the window message 'TaskbarCreated ' to indicate all applications to reregister their tray icons.
This C-code
#include "windows.h" int main() { static UINT WM_TASKBARCREATED; Sleep(60000); WM_TASKBARCREATED=RegisterWindowMessage(TEXT("TaskbarCreated")); SendMessage(HWND_BROADCAST, WM_TASKBARCREATED, 0, 0); return 0; }sends this message to all running applications after a delay of 1 minute. Compile it and place it in your autostart folder and the icons of all programs which understand this message should reappear. Note that not all programs do understand the message and some programs do not like it if they are told to register an icon which already exists (sandboxie comes in mind here).
The second solution is to exterminate the root of the problem and patch shell32.dll by setting the timeout to 60000 ms and removing the SMTO_ABORTIFHUNG flag.
Copy shell32.dll and for
Be sure that your dll version matches exactly or the offsets will probably be false (use a decompiler like W32Dasm to find the correct offsets).
The drawback of this solution is that it is really tricky to replace the original with patched shell32.dll and that this patch will only last until M$ decides to issue another update for this file.
I hope you find this information useful
>mfG. Stef
Perfect solution, difficult to apply
Sat, 2008-08-23 09:59 by admin
[Don't miss the 2008-08-23 update further down in this comment.]
Thanks a million for this detailed analysis! I wish more people found the time to analyze problems as thoroughly as you did it.
I've and looked at shell32.dll, but it was already updated, probably by Service Pack 3 or maybe by some patch. My current version is 6.0.2900.5512.
I've just applied the patch anyway, after finding the only occurrence of 0xA004, closely followed by 0x03, and it seems to work, but the patch is difficult to apply and, as you say, will last only until the next automatic update from Microsoft. shell32.dll has been updated by Microsoft very frequently, so I expect the next update very soon.
A problem while patching was that Windows immediately undid any change I made to the DLL. I had to locate the first source, found it in ServicePackFiles\i386, changed it there, then made sure it percolated down the chain until it ended up in the system32 folder (and in system32\dllcache).
It seems that this is not the best way to go for most users, who may not be into patching system files with a hex editor, except, of course, if anybody could devise a way to make this patching more automatic and easier to apply.
Since your other proposal doesn't solve the problem entirely either, we are still looking for a good, convenient solution that many other users could download and install. Any ideas?
In fact, I tried to compile your proposed code, but since I'm not a C++ programmer, I may have made a mistake. Depending on what type of project I chose in Visual Studio 2008, the resulting program either crashed explorer.exe or closed it. I think patching shell32.dll is the way to go.
[Update 2008-08-23] After running the patched shell32.dll until now on my main computer, I can state that since the patch I've never missed any systray icon. I would dearly like to make an automated patcher, but the biggest problem is Windows' DLL protection that prevents any easy swapping of the DLL. An additional problem is that I've already found three different places from which the unpatched shell32.dll is automatically and quickly reinstated by Windows. Any good thought and any help is very welcome.
A possible way to go would be to search the Windows folder and all of its subfolders for shell32.dll and program a replacement with the patched version for the next reboot as described in Cannot delete file or folder, chapter "Rename or move during next boot". Of course the unpatched version should be kept too, and, if possible, a method devised that would allow to undo the procedure if the computer fails to boot. A boot failure could happen with future versions of shell32.dll or when the patching procedure is interrupted.
Re: Very interesting
Wed, 2008-07-16 17:45 by tasmanian
Thanks for your reply,
I have been using the shell32.dll patch for about 2 months now and did not notice any negative side effects.
You are correct, using a hexeditor to search for 0x68A00F00006A03 and - only if there is exactly one occurrence - replace it with 0x6860EA00006A01 should do the trick for all versions of shell32.dll.
Concerning the replacement of the original dll with the patched one:
Yes, one has to get past Windows System File Check a.k.a. sfc. Imho the best way to do this is to disable sfc (temporarily or permanently). Instructions on how to do this can be found somewhere else on the net (unfortunately I seem to have misplaced my bookmarks) If you choose to disable sfc only temporarily or not at all keep in mind that it will restore the original dll version at the first chance it gets - of course without any user notification.
Also there is at least 1 identical copy of shell32.dll in the system32\dllcache folder and there are likely to be more.
It may be a good idea to use a tool like resource hacker to change the version number of the modified dll to see if the patch worked in explorer.
Still this is way too complicated for the average Windows user and I don't see a way to automate the patching :-/
Concerning the source code:
I was totally unaware that these 4 lines of code are able to crash explorer.exe (and I really doubt that you have done anything during project creation to achieve this). I just tested it myself using VS 2008 and a Win32 Console Application - the resulting program left explorer.exe alone but - as expected - crashed sandboxie instead. Still not very convenient.
Yet we are not using the WM_TASKBARCREATED message as MS intended. So theoretically anything could happen ;-)
Anyway this code is just a demonstration of concept - a program which sends this message to a configurable list of processes would be much more useful and userfriendly, but that's beyond my programming skills.
The amount of interest in this seems to be limited anyway - I tried to bring this up at the sysinternals forums but I didn't get too much attention (or any at all for that matter).
Kind regards
Limited interest
Wed, 2008-07-16 18:43 by admin
Sometimes I think people are like ratsthey love garbage.
Give them something perfect on a silver platter, and they will reject it.
Icons are back
Sun, 2008-04-20 08:31 by fazerking
I have tried the workaround of tuning SSDP to automatic. Amazing, it works. Many Thanks!
Glad it worked
Sun, 2008-04-20 09:06 by admin
Just be aware that anything that changes the boot and logon timing can work, but any other change can make the problem reappear.
If that happens, check the very successful workarounds first. Check the result statistics.
Ostuni's solution worked!
Sun, 2008-03-02 05:54 by bournex
I had gradually noticed icons disappear from my system tray in the last year or so. The first victim being the volume icon, of course. Later on, more icons disappeared. Meanwhile, my temporary solution was to kill and restart explorer.exe, which would reveal the missing icons but only to see them disappear again after booting.
Today I got fed up after noticing two more icons disappear from the system tray. I was determine to find a solution. I looked for one everywhere, eventually finding your article. So let me say: well done you on putting all this information together. It's been quite helpful.
I noticed whilst reading your article that someone from Microsoft (James Covington) has a solution that also involves killing and restarting explorer.exe but he took it a bit further with the registry. I didn't try this as I felt Ostuni's workaround seemed far simpler and worked best for me. Thanks! :-)
Thanks for reporting back!
Sun, 2008-03-02 06:09 by admin
It's always good to know what worked.
I suspect that the main points in James Covington's workaround are:
HKEY_CURRENT_USER
\Software
\Microsoft
\Windows
\CurrentVersion
\Explorer
\TrayNotify
systray_cleanup.reg already does this quickly, if you want to try it, and so do the stronger .reg files mentioned near the top of the main article.
These don't seem to cut it for everyone though.
tweakUI?
Tue, 2007-12-25 21:27 by funeralclown4hire (not verified)
Has anyone tried it? I Had some issues with a crazy Firefox addon that was "not so elegantly" minimizing the browser into the tray. After a half day of browsing, all Tray Icons (except clock)disappeared. When I rebooted and restored my firefox session, about 20 separate instances of firefox flooded in. Seems everytime I closed my browser it would just minimize into my phantom tray. The "hide inactive icons" in the taskbar properties choices was whited out.
TweakUI, one of M$ Systernals tools, allows a couple dozen "one click" registry tweaks including a checkbox for "show taskbar notification icons" in the "Taskbar and Start Menu" dropdown.
Here's the link for all the power toys offered. Methinks you can scroll down to find the download for TweakUI, but the other tools on the page are pretty useful as well. Just don't get click happy like me.
http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx
Dunno if this fix was just a flook for my relatively lightweight system. Would like to find out if it's a flook for anyone else.
I got mine to work
Thu, 2007-12-20 19:38 by warpwar (not verified)
I did the same thing as - J. L. Heath
I solved the problem by 1st doing the Ostuni workaround (hiding UPnP) and then clicking on the first Diez automatic link, and then rebooted.
when I hid UPnP, most, but not all of my icons returned, the first diez link restored the rest.
Volume Icon Missing in Windows XP Systray
Sat, 2007-11-17 19:43 by daveolson (not verified)
I saw that Zone Alarm was mentioned as a possible problem. When I shut down Zone Alarm the missing icons in my systray reappeared. At reboot they were gone again. This happened every time I tried it. Checking the version I saw that I was running Zone Alarm 6.5.737.000 from 2006. Kind of old!
I downloaded the latest free version, (I'm only running the free version firewall, not the pay "pro" version or the Suite), and installed it. Problem solved. The missing volume icon is now there, and my Intel Active Monitor for the Intel motherboard now shows up again.
Thanks to Jali Pajula for the suggestion, it fixed the problem!
Great, thanks!