Systray icons missing

Sun, 2007-07-15 21:05 by admin · Forum/category:

Result statistics—please report your results.

The Problem

General

The 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.

Please note that the problem has been completely solved. You can find the solution in the next chapter, Main problem and complete solution.

Hide inactive icons

This 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 volume

A 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 Manager

There 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 taskbar

If, 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.

UPnP and some general remarks

Often, but not always, the phenomenon of the missing systray icons 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.

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.

Main problem and complete solution

2010-10-09 – nars has posted a patcher tool (direct download link, also attached here—see below) that solves the problem even for future versions and makes patching very easy and quick. Thanks a lot, nars!

The main cause of the more common problem is 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).

According to the excellent analysis in the Problem analysis and proposed solution comment by tasmanian this is caused by a timing defect in the Windows function Shell_NotifyIcon in shell32.dll, which has a timeout fixed at 4 seconds. Combined with an unfavorable Windows API message this causes the problem, which befalls many heavily loaded computers that don't have ultra-fast hard disks. Changing the timeout to one minute and removing the unwanted message solves the problem, and in the Complete solution comment user depassp has perfected the procedure of patching shell32.dll to solve the problem, at least until a new version of that DLL is delivered by Microsoft that re-introduces the problem and requires another patch session. In fact, exactly this has happened around July 2010, but the solution is already here: Offsets for NEW 6.0.2900.6018 file by mcrealize, corrected by TeaRex

Unfortunately patching a system DLL is not an entirely simple procedure and can only be done with a certain minimum of computer handling experience, but this is the best we can offer for now.

Task Manager problems

A 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:

HKEY_CURRENT_USER
 \Software
  \Microsoft
   \Windows
    \CurrentVersion
     \Policies
      \System
"DisableTaskMgr"=dword:00000001

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 workarounds

If any of these solve your problem, please report here.

Log off, log on again

Now 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 workarounds

Some excerpts from the many earlier mails I have received (for later responses see Comments, vote below)

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.
I have had an ongoing dialogue with Microsoft Tech Support about this situation, and they seem absolutely clueless. Needless to say, my next email to them will report the fix.

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.
Now if only the setting to hide inactive icons would work I would be pleased indeed.
Thank you for helping to save what little hair I have.

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.
On the net ... I found the trick removing "UPnP User Interface" from Windows Components and and that worked perfect: everything in the Systray is now in perfect order.

UPnP worked for me! Thanks to all. It was driving me crazy ...

The Ostuni Workaround
Worked fine on a quite a few ( ~ 10 ) Dell GX110's with AC97 audio, we use at work - Thanks for posting this info

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…….
I tried the Ostuni Workaround, and all of my icons instantly came back and are now stable !!!!
Very happy !

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.
I applied the Ostuni Workaround this evening and my errant icons have returned. Many thanks to all contributors.

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.
For the record, the UPnP solution worked ... and brought back the speaker icon as well! This was on a Gateway P4 laptop.
I like people that help others. You just saved my Saturday so I can have fun.
Thanks again.

very very useful
worked first time
? why has microsoft not fixed disappearing icons in one of their many sp's and upgrades

Tried the Ostuni Workaround, so far it's solved the problem.
My god man, THANK YOU for providing this information. I was about ready to do like that duck with the hammer you always see on people's desks...

Man, if I hadn't found your site I would have gone crazy over this. It's the most anoying I've ever experienced.
But then I found your site and
The Ostuni Workaround
I have never been happier in my life (well thats not entierly true), but anyway it works fine!
Thanks for a great site!

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, :-)
Thanks So Much, [...]
P.S. It works, it really really works!! ;)

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.
Thank you very much for your page!

My good-man Hans,
I want to thank you so much for having this page online! I was getting so annoyed about those missing icons in the system tray. I used The Ostuni Workaround simply by going to My Network Places and then clicking on Hide UPnP Devices. A simple restart and everything was there. Normally I had to kill the 'missing-icon' programs and restart them. And some of them you can't kill with Task Manager, e.g. ZoneAlarm Pro v6.1.737 [zlclient.exe]. Or another trick I did was logging off and back on. Most of the time it restored all icons, but not always. So:
Thank you so much! You really made my day.

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 systray.reg has restored the always missing volume icon as well as the occasionally missing outlook icon (outlook is started automatically "minimized to tray" on system startup).
The delay trick works excellent with Asus Probe.
This is absolutely brilliant!
Thanks a lot!

Rooting out the problem—patching shell32.dll

Oour users cooperated to find and program the fundamental solution to the problem. The cause has been determined as a defect in shell32.dll, a Windows component. Please see Main problem and complete solution above.

The Ostuni Workaround

2004-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 registry

The 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 services

If 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, you can try this stronger one: systray_plus.reg, and again confirm, reboot, and test. However, the old poll results show that few users actually did this successfully, so we may consider this workaround undesirable and not waste time on it. I leave it here just in case somebody wants to experiment with it.

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:

  1. Apply the file by double-clicking on it and giving permission for the change.
  2. Reboot, log on.
  3. Check whether all icons are there.

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:

  • systray_cleanup.reg : 16
  • systray.reg : 13 (earlier reports: 26)
  • systray_plus.reg : 1 (earlier reports: 3)
  • neither, i.e. both failed : 0 (earlier reports: 1)

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 program

Alex 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:

  • It works: 8 reports
  • It doesn't work: 6 reports

The Diez Workaround

2006-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:

  • ssdp_automatic.reg – 3 successes, 1 failure
  • Both – 2 successes, 3 failures

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:

I solved the problem using your page by 1st doing the Ostuni workaround (hiding UPnP) and then clicking on both Diez automatic links, and rebooting.

I think the key might be doing both workarounds in succession, instead of one or the other.

Worked like a charm-- thanks!  J.

More details of the Ostuni Workaround

Francesco 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).

I had been dealing with this problem for a week and followed all the hints in your page to no avail. I followed the Ostuni workaround and it didn't help either. (SSDP and UPnP were already disabled.)

I tried the Startright program and it worked great. I highly recommend that program.

Hoewever, I got bored about having an extra loader and kept playing with the settings and guess what. I turned SSDP and UPnP to Automatic under Administrative Tools -> Services and IT FIXED THE PROBLEM. :D

Funny thing is that I have uninstalled Internet Gateway and UPnP under Windows Components uninstall but the UPnP still shows in the Services settings under Administrative Tools.

All in all very strange.

After playing with my system for a while I agree and I'm 100% sure that the problem of the icons disapearing is due to the systray not ready to place the icons when the application loads. SSDP and UPnP just fix this by a collateral of changing the way things boot.

2005-07-17 – Michael Fornoff wrote:

The Ostuni Workaround worked for me too!

It seems that it solved another problem too: when I activated a network connection (plugging in the network cable, opening a dialup or a VPN connection) very often the explorer was locked for about 2 to 5 minutes. I had already found out, that it was sending UPnP requests over the network at that time, but did not really know what to do, as simply disabling the UPnP service did not help.

"Hide UPnP devices" in "My Network Places" did it. It solved both problems: the missing tray icons and the temporary system lock nearly every time I connect to a network.

2005-07-18 – M. D. Harper wrote:

