Possible to exclude a file from Prefetch operation?

  • Thread starter Thread starter Jack
  • Start date Start date
J

Jack

I have discovered that Prefetch enabled is the reason that the Task
Manager icon fails to load in the system tray and I was wondering if it
is possible to exclude taskmgr.exe from the the Prefetch operation so
that I may have both the benefits of Prefetch and Task Manager icon in
the system tray

With TASKMGR.EXE-20256C55.pf in the Prefetch folder and Prefetch
enabled, and using the Windows Classic theme, the Task Manager icon
fails to load in the system tray about 90% of the time when Task Manager
is started

When TASKMGR.EXE-20256C55.pf is deleted from the Prefetch folder, the
Task Manager icon loads in the system tray every time, but Prefetch
keeps recreating TASKMGR.EXE-20256C55.pf

I would rather have the TM icon in the systray than have Prefetch
enabled, but if I can exclude taskmgr.exe from the the Prefetch
operation I can have both
 
Jack said:
I have discovered that Prefetch enabled is the reason that the Task
Manager icon fails to load in the system tray and I was wondering if it
is possible to exclude taskmgr.exe from the the Prefetch operation so
that I may have both the benefits of Prefetch and Task Manager icon in
the system tray

With TASKMGR.EXE-20256C55.pf in the Prefetch folder and Prefetch
enabled, and using the Windows Classic theme, the Task Manager icon
fails to load in the system tray about 90% of the time when Task Manager
is started

When TASKMGR.EXE-20256C55.pf is deleted from the Prefetch folder, the
Task Manager icon loads in the system tray every time, but Prefetch
keeps recreating TASKMGR.EXE-20256C55.pf

I would rather have the TM icon in the systray than have Prefetch
enabled, but if I can exclude taskmgr.exe from the the Prefetch
operation I can have both

http://en.wikipedia.org/wiki/Prefetcher

There's a real reason why you want your boot time to be longer or for
your apps to take longer to load?

Just HOW are you loading Task Manager (taskmgr.exe)? Is it a shortcut
in your Start -> Programs -> Startup folder? If so, is it configured
for normal, full, or minimized window state on load?

Most the times that I've seen Task Manager fail to load and show its
system tray icon is because there is already an instance of it running.
The system notification area (aka system tray) in Windows XP is known to
have refresh problems. Many programs do not update the display of their
tray icon except when a state change occurs within the program. To see
this, configure the systray to NOT hide any tray icons. Then with Task
Manager loaded, kill all instances of explorer.exe (yep, Windows
Explorer is also used as the desktop manager). Your desktop should
disappear leaving only Task Manager's window showing (along with windows
for any other apps you left running). Then in Task Manager's File menu,
select New Task and load explorer.exe. You'll see your desktop
reappear; however, many tray icons will be missing because they did not
get refreshed. Refreshing isn't the only problem with systray in XP.
Some programs will show their tray icons although you configured the
tray to hide those icons. Every time the program starts, and despite
you wanting to hide its icon, it still shows up.

I have never heard that clearing the prefetch cache will alter the
behavior if tray icons. But if you think it solves your problem, you'll
probably have to disable the Prefetcher altogether. Read:

http://msdn.microsoft.com/en-us/library/ms940847(v=winembedded.5).aspx

The default is 3. This is a binary bit mask: 0 decimal = 00 binary, 1 =
01, 2 = 10, and 3 = 11. So bit 0 is for apps prefetching and bit 1 is
for boot prefetching. You might want to start with a value of 2 to keep
the prefetching of boot (system) files so speed up the load time for
Windows. Of course, by disabling app prefetching, none of your apps
will get partially cached into the prefetch folder.

Cleaning the prefetch cache can actually speed up your host if lots of
old files rarely used populate that cache. See:

http://www.windowsnetworking.com/articles_tutorials/Gaining-Speed-Empty-Prefetch-XP.html

I believe startup items listed under the Run registry keys load before
those listed in the Startup folder. If true, you could add a Run
registry key whose program deletes the C:\Windows\Prefetch\TaskMgr*
entries before Task Manager gets loaded as a shortcut in the Startup
folder. It's just a folder and they're just files so just delete them
if you don't want them cached in the prefetch folder.

I haven't had a problem showing the tray icon for Task Manager when
starting Windows or when logging it (a shortcut in my Startup folder
loads taskmgr.exe). I have had problems with its tray icon along with
those for many other apps disappearing when explorer.exe has crashed and
been recovered. In that case, and when I decide I really need to see
those tray icons, I logoff and log back in. A reload of Windows isn't
needed since you are only wanting to force a new display of the Windows
taskbar and force an initial load of the icons presented by their
associated apps.

Also, there is the Tray Notifications Cache. This remembers what you
set for show/hide options for the tray icon the prior time the program
was loaded. If there is no entry in a cache, the default is to "Hide
when inactive" which for many apps means the tray icon "always shows".
When you said "hidden", you weren't clear if the tray icon for Task
Manager was nowhere to be found in the system tray even after expanding
it or if it was hidden until you expanded the system tray. You might
have to clear out the Tray Notifications Cache to begin from scratch so
some old state doesn't get reused. I use CCleaner for that. It'll
clear out both the Prefetch and Tray Notifications Cache but you
probably won't want to leave it permanently configured that way.

