Windows 7 báo lỗi cannot create shell notification icon năm 2024

You are viewing our forum as a guest. For full access please Register. WindowsBBS.com is completely free, paid for by advertisers and donations.

shell notification icon

Discussion in 'Windows 7' started by spanky57, 2012/08/12.

  1. 2012/08/12

    spanky57 InactiveThread Starter

    Joined: 2012/08/12 Messages: 1 Likes Received: 0
    Every time I start my comp I get a message [Cannot create shell notification icon] can anyone please help? Windows 7 64bit Thanks Fred

    Last edited: 2012/08/12 spanky57,

    1

2012/08/13

MrBill SuperGeekWindowsBBS Team Member

Joined: 2006/01/14 Messages: 4,303 Likes Received: 268

I was troubleshooting an unattended installation of a particular application. The install seemed to hang right away so I figured it was presenting some kind of message [error?].

Using a Window Spy tool I made the setup process visible and saw the following message:

The unattended install was supplied by the vendor and apparently they use InstallAware.

The setup tries to create a Tray Icon, probably a setup progress indicator, but this fails because there is no shell running [the installation is pushed from a deployment server].

The setup.exe extracts a bunch of files, including the actual installer executable and places this in a temp folder. Using Process Explorer I tracked down the path:

I opened the setup executable in Ida Pro and searched for the string “Cannot create shell notification icon” on the Strings window:

Then I checked where in the code this string is referenced [doubleclick on the string and press Ctrl-X]:

From the Disassembly we can see that sub_4C3F0C is called and if this returns a value > 0 [Boolean TRUE] we jump to loc_4C39F6. if the return value is 0 the error message is displayed:

sub_4C4F0C makes a call into the Shell_NotifyIcon API:

I decided to patch the code by replacing the call to Shell_NotifyIcon with “return TRUE”. I have 6 bytes to do this:

To return TRUE we need to set the EAX CPU register [which holds the return value] to 1. If I would use mov eax, 0 this would take up 5 bytes. To get the same result in less bytes we can xor eax with itself [value becomes 0] and the increment it with 1.

Finally we return with retn 8 [8 because the function takes two arguments which are both 4 bytes in a 32 bit application]:

Now the installation continues without errors [screen belows shows the non silent installation]:

Was once an enthusiastic PepperByte employee but is now working elsewhere. His blogs are still valuable to us and we hope to you too.

This technote identifies a solution to the error Cannot create Shell Notification Icon, which might occur after a user who was once able to log into IBM® Rational® Portfolio Manager [RPM] has had their password reset.

Cause

The full error message that occurs is as follows:

Application Error

Exception ERzTrayIconError in module RPMITray.exe at 0007D51F, Cannot create Shell Notification Icon

Resolving The Problem

Use the following steps to resolve this error message:

  1. Exit the RPM Tray by clicking it and selecting Exit RPM Tray.
  2. Launch the RPM Client and uncheck Monitor Workflow.
  3. Log into RPM.
  4. After a successful login, re-start the RPM Tray on Icon tray and recheck Monitor Workflow
  5. The error should no longer occur [{"Product":{"code":"SSRR2G","label":"Rational Portfolio Manager"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Workflows \/ Notifications","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF033","label":"Windows"}],"Version":"6.1;6.1.1.1;6.1.1.2;6.1.1.3;6.1.2.7;6.2;6.2.2.3;7.0.0.0;7.0.1.1;7.0.2.2","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Chủ Đề