This definitely seems to be a startup sequencing/timing problem. I did the "Ostuni Workaround" my icons came back and I stopped getting a driver failed to start error when my PCI Latency Tool tries to change the PCI devices' latency automatically on startup (I previously had to start the program manually after the computer starts and apply the new settings).

2005-10-15 – Drystan Brod wrote:

I was intrigued by all the references to the UPnP service on your web page—I always disable it as part of installing windows and didn't think that would be my problem. I checked anyway and was rather irritated to discover that it had been misteriously re-enabled, possibly by a windows "security update". Seconds later, using Steve Gibson's UnPlug n' Pray utility (which is free from www.grc.com) the problem was solved. Please find room on your web page to pass on my recommendation of this excellent tool.

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:

I just wanted to say "Thanks" for the info on the Systray Icons Missing page. This has been bugging me for months and I finally decided to try and solve it – found your page and bingo!

You might like to know that to completely solve the problem, I combined two methods.

(1) I used the Ostuni method, utilising the GRC "unpnp" tool recommended by Drystan Brod. This brought back the "loudspeaker" sound icon and a few others.

(2) Then I used the (fantastic) tool by Cliff Cawley "Startup Delayer" (http://www.r2.com.au/software.php?show=startdelay) to put delays in for "non essential" items such as Seti at Home, Yahoo Messenger, Backup Exec, Bluetooth, Skype, DynDns and the like, delaying these by upto 2 minutes after startup and spacing the delays by 10 seconds.

This brought back everything!

I'm so pleased that I've sent you a donation, something I've never done for any other "free advice" site (as they usually have mediocre advice).

Thanks again!

Thank you too, Rick, for your good report and, of course, for the generous donation!

2006-04-03 – D.K. Kraft wrote:

Greetings from Lynnwood, WA USA —

I'm e-mailing with a success story for r2 Studios' Startup Delayer (http://www.r2.com.au/software.php?show=startdelay) for a self-built dual-core (AMD) computer put together Dec. 2005, running Win XP Pro SR2 and all recent patches. All went swimmingly until around the end of March 2006, when certain program icons supposed to show up in the system tray began not loading at boot, usually in groups of three. After much frustration uninstalling and reinstalling, Google (is my friend; yes, I should remember that) provided the background on this weird and very annoying Win XP bug.

After no success whatsoever from the registry hacks and the manual log-in method, I tried Startup Delayer with a jaundiced eye, thinking that delaying loading of just the four programs in my Startup folder wouldn't do much good. I was very pleasantly surprised to find that the program could take over control of all startup programs. Delaying my Startup folder programs along with one program controlled by a registry entry, plus a delay to load my antivirus software last did the trick. The initial delay before the first program allows SystemTray to get going and deal with the basics, and then it's able to properly bring up those icons for subsequent programs. I think the key is to have Startup Delayer delay only as many programs as needed to allow others to load their icons properly. I'm fairly certain my antivirus software (GMHB Avira AntiVir) was hogging resources from the get-go that prevented a number of icons from being loaded—including its own!

Now, all ten icons show up in the system tray. Additionally, Startup Delayer's small graphic bar gives me time to kill certain programs at boot if I just don't need them to load for whatever reason. I'm very grateful to r2 Studios for making this nifty little program available as freeware, given that the two alternatives I found cost $20-$25. Would that everyone else could achieve icon happiness with this program. As they say, it did the trick. ;-D

Purrs — D.K. "Cat" Kraft

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 timing

2006-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:

I just wanted to write in. I've been having problems getting systray icons to appear (power, sound, and recently Ultramon which was giving an error). I ran across your page searching for an answer and started to pick through it. I already had UPnP disabled, so I moved on to the first registry file (systray.reg). For various reasons I ended up going through it manually and was surprised when I got to the "PastIconsStream" key that it was positively huge. So long that I could not scroll to the bottom of the "edit binary data" window (each time it would snap back up to the top for some bizarre reason).

I manually deleted about 1/4 of the screen at a time (as much as it would let me scroll the window) until I could select the rest of it and erase it entirely. On a hunch I stopped there and lo and behold everything comes up perfectly again. I suspect that at least in my case that key was just grown way beyond what was expected for it's size. I suspect sys tray icons that change frequently may be a contributer (like wireless card settings) or applications that create tray icons only when they're running (ffdshow filters for instance, sometimes if a system filter is used by a game I can see 30 or 40 of these icons in the tray at once, usually they disappear before the game exits and you'ld never see them), perhaps even applications that use the tray for active notification, like color coded icons and the like, I'm not entirely sure, but I do think that most of the people who have written in that Systray.reg worked for them probably only needed to drop the "PastIconsStream" key. I will be sure to keep an eye on it, though it's taken 2 1/2 years for the problem to occur originally, so I don't expect it'll be happening again soon :)

2006-11-16 – Ingo Schupp confirms this as follows:

Thank you very much for your fine work with the webpage concerning the disappeared systray icons. I can only confirm what Mark Medrano wrote on 2006-11-10: the critical registry entry actually seems to be "PastIconsStream".

I tried manually deactivating SSDP and UPnP before, which did not work for me. Then, I wanted to manually edit my registry entries one by one, starting with the aforementioned one, but after logging out and in again directly after this, the icons reappeared! This was not the case before - a break alone did not do the trick.

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.

  1. Run regedit: click on Start > click on Run > type: regedit
  2. Navigate to
    HKEY_CURRENT_USER
     \Software
      \Microsoft
       \Windows
        \CurrentVersion
         \Explorer
  3. In the Explorer folder change the value of EnableAutoTray to 0.
  4. Right click Start (or anywhere on the taskbar) and select Properties.
  5. Click the Taskbar tab.
  6. Clear the Lock the taskbar option.
  7. Check Hide inactive icons.
  8. On the Taskbar tab, click Customize.
  9. In the Current Items section, select each of the items as "Always Hide". Click OK, then OK again.
  10. Start all over, re-open the properties dialog box, and select each item as "Hide when inactive" in the Current items section. Click OK, then OK again.
  11. Navigate in the registry to
    HKEY_CURRENT_USER
     \Software
      \Microsoft
       \Windows
        \CurrentVersion
         \Explorer
          \TrayNotify
  12. Delete the IconStreams and PastIconStreams values.
  13. Close the Registry Editor.
  14. Close all open programs.
  15. Open Task Manager: click on Start > click on Run > type: taskmgr
  16. Click on the Processes tab.
  17. Click on explorer.exe in the image name column.
  18. Click on the End Process button.
  19. Confirm Yes to kill the process. This will close the desktop except for Task Manager.
  20. In Task Manager select the File menu command.
  21. Click on the Create New Task button.
  22. In the Open box type: explorer
  23. Click OK.

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:

I have to make one correction to what you and others seem to suspect is going on with the systray application. From my observations of boot-time behavior here, I honestly don't think the problem is that systray isn't loaded yet when the icons that fail to appear are posted. On the contrary. From what I've seen, I can plainly see that systray is present and has been active for some time because it already HAS icons IN the tray (some of them like Network Connection, System Volume Control and the "Safely Remove Hardware" icon were visible in the tray) when the "Clipmate-loads-but-its-icon-doesn't-appear" problem occurred on my system. So I'm convinced you're wrong in assuming systray isn't active yet.

One scenario that would explain part of what's going on is that the system and systray are so BUSY in the midst of the startup bedlam (perhaps systray is processing or rebuilding that long-long list of old icons?) that systray fails to finish processing the request from one app (like ClipMate) fast enough before another app (like the starting antivirus) comes in and issues a SECOND request to add an icon to the system tray. It could be that the second incoming request clobbers the first one and knocks it completely out of systray's queue. That assumes of course that systray even HAS a queue. It could be systray app wasn't designed to queue requests because its designers assumed it would be able to process incoming requests to add a new icon VERY fast (within a few CPU cycles). If the designers made that assumption, systray might only provide a few memory locations where other apps can "poke" a copy of their icon and the name and location of the program to be called when that icon is clicked and then flip an in-memory switch that tells systray "Here's a new icon for you to process.". Without queuing, if two requests from different apps occur in rapid succession while systray is "busy" doing something else (e.g. updating that long list of prior icons, perhaps?), the arrival of a second request might just obliterate the first one thus causing the earlier request to get lost.

There's a second scenario that would also explain both this behavior AND another phenomenon I've observed that no one else on your site has explicitly mentioned—the now-you-see-it-now-you-don't system tray icon glitch. It appears that some apps (like Clipmate) are designed to issue a request to add their icon to the System Tray and just go on without waiting (i.e. they're not designed to wait for a confirmation that their icon was added), while others (e.g. anti-viruses) seem to be designed so that, if their request isn't acknowledged by systray within a few clock-ticks, they "get impatient" and issue a new START request for systray—thus causing it to lose track of ALL earlier "add my icon" requests. THIS scenario would explain why some requests seem to get lost. It would also explain why some icons can be seen to appear in the tray for a brief moment or two, but suddenly disappear from it later. That's EXACTLY what was happening on MY system with both the speaker volume control and the "Safely Remove Hardware" icons. One second those icons would appear in the system tray and moments later they would vanish! I've seen remarks from several posters (including you) that suggest they assume lack of a fast reply from systray means it "hasn't started yet" or that it "should start earlier". Knowing how programmers think, that tells me some developers might decide to "take matters into their own hands" and issue their own request to start systray if they don't get a reply from it fast enough. If systray is already running but BUSY, issuing a second start request probably causes systray to lose track of all icons it has previously loaded – thus producing the "now-you-see-it-now-you-don't" vanishing icons phenomena and the "my icon never appeared" phenomena too. If I was a betting man, I'd bet on this scenario. Programmers are notorious for such high-handed tactics.

Call it an EWAG (Educated Wild Ass Guess) Hans, but as a 40 year software pro, what I see suggests that if the CPU is busy enough and the prior icons list systray must process is LONG, systray can't react FAST enough before a second request arrives. When that happens, for SOME reason (whether it's lack of queuing or an impatient programmer who tries to start systray) a second request that arrives while systray is busy wipes out the requests that preceded it – both the one systray hasn't finished processing yet AND any that HAD been completed earlier and were already in the tray.

Cannot create shell notification icon

This 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:

Wscript.Sleep 240000 ' 4 minutes

WScript.CreateObject("WScript.Shell").Run """C:\Program Files\Asus\Probe\AsusProb.exe""", 2

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.

HKEY_LOCAL_MACHINE
 \SOFTWARE
  \Microsoft
   \Windows
    \CurrentVersion
     \Run
"ASUS Probe"="C:\Program Files\ASUS\Probe\AsusProb.exe"

Double-click on "ASUS Probe" on the right side and change the value to read:

"ASUS Probe"="C:\Program Files\ASUS\Probe\DelayedStart.vbs"

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.

Set WsShell = WScript.CreateObject("WScript.Shell")

Wscript.Sleep 240000 ' 4 minutes

WsShell.Run """C:\Program Files\Asus\Probe\AsusProb.exe""", 2

Wscript.Sleep 20000 ' 20 seconds

WsShell.Run """put the path to the next program here"""

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 triggers

Make 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.

HKEY_LOCAL_MACHINE
 \SOFTWARE
  \Microsoft
   \Windows
    \CurrentVersion
     \Policies
      \Explorer
"NoTrayItemsDisplay"=dword:00000000

2005-04-05 – Reagan Wiliams reports that in Windows XP (2002) a similar value with the same effect is here (meanwhile confirmed):

HKEY_CURRENT_USER
 \SOFTWARE
  \Microsoft
   \Windows
    \CurrentVersion
     \Policies
      \Explorer
"NoTrayItemsDisplay"=binary:00000000

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:

HKEY_LOCAL_MACHINE
 \SOFTWARE
  \Microsoft
   \Windows
    \CurrentVersion
     \ShellServiceObjectDelayLoad
"SysTray"="{35CEC8A3-2BE6-11D2-8773-92E220524153}"

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.

HKEY_LOCAL_MACHINE
 \Software
  \Microsoft
   \Windows
    \CurrentVersion
     \Policies
      \Explorer
"DisableLocalUserRun"=dword:00000000

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:

Found another way to lose the volume tray icon to add to your site. Tracked this one down myself as it had me pulling my hair out.

Basically my registry had lost some entries for sound drivers that microsoft installs with XP. Reinstalling the sound card, etc did not help. All sound features seemed to work except I did not get the volume systray icon and in the control panel applet for sound the button to "play" a selected sound was ghosted. In there registry under the following key there are a number of sound drivers which are defined on a fresh XP install:

HKEY_LOCAL_MACHINE
 \SOFTWARE
  \Microsoft
   \Windows NT
    \CurrentVersion
     \Drivers32

The sound tray icon and control panel try to open the driver called "wavemapper" and if it's not there the sound icon does not display. The registry entry is a string entry that looks like this:

wavemapper   REG_SZ   msacm32.drv

Once I added this back it started working. I then exported a .reg file for this drivers32 key from a fairly fresh XP installation and imported that on the system because wavemapper was not the only key I had lost. I have a theory that this somehow happened due to installing and uninstalling codecs, but I'm not sure.

-steve

2006-08-09 – Mikael Tilly wrote to confirm Steve's findings.

2006-08-10 – Hakan Turan also confirmed:

I had the same problem, no volume icon. Only mp3 and wav files were playing fine and no midi file was audible.

Steve McAfee's solution to add:

wavemapper REG_SZ msacm32.drv

to the registry solved my problem.

Later I remembered that I had uninstalled a DivX codec package lately. I think that caused the problem.

2006-09-10 – Tomer confirmed.

2007-03-19 – Bruno Zumella wrote:

[The relevant text on this web page] reminded me that I uninstalled XviD 1.x.0 and then reinstalled the last XviD 1.1.2 on my two computers. Then the registry key was missing.

I recreated the wavemapper REG_SZ entry and all works well know. The sound icon is back.

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:

One of the points to look for, when the systray is missing or behaving weird, is the presence of the systray inprocserver. For some silly reason, it got lost in my registry. This lead to the following behaviour:

  • Systray was present with the clock symbol.
  • Custom symbols, which come from minimized applications worked also.
  • Taskmanager symbol was OK.
  • Soundsymbol was missing.
  • The USB-Stick symbol did not appear, neither the sound which you get when plugging in.
  • If you enabled "Show Volume Control in Taskbar" from multimedia settings, it was back again, but just for the session. After reboot, still missing.

The following registry update puts the missing entries back in place:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{35CEC8A3-2BE6-11D2-8773-92E220524153}]