http://support.microsoft.com/kb/283084

Yeah, you could edit the registry or load this KB article to use its
Fix-It utility but I find CCleaner (or other similar cleanup tools)
easier and faster. After all, they're just emptying a folder or
deleting a registry cache.
 
VanguardLH said:
http://en.wikipedia.org/wiki/Prefetcher

There's a real reason why you want your boot time to be longer or for
your apps to take longer to load?

Just HOW are you loading Task Manager (taskmgr.exe)? Is it a shortcut
in your Start -> Programs -> Startup folder? If so, is it configured
for normal, full, or minimized window state on load?

Most the times that I've seen Task Manager fail to load and show its
system tray icon is because there is already an instance of it running.
The system notification area (aka system tray) in Windows XP is known to
have refresh problems. Many programs do not update the display of their
tray icon except when a state change occurs within the program. To see
this, configure the systray to NOT hide any tray icons. Then with Task
Manager loaded, kill all instances of explorer.exe (yep, Windows
Explorer is also used as the desktop manager). Your desktop should
disappear leaving only Task Manager's window showing (along with windows
for any other apps you left running). Then in Task Manager's File menu,
select New Task and load explorer.exe. You'll see your desktop
reappear; however, many tray icons will be missing because they did not
get refreshed. Refreshing isn't the only problem with systray in XP.
Some programs will show their tray icons although you configured the
tray to hide those icons. Every time the program starts, and despite
you wanting to hide its icon, it still shows up.

I have never heard that clearing the prefetch cache will alter the
behavior if tray icons. But if you think it solves your problem, you'll
probably have to disable the Prefetcher altogether. Read:

http://msdn.microsoft.com/en-us/library/ms940847(v=winembedded.5).aspx

The default is 3. This is a binary bit mask: 0 decimal = 00 binary, 1 =
01, 2 = 10, and 3 = 11. So bit 0 is for apps prefetching and bit 1 is
for boot prefetching. You might want to start with a value of 2 to keep
the prefetching of boot (system) files so speed up the load time for
Windows. Of course, by disabling app prefetching, none of your apps
will get partially cached into the prefetch folder.

Cleaning the prefetch cache can actually speed up your host if lots of
old files rarely used populate that cache. See:

http://www.windowsnetworking.com/articles_tutorials/Gaining-Speed-Empty-Prefetch-XP.html

I believe startup items listed under the Run registry keys load before
those listed in the Startup folder. If true, you could add a Run
registry key whose program deletes the C:\Windows\Prefetch\TaskMgr*
entries before Task Manager gets loaded as a shortcut in the Startup
folder. It's just a folder and they're just files so just delete them
if you don't want them cached in the prefetch folder.

I haven't had a problem showing the tray icon for Task Manager when
starting Windows or when logging it (a shortcut in my Startup folder
loads taskmgr.exe). I have had problems with its tray icon along with
those for many other apps disappearing when explorer.exe has crashed and
been recovered. In that case, and when I decide I really need to see
those tray icons, I logoff and log back in. A reload of Windows isn't
needed since you are only wanting to force a new display of the Windows
taskbar and force an initial load of the icons presented by their
associated apps.

Also, there is the Tray Notifications Cache. This remembers what you
set for show/hide options for the tray icon the prior time the program
was loaded. If there is no entry in a cache, the default is to "Hide
when inactive" which for many apps means the tray icon "always shows".
When you said "hidden", you weren't clear if the tray icon for Task
Manager was nowhere to be found in the system tray even after expanding
it or if it was hidden until you expanded the system tray. You might
have to clear out the Tray Notifications Cache to begin from scratch so
some old state doesn't get reused. I use CCleaner for that. It'll
clear out both the Prefetch and Tray Notifications Cache but you
probably won't want to leave it permanently configured that way.

http://support.microsoft.com/kb/283084

Yeah, you could edit the registry or load this KB article to use its
Fix-It utility but I find CCleaner (or other similar cleanup tools)
easier and faster. After all, they're just emptying a folder or
deleting a registry cache.

I have tried every possible way to start Task Manager including the
Startup folder and the various Run keys in the registry and one registry
key that I have forgotten. There is no doubt in my mind that Prefetch
enabled causes TM not to appear in the systray when launched 90% of the
time, but with Prefetch disabled TM appears in the systray 100% of the
time when launched. This is using the Windows Classic theme. Using the
neon bright XP theme, which I hate, TM appears in the systray 100% of
the time with Prefetch enabled.

So the question was, and is, is there a way to exclude taskmgr.exe from
the Prefetch operation?
 
Jack said:
I have tried every possible way to start Task Manager including the
Startup folder and the various Run keys in the registry and one registry
key that I have forgotten. There is no doubt in my mind that Prefetch
enabled causes TM not to appear in the systray when launched 90% of the
time, but with Prefetch disabled TM appears in the systray 100% of the
time when launched. This is using the Windows Classic theme. Using the
neon bright XP theme, which I hate, TM appears in the systray 100% of
the time with Prefetch enabled.

So the question was, and is, is there a way to exclude taskmgr.exe from
the Prefetch operation?

Too lazy to try the suggestions already mentioned?
 
Back
Top