Author Topic: #11 "Repair Icons"  (Read 6288 times)

0 Members and 1 Guest are viewing this topic.

Offline PWCollins

  • Newbie
  • *
  • Join Date: Feb 2014
  • Posts: 2
  • Karma: 0
    • View Profile
#11 "Repair Icons"
« on: February 19, 2014, 07:59:10 am »
Windows XP Professional w/all updates... Sony Vaio PCG series laptop... System tray shows 3 icons (indexing, network connections, power manager) although there should be more; running #11 Repair Icons corrects situation so 8 icons show (indexing, network connections, power manager + Quick Time, safely remove hdwr., remaining charge %, MSecurity Essentials, Autosizer).   Upon reboot, original 3 icons appear.  Said another way, #11 Repair Icons works; however, repair is not permanent.  Ideas?  Thank you.

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
Re: #11 "Repair Icons"
« Reply #1 on: February 19, 2014, 08:20:56 am »
Actually the repair didnt fix it and I know what is going on because it happened to me before :-)

The Repair Icons simply deletes the icon caches on Windows so it will rebuild them. To free up those cache files it kills explorer.exe and then starts it back up, and at that point you see your icons.

I had this happen on a XP machine I had and even a Windows 7 one. I started up the system and was looking for my CleanMem Mini Monitor tray icon. It wasnt there but when I checked the task manager it was. At first I thought I had a bug till I realized I had other icons missing as well.

So I killed explorer.exe in the task manager and then started it back up. And bang there was the icons.

So I did some digging and it turned out to be a conflict with explorer and the SSDP Discovery service. I went and disabled the service and rebooted and havent had the icon problem since. What I found was this, when a program makes a tray icon it sends a create icon request to Windows which then sends the command to tell explorer to draw the icon. The service for some reason during startup causes explorer.exe to not respond for a few seconds. And during that time as other programs are opening and sending the create icon request explorer isnt responding.

Now the reason most of the icons, not all will come back if you kill explorer.exe and then start it again is because in the program code (I do this for all my programs that do tray icons) you can watch for a task bar created event in Windows and if that happens I have my program send the create tray icon command again.

Sorry for the long explanation but I know when I have a problem I like to know what the cause is and why so I have a better understanding :-D

Shane

Offline PWCollins

  • Newbie
  • *
  • Join Date: Feb 2014
  • Posts: 2
  • Karma: 0
    • View Profile
Re: #11 "Repair Icons"
« Reply #2 on: February 19, 2014, 10:39:23 am »
Thanks for your thoughts.  I have found (according to someone on the Internet who is more knowledgeable than I) that the problem most probably lies with the file shell32.dll.  There is a scholarly discussion here: http://winhlp.com/node/16  One of the proposed repair exe program worked well for me (Patcher tool by Nars) and is found here: http://nars.aloj.net/download/shell32patch.zip Perhaps you can find some way to insert a similar routine into your excellent Windows repair program.  If so, won't you let me know?  Thank you.

Offline Shane

  • Administrator
  • Hero Member
  • *****
  • Join Date: Sep 2011
  • Posts: 9281
  • Location: USA
  • Karma: 137
  • "Knowledge should be shared not hidden."
    • View Profile
Re: #11 "Repair Icons"
« Reply #3 on: February 20, 2014, 02:15:26 pm »
They even mention what I said, the SSDP service is UPnP.

But I wont add a patcher tool to the program, patching the MS system files is to big a risk to have in the program, the program is meant to repair Windows to what it should be on a normal system, but it cant fix all the bugs in Windows itself. :-)

Shane