@="SysTray"

[HKEY_CLASSES_ROOT\CLSID\{35CEC8A3-2BE6-11D2-8773-92E220524153}\InprocServer32]

@="C:\\WINDOWS\\system32\\stobject.dll"

"ThreadingModel"="Both"

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:

  • Open the file by clicking on systray_inprocserver.reg and give permission to change.
  • Copy and paste the registry update shown above into a text file with the extension .reg and double-click on it.
  • Enter the keys and values by hand. The @= entries are the "(Standard)" values.

Other possible triggers and workarounds

New 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.

HKEY_LOCAL_MACHINE
 \SOFTWARE
  \Microsoft
   \Windows
    \CurrentVersion
     \Run
"systray"="systray.exe"

Step-by-step instructions:

  1. Click on Start, Run..., type: regedit
  2. Press return
  3. In Registry Editor, navigate the left directory tree to: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  4. Right click in the right window pane, select New, then String value.
  5. Give the new string value the name: systray
  6. Your new value should now have the name "systray", the type "REG_SZ", and no data. Right click on this new systray value and select: Modify
  7. Enter the value: systray.exe
  8. Click: OK
  9. Close Registry Editor.
  10. Restart your computer.

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:

I could work around the issue using PS Tray Factory. It allows to restore all the tray icons after a crash of explorer. Just testing it but it looks very promising - and offers some additional benefits as minimizing any application to the tray. See www.pssoftlab.com for more details.

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.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:

