tags:

views:

30

answers:

1

Hi,

I have tried to install a shell DLL in Windows7 using innosetup (installation script). To apply the shell changes I have restarted the explorer by using batch file (during installation).

It seems working on WindowsXP and Windows2003 without any issue. But in Windows7 once the explorer restarted all the taskbar icons like skype, google talk,.. (except Network and Audio icons) are closed. But all those applications are running fine. Even I click on the particular application (say skype) in start menu, it wont appear on taskbar. Only way is, need to stop the application in taskbar and again start it.

Is there any way to fix this.

Note:

I am running the installer with admin rights. Also I have tried to run the following commands in Windows7 'Administrator Command Prompt' to restart the explorer.

taskkill /f /im explorer.exe explorer.exe

The same results happen. All the icons are closed in taskbar. But if I start the explorer via taskmanager this issue wont occur.

Note sure whether it is related to my installation setup (the same commands I am using in my batch file and used to run during installation)

Is there any way to fix this issue.?? I want to install without closing the taskbar icons..

A: 

Is it possible that your icon is in the overflow area? Click on the little "uparrow" chevron on the left of the notification area and see if your icon is in there.

Larry Osterman
no. I have checked that.. Only the Network and Remote Audio icons are in "uparrow".
rahul
Bummer My next thought is to put it under a debugger and debug into the call to Shell_NotifyIcon. See if it's returning an error code that might help explain why it's not working (in XP, Shell_NotifyIcon didn't reliably return an error, in Win7 the code was improved to return an error more reliably)
Larry Osterman
hi.. thanks for your inputs.
rahul
hi, thanks for your intpus. but I am not sure how to use the Shell_NotifyIcon. Whether I need to use it in innoscripts or in separate exe. What I think is, whether any user privilege issue while running the batch file from innoscript. ie, I am starting explorer in batch file from innoscript as a root user. The taskbar icons are created when the user logins. Hence, the explorer loaded by administrator cant show the users task bar icons. If I stop the explorer from taskmanager and starts again through task manager all the icons appear again without any issue (as it is started from current user)
rahul
Shell_NotifyIcon is the API which your application calls to cause the taskbar icons to be created.
Larry Osterman
hi, I am not speaking about my icon. Seems other application icons also get disappeared. (like skype, pidgin, gtalk,...).. I hope, if I call Shell_NotifyIcon from my app, then it will create taskbar icon for my app ... am I correct.. I could not find the reason for icons disappearing.
rahul
Is it possible the icons are hidden? Again, left click on the uparrow (chevron) and click "customize" - it's possible that the icons you're looking for are there.
Larry Osterman
hi... I have used the TerminateProcess function to stop the Explorer.exe and it seems it has fixed the issue.
rahul
thanks for your inputs
rahul