This solution might not be comfortable when the problems with missing icons appear at every boot, but it's very useful if it only happens sometimes. The 12ghostTray has a function that can restart just the systray. When it does, all icons become visible as they should. http://12ghosts.com/ghosts/tray.htm

2005-07-20 – Dan Berger wrote:

I found another rather simple way of correcting the missing notification tray icon problem. [...]

Since it appears that load order or load timing may be responsible, I simply moved the command to load the problem program from its registry key location to the startup menu. It worked.

I imagine that just moving things around among the six registry load keys and the startup folder will solve most problems of this sort. Doesn't solve the "why" question, but at least it seems to work.

2005-10-11 – Vivek Tanna outlined the following procedure:

Usually to get back the missing icons one can use the following steps to kill and restart Windows Explorer:

  1. Press Ctrl + Shift + Esc to get Task Manager
  2. In Processes click on explorer.exe and click on the End task button
  3. Select the command File, Run and type in: explorer (or alternatively click on the Applications tab, then on the lower right button, New task ... and enter explorer there)

This brings back the missing icons 99% of the time.

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:

In any case, I must say that copying "My Documents" from one administrator account to another was very quick. [...] If they see tray icons if they logon in "guest account" [...], then create a new user all together and cut-paste [My Documents]. Unfortunately they will also have to re-do all the little tweaks on the way they want windows to look (e.g. start menu items, internet explorer buttons etc), but nevertheless it took me about 20 mins to configure everything the way I wanted it. Important to note if you do this method: copy outlook .pst on my (new) documents and import to outlook. Copy also the favourites folder before you delete the account (these are the only two actions I made when switching users, as all my programs are configured to be used for all users).

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:

In Windows XP Professional you can delay the automatic windows logon by doing the following, see if that helps:

Start -> Run... -> type: gpedit.msc -> press the enter key -> navigate to:
Local Computer Policy -> Computer configuration -> Administrative Templates -> System -> Logon

Enable: Always wait for the network at computer startup and logon

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:

I tried most of your suggestions and some would restore one icon, but then another would disappear. Then quite by accident I stumbled on a solution that seems to work 100% (at least for the time being).

I was looking for the menu to hide network UPnP devices as suggested on your page and I found that in Network Connections/Advanced/Advanced Settings, my 1394 connection (which is disabled) was my first device in priority order. So I moved the local network to the top of the priority list and when I rebooted the next time it seemed to cure the problem totally. All of my tray icons have returned.

2006-11-28 – Lawrence LaCroix wrote about an interesting point again:

In the taskbar properties menu, there is an option to control the systray icon properties, like "show always" "hide when inactive" and "hide always". Below the active icons is a cache of recently used systray icons that for some reason Windows likes to remember. Over time this list can get longer and longer if you have installed and removed a lot of applications that have systray icons. In this storage area, there are also sometimes "folder" icons. These can represent temporary information that was in the tray that never had an icon, or it can represent deleted program icons for which Windows no longer has the original icon available to display, so instead Windows simply displays the standard Windows folder icon with a description.

When I use the registry fix with the two keys that are deleted (IconStreams and PastIconsStream), all of the recognized icons are deleted, but I still had at least 20 of the "folder icons" described above that were not removed. Even after rebooting these were still there, and even after rebooting I had some current systray icons that were still missing from the notification area. When I used the longer method to use Task Manager to shut down Windows Explorer and restart it in the current session (Run: explorer), all of the "folder icons" disappeared and my systray icons started working properly again. I am fairly sure that this missing systray icon issue has something to do with how Windows reads that list of systray icons, current & recently used, held in this taskbar properties file.

Instead of steps 1 to 4 below, you can also run systray_cleanup.reg or another of the related registry fix files described in the chapter "The most successful workarounds" above. They all remove the two registry keys.

  1. Click Start > Run > Regedit
  2. Navigate to
    HKEY_CURRENT_USER
     \Software
      \Microsoft
       \Windows
        \CurrentVersion
         \Explorer
          \TrayNotify
  3. Delete the IconStreams and PastIconsStream values.
  4. Close Regedit.
  5. Open Task Manager, click Processes tab, click explorer.exe, then click End Process.
  6. Still in Task Manager, click File, click New Task, type explorer, then click OK.

I think that the other fix [see above] that rearranges the default network search order worked on one of my computers because it changed the order that the icons were loaded, again this points toward some quirk or glitch in that icon storage information. This fix also has some interesting side effects, on my home computer the systray now loads about twice as fast since I moved the 1394 network adapter down the list and put my local network at the top. Now figure that one out!

2006-12-13 – Pete Green wrote:

Simply using the 'Optimize System' option within Microsoft's Bootvis program does the trick for me.  Bear in mind though that if, after running it, new programs are installed that load at startup, it may be necessary to re-run Bootvis.

Whilst Bootvis is apparently no longer available for download from the Microsoft site, a search on Google will reveal several sources.

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:

Problem was missing systray icons, specifically printer icons (and sometimes others) after Avast anti-virus was installed. Computer was heavily loaded with software, so tried extra memory, which improved performance but didn't cure problem. Kicked out some unnecessary startups, which interestingly did not have any effect either.

Uninstalled Avast and installed AVG to see what happened, and icons re-appeared.

Uninstalled AVG and again installed Avast, icons gone again! (Processes were, however, running, when I checked).

Investigated registry with no joy and lots of other possibles until I hit on it.

Right clicking avast gives access to program settings and next level "troubleshooting", where you can delay the loading of avast services. This fixed the problem after a re-boot, so in this case at least it seems to indicate that it is purely the systray not being able to keep up with the demand or maybe just a question of timing. My guess is that the demand of the loading services limits the resources available to the systray load.

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:

HKEY_LOCAL_MACHINE
 \SOFTWARE
  \Microsoft
   \Windows
    \CurrentVersion
     \ShellServiceObjectDelayLoad
"UPnPMonitor"="{e57ce738-33e8-4c51-8354-bb4de9d215d1}"

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:

I tried all of the different suggestions with various results but this worked 100%. I downloaded the freeware Startup Delayer program from: http://www.snapfiles.com/get/startdelay.html [Homepage: http://www.r2.com.au/software.php?show=startdelay]

Startup Delayer allows you to specify which programs to start first and which ones to delay. You can set a custom delay for each one, even drag the visual display graph which shows you exactly how your programs are starting and allows you to easily modify the order or adjust delay times.

It appears that windows does not load the icons if several programs try to start at once. I'm loading eleven programs at start up in eight seconds in the order I want them to load with no problem now.

2007-06-21 – Jali Pajula wrote from Finland:

I just found out that the reason for my disappearing systray icons is ZoneAlarm Security Suite.

I can reproduce the situation _every time_ when I install ZA SS and the problem diappears every time when I uninstall the program.

This is kinda mystery to me, because I cannot make this happen with my other PC, also ZA Security Suite installed.

But as said, with this computer I can make it happen every time.

Closing remarks

Cited 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, vote, attachment

Result statistics—please report your results.

AttachmentSize
shell32patch.zip - Patch by nars. Some people had problems downloading it from the original site.165.22 KB

Other causes

Fri, 2010-06-04 10:50 by admin

Check for the other causes. Normally the patch works perfectly.

no, seriously, its not

Fri, 2010-06-04 11:09 by SHSH

no, seriously, its not working. It makes a lot of icons visible again, but some are still missing. Its all about the startup process being somewhat "blocked" by lots of autostarts, it has nothing to do with upnp or shell32.dll and so on. Users experienced best results with startup delayers already...

patched shell32 (5622-version)

Fri, 2010-06-04 05:48 by SHSH

please, cant you guys just upload a patched shell32.dll for XPSP3 users? I'm not too familiar with windows...

Copyright

Fri, 2010-06-04 10:48 by admin

I guess we can't do that because it would be a breach of copyright. Stupid, but politics and the law tend to be that way these days.

no problem, I was able to do

Fri, 2010-06-04 11:10 by SHSH

no problem, I was able to do it on my own with an HEX editor and the replacer.cmd

GeminiAlpha's picture

patched successful.

Fri, 2010-05-21 09:52 by GeminiAlpha

I followed the method of Gravious0.
(Tue, 2010-01-19 05:32 by Gravious0)
made changes to
offset 00069AA4 from a0 to 60
offset 00069AA5 from 0f to ea
offset 00069AA9 from 03 to 01
and used A.X.E. an old version: 2.1 (a.x.e. is the advanced Hex editor for Win32), which is on my system since january 2006. It did the job perfectly.

I used Replacer to exchange the files within Windows, it worked great!

my shell32.dll was productversion: 6.0.2900.5622
fileversion: 6.00.2900.5622 (xpsp_sp3_gdr.080617-1319)
(both on my notebook a.w.a on my desktop)

my problem was: systray icons not popping up/showed randomly.

I'm confident this solution works, I'll see.

Thank you all for your extensive comments & hints, I really enjoyed them!

Rudolf NL

armandyano's picture

Volume and Power icons missing on Win XP's System Tray

Tue, 2010-04-20 14:44 by armandyano

Aside from my previous suggestions post. As I've actually tried and tested in some other PC's it's true that working/changing settings both on SSDP Discovery Service and Universal Plug and Play Device Host (UPNP) on Administrative Tools Services also really works! Most likely the Ostuni Workaround (hide icons for networked UPnP devices on My network places left pane).

armandyano's picture

Volume and Power icons missing on Win XP

Tue, 2010-04-20 11:47 by armandyano

This most probably cause by executing a modified explorer.exe or new modified .dll file(s) on Windows (sytem32 as other says) running Windows booting directly to Windows Desktop by means of bypassing Welcome Screen of a certain User/Administrator... So in order to view normally system icons, others advise to go to Windows Task Manager (right click blank part on task bar or ctrl-alt-del to display it) by stoping or ending process of explorer.exe then re-run a new task for explorer.exe again to restore the explorer processing.

To take this comment in short, In order to display a regular or normal taskbar/system tray icons, explorer.exe must execute normally. To do this others log-off the windows then log-in again, in this way it execute Windows desktop environment display normally.

So, to summarize the solution is to run/execute the Explorer.exe normally. By creating a user with a password restart the computer, booting up normally to Windows Welcome screen, open a certain user, input the assigned password (regardless of account administrator or something...) then your done, execute Windows normally, all desktop icons, arrangement, sidebars, taskbar, system tray icons, will all be displayed there.

Added Suggestion: If you have TweakUI program for Windows: 1. show taskbar notification icons on Taskbar and Start Menu must be "checked", 2. on Logon bar "checked" a certain Show User or multiple user to log-on to welcome screen and under it 3. On "unchecked" Auto log-on.

Summary: Create a User with a password then run Windows XP normally by not bypassing the Windows Screen menu/selection, then it will execute the way it is!!!

Thanks and I hope this suggestions would help someone out there! Good Luck! :-)

Armand Yano
Manila Philippines
armand.yano@yahoo.com
+639215742412

Systray Icons Missing

Wed, 2010-02-10 16:04 by izzibened

It's hard to believe that after four years without a problem, various icons disappeared (sound, power, network connection, etc.) I found the article and tried the Log On/Log Off method without success and then tried The Ostuni Workaround. The icons reappeared after reboot and have appeared ever since.

Thanks for the fix and the insight.

My fix

Wed, 2009-12-30 19:33 by fernandopabon

It all started when I changed the Networking services on Windows componentes under Add or remove programs.
I started to notice icons not showing in the system tray after logon. It had neved happened to me in all the time of using Windows XP (since it appeared).
I tried to deinstall, uninstall, reinstall the components under "networking services"; also stopped, started, set to manual, disabled & automatic both services (upnp & ssdp); all this plus ~30 reboots after every change.
Nothing worked.
Then I started to investigate (after remembering that I only activated the upnp user interface in "networking services") what that option actually does. I searched c:\windows\inf and found that in "netupnp.inf", the file "upnpui.dll" gets registered; that adds a registry value at HKLM\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved (I don't really remember the actual value, it was something to do with "upnp").
So, I deleted that key and restarted.
Still not all icons appeared.
But that key looked funny so I started Autoruns (a sysinternals utility that shows all the autorun locations) and browsed to the explorer and "shell extentions\approved" list; there I saw a LOT of duplicated entries. I deleted them (just duplicated names, not considering the description and path columns).
After restart, all my icons showed up.
Such a relief!
I hope this works for you too!
P.S. (after all this I modified a menu script of shell32.dll using reshacker (to add thumbnails to the desktop). The problem reappeared. Reverting to the original file fixed it again)

Some aplication Icons spending too much time ?

Tue, 2009-12-22 23:47 by Bright_Star

I use XP autologon, speeding up boot, always trying to keep resident programs and icons as lean as possible but after the last XP update, volume and safely remove hardware, icons kept on disapearing after reboot. I have seen it sometimes on my other system but not as permanent as now.
Before switching the XP UPnP user interface off, I tried to see what it does to the taskbar. Toggling off/on/off/on/off UPnP in my linksys router causes notifying Icons in the taskbar. When I switch XP UPnP user interface off, the taskbar will not show notifiying icons when toggling UPnP devices.
The UPnP user interface may spend too much time waiting for UPnP devices to report with a notifying icon. Switching off the notifying (Ostuni), solved my problem, but from this site I understand that piling other device icons may also cause shell timeout problems.

Complete solution

Wed, 2009-12-23 08:34 by admin

Your comment made me restructure the main article at the top, because it had been all too easy to overlook the complete solution worked out by two other users of this web site.

Please check the new second chapter near the top. It explains the root cause and the perfect (as far as I can tell) solution.

Unfortunately that solution requires patching a Windows system DLL, which is not for the faint-hearted, but so far we have nothing better to offer, until some kind-hearted systems programmer automates the entire procedure completely into a one-click solution.

Sound Icon Gone from SysTray - at last solved !!

Mon, 2009-11-23 13:42 by logxlogy

I found and tested many solutions found on Internet. None worked.
I finally found out this web page (which sounded immediatly technically very interesting).
I tried out several of the reported suggestions but with no result. Finally I reached the line with the report from Steve McAfee (on 2006-07-14) mentioning for the first time (for me) the msacm32.drv.
Its solution didn't work for me (the wavemapper REG_SZ msacm32.drv was already present
on my registry).
Anyhow this let me have the idea to check the presence of msacm32.drv on my PC.
It was present ***at two different*** locations: C:\WINDOWS\SYSTEM32 (20 kByte) and
C:\WINDOWS (120 kByte). This sounded at least suspicious. So I did the same check on my other PC running the same version of Windows (XP SP2). There the driver was present just once,
at C:\WINDOWS\SYSTEM32 with lenght of 20 kByte.
So I renamed the msacm32.drv present at C:\WINDOWS as msacm32XXX.drv. I went to
and applied again the option "place the icon volume on taskbar".
The icon immediatly appeared on the the taskbar!

I experienced a virus/spyware attack some days earlier and I think that was somehow a consequence of that attack. C:\WINDOWS probably comes earlier than C:\WINDOWS\SYSTEM32
on the path checked by windows so this was enough to produce this weird behavior

Many many thanks to Steve and all the others which helped me to solve this annoying situation.
This site is really great.
I hope my experience can help someone else.

Greetings to everyone!

Thanks for reporting this

Mon, 2009-11-23 14:20 by admin

Yes, C:\WINDOWS indeed comes before C:\WINDOWS\SYSTEM32 in the system path, and so the wrong file was apparently found and used.

I would check again very carefully for an infection. Perhaps use a second virus checker.

Missing Icons

Sun, 2009-10-11 21:18 by tetrasect52

I had noticed this icon problem for awhile but since I could access everything in my systray via a shortcut or START, I did not bother to research the problem. Then I learned about AT&T tethering as a means of connecting to the Internet in an attempt to cut down on costs. However, they have a 5 gig cap on throughput. Exceed that and you are in trouble. Some ISPs are going to start getting down on broadband hogs. So, I needed a way to actually measure how much I have been using. I downloaded a program which wound up in the systray. it kept disappearing. I could not contact the programmer so I downloaded another problem...same problem. When I searched his forum it brought me to this site.

I say this because Windows is a bloody curse. I have been using it so long and have so much PC software that I have not done what a friend of mine who has been in Windows Hell has done and that is to finally get a MAC and learn how to use it.

Computers are supposed to simply our lives. My avocation has nothing to do with computers but like everyone else I have become dependent upon them, like an addiction. It seems I spend more and more of my time trying to fix problems preventing viruses, malware, windows security problems, gliches...etc., than using the computer for that which it was intended...simplify my life. So, there..,got that off my chest!

1) Tried logging on and off. It worked.
2) went to control panel...administrative tools...services and found UPnP and SSDP both in automatic already. I disabled UPNP, re-booted and it did not work.
3) I disabled both, re-booted it worked....however, for reasons unknown it disabled my Trendnet USP adapter which connected me to my WI-FI Internet connection!
4) I put both UPnP and SSDP back into automatic, re-booted, got my connection back ANd my icons. Obviously this makes absolutely no sense to me since I was in automatic for both services to begin with. I do notice that my Icons come up in no particular order and think this may have somthing to do with having too many icons, in my case 11 program icons, soiund, remove hardware which I don't need for a PC, and my network Icons.

If you go to properties in both you can find out what applications/services are dependent upon these services. In my computer only as has been mentioned, Windows Media...something I could not care less about.

Ironically, in my recent search to decrease costs I researched the "Magic Jack" a device that looks like a thumb drive that plugs into a USB port and though a bit of a simplification, uses the VOIP to give you unlimited long distance for about $20 a year. The problem with the device is that if it works you are fine. If it does not, unless you are comfortable with troubleshooting networks (which I am not) forget about it. Support is virtually non-existent. And, guess what service is required to use it? That's right...UPNP!

I think over time UPNP is going to become essential for all sorts of things.

Looks like I am going to use Vonage or Comcast!

I have now put way too much time into this, more than it deserves which is why I absolutely hate PCs! Good luck. I hope someone comes up with some answer that makes sense. However, if Microsoft can't, who can:) !

Missing System Tray Icons

Thu, 2010-03-11 00:10 by lynnelson

If you have Tweak UI installed, be sure to check 'Taskbar and Start Menu/ Show taskbar notification icons.'

shell32.dll patch

Sun, 2009-10-11 22:02 by admin

I take it that you haven't tried the only 100% solution—the shell32.dll patch.

I agree with your sentiments on the unreliability of today's computers. I can only try to help with particular problems, but the fundamental problem always remains.

We have to do what we can and hope that somebody, someday writes a reliable operating system and reliable software. Judging by the problems that cars and even aeroplanes have with computer glitches and failures, I'm not holding my breath.

shell32.dll patch

Mon, 2009-11-23 15:06 by logxlogy

Cars and airplanes are expensive, had to guarantee to protect customer's life and
after 10-20 year had to be replaced anyway. So there is a gain for the makers.

MS needs to exit with a new OS every a while or else it would be bankrupt in a few years,
having nothing to sell.
So all the experience of the past and what users have learned become useless.
It is not only difficult but even against any commercial wisdom to make
a real solid, reliable, long lasting OS.
Windows is not this way by chance but because of the former arguments,IMHO.

Tommm777's picture

Sound Icon gone, System Sounds Greyed, but Sound Players work

Mon, 2009-05-18 22:49 by Tommm777

I saw comments about the file msacm32.drv possibly not being pointed to correctly in the registry from an earlier comment in this forum but, looking at my registry, sadly, the correct references were there. However, I got another tip from somewhere else that an AntiVirus program may have deleted that file due to a 'suspected' infection. When that happened we get the "system sounds" missing problems. Perhaps my file was missing !! Ah HA! However, unfortunately, my file was right there in the directory it should have been in also. BUT, BUT, BUT - I got lucky noticing this here, probably from sheer will power but when I noticed the file properties for the 'similarly named files'

msacm32.drv
msacm32.dll

(I left a similarly named msacm.dll alone)

I saw that the DRV and DLL extention files had had different dates? Hummmm.... Why in the world would they be different ? The File sizes matched exactly those containing these files of another known good system but the dates were different. So, based on a suspicion that if these files were not fully functional the sound may not work (the antivirus accidental delete discovery tip) I decided to replace both of them with a copy from my KNOWN GOOD WINDOWS XP SP3 system.

So, went into safe mode and replace the files on my Dell M1330 XPS laptop which had the problem. I used an unlocker tool (Unlocker Assist ver 1.87) I had previously found online (very useful as it puts itself into the context menu) and was successful in replacing the files on my Dell C:\Windows\System32\ directory.

Wowie, Wowie. I could not believe it but on my next Boot up Now...finally my SYSTEM SOUNDS worked again. Ok, this took 20-30 hours of search and experimentation to work out. But really, Geesh... I do hope this helps someone else and that some one greater Microsoft Guru than myself can explain why this worked. What was really annoying me about the loss of the system sounds was that I could not preview online music anymore unless the system sounds worked. At least that is how the probem most bugged me previewing mp3's on Amazon.

Good Luck to you all,

Tom...

Thanks for these findings

Tue, 2009-05-19 15:04 by admin

Good find! It is probably a good idea not to let antivirus programs work automatically and unattended. It may be better to check what they do, and if they find an infected system file, at least keep an eye on it, google for its name, and replace it manually if needs be.

This worked well.

Wed, 2009-04-15 17:07 by James Matte

I am a Brazilian user.
In Windows XP Professional:
gpedit.msc > Local Computer Policy > Computer configuration > Administrative Templates > System > Scripts... and:
Enable: "Run logon scripts synchronously".

Only with logon script?

Wed, 2009-04-15 18:50 by admin

Thanks for this interesting hint!

I suspect that it works only if you actually have a logon script, which many users do not.

Systray problem solved!

Tue, 2009-04-14 12:56 by webwizard

Well, first of all, thanks to all of you for all this great information. This annoyance of not being able to see icons, not being able to collapse the systray, disappearing icons including the Windows update shield, has been driving me nuts. I got all my icons to reappear basically by trial and error and some clues from this page. But the hide/show arrows were still gone and it seemed that all my icons active or not were all being displayed regardless of what I checked in properties. Perfectly fed up, I basically just googled the problem differently: "systray arrows missing"...and I came across this http://www.pcreview.co.uk/forums/thread-2523690.php which basically said to go to taskbar "properties", hit customize and then check "always hide" for whatever icon is listed in the top section. It worked!! Arrows are back, collapsing is working fine. So I really just wanted to share this with the group and hope that it clears up your frustration, like it did mine!

Good to hear

Tue, 2009-04-14 16:15 by admin

Apparently setting the first icon to "always hide" already restores the arrow.

iphone

Mon, 2009-02-23 10:19 by iPhone

Nice Post! Thanks for the comments.

Patched shell32.dll

Sat, 2009-01-24 02:07 by depassp

After some more investigation, it appears the "TaskbarCreated" workaround does not work reliably, nor does it work for (in my case) specifically, the Volume icon.

So, I've gone ahead and implemented tasmanian's patch. I had to re-disassemble shell32.dll since it seems Microsoft updated it during SP3.

The changes are:

shell32.dll version 6.0.2900.3241 (xpsp_sp2_qfe.071025-1245)
use a hex editor to change
0xA00F to 0x60EA at offset 0x656DA and
0x03 to 0x01 at offset 0x656DF

shell32.dll version 6.0.2900.5512 (xpsp_sp3_gdr.080814-1236)
use a hex editor to change
0xA00F to 0x60EA at offset 0x69A14 and
0x03 to 0x01 at offset 0x69A19

I have uploaded my patched dll here:
http://qlink.queensu.ca/~4pd5/shell32.patched.fix.systray.icon.zip

INSTRUCTIONS

0. Create a System Restore point (for the faint at heart)
1. Browse to C:\Windows\System32 and ensure your shell32.dll is version 6.0.2900.5512 (Right-click shell32.dll, Properties, Version tab)
2. Download and extract DLL Replacer: http://www3.telus.net/_/replacer/
3. Start Replacer, then drag the original shell32.dll (from c:\windows\system32) to the console window and press enter
4. Drag the NEW shell32.patched.dll to the console window and press enter
5. Reboot
Willer's picture

Broken Link ..?

Tue, 2010-03-16 10:18 by Willer

Error: Page Not Found ...!
http://qlink.queensu.ca/~4pd5/shell32.patched.fix.systray.icon.zip

Noooooooo... Is there another Page ..? Location for the shell32.patched.dll
Was expecting it with replacer ;-P ..?

So why Dont M$ Just Officially Patch it ..?

Not the latest

Tue, 2010-03-16 13:47 by admin

That was not the latest version anyway. The latest seems to be 6.0.2900.5622, and the offsets for patching are a few comments further down.

You have to do the patching manually though.

If Replacer does not work

Mon, 2010-01-11 20:02 by admin

If Replacer fails, which apparently sometimes happens, the other method, successfully used and described in the comment Offsets for 6.0.2900.5622 working 100% also here :) not far below this one, is to use another operating system installation to swap shell32.dll.

That can be another Windows installation, BartPE, or some version of Linux that you may be able to boot from a DVD.

Just make sure you don't miss the important locations where shell32.dll dwells. The three essential places are:

  1. the system32 folder in Windows,
  2. the system32\dllcache, and
  3. the install folder i386, if you installed Windows from your own hard disk.

Version question

Wed, 2009-07-01 05:45 by bravo7

My version of shell32 is 6.0.2900.2180. What should I do in my case?

Update

Wed, 2009-07-01 14:05 by admin

Install Service Pack 3. I think the automatic updates also deliver SP3.

This is also a general sign of trouble. If automatic updates don't work, then your computer may not be safe.

Patched shell32.dll

Fri, 2009-02-27 19:34 by nate

Thank you. I am not even close to a programmer, but I was able to implement your solution and it worked until yesterday.

Unfortunately, Microsoft just updated the shell32.dll.
New version: 6.0.2900.5622

I am hoping if you devise a new patch that you will upload it for public use.

Thanks again.

I knew it was going to happen

Fri, 2009-02-27 21:52 by admin

Sooner or later Microsoft was bound to make some change shell32.dll. But they did not fix our favorite bug.

Offsets for 6.0.2900.5622

Tue, 2009-03-03 21:58 by marek

Could somebody please verify the following

shell32.dll version 6.0.2900.5622 (XP SP3 ger)
use a hex editor to change
0xA00F to 0x60EA at offset 0x69AA4 and
0x03 to 0x01 at offset 0x69AA9

These changes work here on several XP SP3 - but all german. So I'm not sure if for other languages the offsets are the same although I used the offsets posted here successfully.

Offsets for NEW 6.0.2900.6018 file

Sat, 2010-08-14 19:36 by mcrealize

Made changes to

offset 00069A60C from A0 to 60
offset 00069A60D from 0F to EA
offset 00069A701 from 03 to 01

These are the new changes to the latest Shell32.dll file. Someone please confirm.

Correct offsets for (french) shell32.dll version 6.0.2900.6018

Sat, 2010-09-04 02:33 by PaulSiramy

I had to installed the UPnP service (because of the use of MS Live in Dirt 2), and then some of my systray icons were starting to disapear. I applyed this patch to my (french) C:\WINDOWS\system32\shell32.dll, and it worked (both the game and the icons). Thanks a lot for this simple, yet efficient, solution !

Correct offsets for shell32.dll version 6.0.2900.6018

Sun, 2010-08-15 13:45 by TeaRex

Thanks mcrealize! However your offsets above contain an extra zero that should not be there. The correct values are:

offset 00069A6C from A0 to 60
offset 00069A6D from 0F to EA
offset 00069A71 from 03 to 01

PERFECT !!!!!

Mon, 2010-09-06 01:42 by Jarod_Whlp

MAN !!!!
This saved my life, thanks !

Offsets for 6.0.2900.5622

Tue, 2010-01-19 05:32 by Gravious0

This fixed my missing volume controls icon in the notifacation area. i tried just about everything and was about to reinstall xp before i found this.

i downloaded a free HEX editor from here
http://www.hhdsoftware.com/Products/home/hex-editor-free.html

made changes to
offset 00069AA4 from a0 to 60
offset 00069AA5 from 0f to ea
offset 00069AA9 from 03 to 01

Thanks

Gravious0

Offsets

Thu, 2010-03-25 16:15 by Ripr

Downloaded the hex editor. Loaded my shell32.dll (6.0.2900.5622). Did a find for each of the three offsets - editor can't find any of them.
Observations?

Also struggling with a WinXP SP3 activation problem. Base CD is an OEM installation - worked a while ago but I had a "C" drive crash and had to reinstall pretty much everything, including Windows. Fortunately, I was able to recover about ~80% of the data from the bad disk. I think I got caught by the Microsoft hardware ID "magic".
Any suggestions for pointers to this issue?

TIA
Rip

how to use that editor

Tue, 2010-05-11 22:41 by robs227

You actually need to find 00069aa0 on the very left rows. Don't bother finding it with the find tool. Scroll down and look for it. Once you find that row, look at the 04, 05, and 09 columns and make the changes to the values where that row and the three columns intersect. For example, if you look at the 04 column value on that row it will be a0. Change that to 60 as stated above. Notice that when you click on that cell the row value changes to 00069aa4, this is what the above poster meant. I hope this was clear enough!

Offsets for 6.0.2900.5622 verified and 100% working

Thu, 2009-10-22 07:28 by karate_chop

AWESOME!!!,its working 100% on the first attempt and no problem at all,thanks alot for the solution...I think this will solve most of all the problems with the systray...pfffffff ;) but thats just me....THANKS AGAIN

Offsets for 6.0.2900.5622 working 100% also here :)

Mon, 2010-01-11 09:38 by elche99

MANY MANY MANY THANKS !!!! to all contributors.
My version of the infamous shell32.dll was the english one.
A couple of caveat about the procedure to replace the .dll:

- Replacer for me DOESN'T work: replacer.cmd abort suddenly after launching stating that the "find" command is not valid...
- I've used the "UBUNTU method": restarted with the Ubuntu LiveCD, searched the windows startup disk for all shell32.dll (they were a lot, very annoying process) and replaced all with the modified one.

My tray icons reappeared and they are still there... the obvious question is WHY MS doesn't include this mod on the "official" shell32.dll file ?

Thanks again to all.

Thanks for reporting back

Mon, 2010-01-11 19:55 by admin

I'll add a note to the main article about using another operating system installation to swap the shell32.dll files.

Windows is a monopoly. Fixing bugs does not raise sales.

Offsets verified for shell32.dll version .5622

Wed, 2009-03-04 00:29 by nate

I downloaded a hex editor and figured out how to use it to change the hex code.

Your offsets were correct (in english) and now all my icons are back in the notification tray.

Thank you.

Verified again for the German SP3 version

Sat, 2009-06-06 08:56 by admin

My computer didn't show the problem for a while, but after some recent updates like Microsoft's Windows Search it came back with full force. Nothing, not even waiting for several seconds before logging on, would make the missing systray icons appear.

So I patched shell32.dll with the above procedure, and it worked on the spot. Thanks again for this perfect solution.

A few remarks:

  • I used the stable version of Replacer, not the pre-release. Never tried the pre-release version.
  • After dragging and dropping shell32.dll, the dropped file was opened in notepad, but after I closed the notepad window I could proceed successfully as documented.

Great

Wed, 2009-03-04 07:15 by admin

Thanks to both of you for providing and confirming these offsets.

In fact I wasn't sure whether Microsoft had actually fixed the problem in the latest version, but if the patch has a good effect on your computer, then the defect must still be there.

Offsets not working in Spanish Version

Fri, 2009-05-15 03:52 by Albert C

Hello!
First of all, congrats on your excellent solution to a very annoying problem.

I was succesfully using your patched version of shell32.dll, until a recend Windows update ended my joy.
I tried patching the new version of the Shell32 file with a hex editor, but the fix above does not seem to work on the Spanish version of Windows XP Pro.

Where can I find the offsets to fix the Spanish version of the file?

Or maybe, if its not too much to ask, could one of you guys post a link to a patched shell32 v.5622?

I thank you in advance for your help, and once again congratulations!
Best regards,
Albert C

systray icons

Sun, 2009-04-26 05:30 by ngc7088

"I once was lost but now I'm found, was blind but now can see.."
One more big thank you for your risks and efforts. Very much appreciated. I registered just to post this and show my gratitude. It's not just "having"the icons". It's their functionality too that's recovered! this is a major issue which is just shameful not to be addressed by Microsoft! shame shame shame on them!

Thanks a lot

Sat, 2009-01-24 09:43 by admin

I believe this is the perfect solution. I've been running the patched shell32.dll on my main computer since the patch information was first published here, but I hesitated with a general recommendation for the following reasons:

  1. The patch was difficult to apply. (A hex editor has to be mastered.)
  2. DLLs are very difficult to replace.
  3. The modification bears the risk of grounding the computer by making it unbootable, if anything goes wrong.

Your comment solves all of these problems. The remaining risk problem is solved by Replacer's ability to undo its last operation through the Recovery Console, which can be booted from a retail Windows CD.

I also remember a Microsoft-supported method to go back to a restore point, even if Windows cannot be booted, by using the Recovery Console.

I know that only for XP. If anybody knows this for Vista or has even tested it on Vista, please speak up.

A most fundamental emergency method is, of course, to remove the hard disk, connect it to another computer, and put the original version of shell32.dll back in place.

The only remaining problem is that the patch is still not a very simple, fully automatic procedure, but that is caused mainly by the usually sensible resistance Windows puts up against changing a DLL.

Earlier the idea has even been discussed to write a general patcher that would work on future versions of shell32.dll, as long as the code is sufficiently similar. That bears more risk, but some users may want to take that risk, particularly if there is a way out in case of trouble.

I will observe this discussion for a while and may later edit the solution into the main article at the top, while still mentioning your user names and linking to your original comments.

I am very grateful for your excellent work on this problem, also in the name of everybody who applies it successfully. To everybody who has done it, please report back, ideally through the poll.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.