Background:
First, let me give a little of my computer
background since ~1974. I've been working
with/building, repairing, hacking computers since the
early OSI "Superboard" came out. We
had a huge 4 kB of RAM to work with back then. You learned to program
small/tight programs with all that memory. A floppy drive cost more
than $1,000. I write programs in several languages and
generally just like hacking and fooling around with computers.
I realize this article is way off the Locost topic but I have
recently had a few strange problems appear in using my
computer.
I did a Google search and found out that many people were
having the same problems with all sorts of "cures" that didn't solve my
(similar) problems.
I solve car and computer problems by trying to determine the
root -cause- of the problem. I generally don't shotgun a
solution. I want to understand the underlining problem first and -then-
come up with the solution. That comes from decades of doing electrical
engineering design work.
1st Problem: Right clicking in a program crashes
the program.
Last year my "PowerDesk" file manager
program started crashing when I would right click on selections. I put
up with it for awhile and finally decided to reinstall the
program. That didn't help. I did a Google search on "right clicking
crash" and found
-lots- of people were having the same problem with all sorts of
programs crashing. I tried some of their "cures" and nothing
worked.
People on the web were blaming various programs for causing the
problems etc. I didn't even have most of the programs that were
supposedly causing the right click problem. I guess you get
your moneys worth with free information (mine included ?).
The common thread through the various knowledgeable solutions was that
it was a "context menu" problem. These are menus that appear when you right click within a program. After reading what the
solutions were attempting to do I finally found one that made the most
sense and it cured my
problem.
The solution:
Here is a link that explains how/why to solve
problem:
http://www.techsupportforum.com/microsoft-support/windows-vista-support/287024-solved-right-click-crash.html#post1687902
Basically one programs context menu .dll is interfering with another
programs .dll
Detailed instructions, how to get rid of the
problem:
1. Down load ShellExView from
http://www.nirsoft.net/utils/shexview.html
install it and run it (give the program time to
find all the .dlls running on your machine)
2. in the menu area at the top of the page, click on "options"
and then "Filter By Extension Type" in the drop down menu
3. click on "Context Menu" and then click "OK"
4. after data is presented, click on the CLSID Modified Time column so
that the newest files are at the top of the list
5. right click on the 1st Extension Name presented and
disable
the newest installed file (you can also select a name and
press F7
the disable command
takes affect immediately and you don't have to close ShellExView
6. test the program that is acting up to see if it behaves
(you do need to restart the problem
program after each disable)
7. repeat steps 5. and 6. until you find the .dll that is causing the
problem
8. enable the .dlls that were NOT causing the problem by selecting them
and pressing F8.
05/30/09: DAPMenuShellExt Class (Context Menu for DAP) was the
program that caused
my problem.
12/03/09: AVG Shell Extension Class (Context Menu for AVG) also
affected PowerDesk.
No one on the web mentioned these programs as the guilty
ones. PowerDesk seems to be the only program affected by the
right click problem on my computer.
2nd Problem: When
launching Firefox, AVG issues a warning message about cookies.sqlite.
The location of cookies.sqlite file
is in the following sub-directory;
C:\Documents and Settings/my user name/application data/
mozilla/firefox/profiles/4641xl2s.default/
This file is not a threat to your computer. It is used by Firefox in
the normal course of its operation.
Solution #1 is an elegant way to cure the problem . This
method creates an exception in the AVG Resident
Shield - Directory Excludes menu for programs that cause the error
message. I would imagine that in time, AVG
will realize the error of their ways and issue an "update" that
recognizes that the Firefox cookies.sqlite is not going to end the
world.
NOTE: I now use Comodo and I don't have the problem. :-)
Solution #1: (AVG exclusion)
1. Open the AVG user interface, select "Overview"
2. double click on "Resident Shield"
3. click on [Manage exceptions] at bottom of page
4. click on [Add Path] and navigate to the Firefox directory in
"C:\Program Files"
5. click on [OK], then click on [OK] again
6. click on [Save changes] and then close the AVG user interface.
NOTE: I discovered afterwards that a program called
"Feedreader"
will also cause the AVG error message if it is running before
you
launch Firefox. I created an exclusion path in AVG to
the Feedreaders directory the same way as I did for Firefox and
Feedreader no longer causes the error message. So if you find other
programs causing problems just add then to the exclusion list.
Solution #2: (run.bat file way to
"cure" problem)
If you don't want to exclude files, here's another temporarily
way to get rid of the warning message until AVG gets its act together.
This solution is to
run a .bat file that deletes the cookies.sqlite file just before
Firefox is launched. It's rather brute force but it does work.
1. Create a run.bat file in the C:\Program Files\Mozilla
Firefox\Mozilla sub-directory
2. Put these statements in the run.bat file.
_________________________________
del c:\documents and settings/your_user_name_here/application
data/ mozilla/firefox/profiles/4641xl2s.default/cookies.sqlite
cd C:\Program Files\Mozilla Firefox 3.5 Beta 4
call firefox.exe
exit chr$13
_________________________________
Click on run.bat instead of "firefox.exe" to start
your browser. You will see a black DOS box open to delete the
cookies.sqlite
file and then Firefox will load. When you close Firefox, the DOS box
will close. You can close the DOS box manually after Firefox starts if
it annoys you. Firefox will create a new cookies.sqlite file each time
it runs.
NOTES:
Your profiles/nnnnnnn.default/ portion of the
address will have different numbers and letters than
my "/4641xl2s.default/" name. You will have to navigate to the
sub-directory and see what the sub-directory is named.
3rd Problem: The problem/solution is about PowerDesk in
particular but it should
work for any program that the computer won't let you run it again
because the
computer says the program is already running. This problem started
appearing with PowerDesk4 running in XP and continued with PowerDesk6
running on Windows 7.
If
you have a program that has a similar problem try the next 7 steps to
see if it gets the program to run properly (substute the .exe file name
of your program instead of PDExplo.exe). If the program runs OK after
doing steps 1-7 then go on to the "easy way" to cure the problem.
At first I could get the program
to run again by logging off and back on again. After a bit I
found an easier way to get PowerDesk to behave (but not the final
solution).
The involved way to get PowerDesk to run again;
1. Right click on the taskbar, highlight "Start Task Manager" and then left click on that to run the manager
2. Left click on "Processes" and look for "PDExplo.exe" as one of the Image Names shown
3. You have to get rid of the duplicate copies of "PDExplo.exe" so there is only one of them left
When there is only one of them PowerDesk will start normally.
4. To get rid of the extra copies
5. Right click on any of the PDExplo.exe entries you see
5. Left click on "End Process"
6. Another menu will open, left click on "End Process" again
7. Repeat steps 4 through 6 till there is only one PDExplo.exe entry shown and PowerDesk will then start by itself.
I presented the involved way so you would see the process needed to get rid of the duplicate running processes of a program.
And now, the easy way,
1. Right click on your desktop and highlight "NEW" and then click
on "Shortcut". (Or open notepad and do the following.)
2. Name the new file something like "Restart PD.bat" (the extension has to be .bat whatever title you give it)
3. Enter the following code into the file, (you can copy and past the following lines into the shortcut)
_________________________________
@echo off
taskkill /F /IM pdexplo.exe
taskkill /F /IM pdexplo.exe
taskkill /F /IM pdexplo.exe
taskkill /F /IM pdexplo.exe
start i:\PowerDesk\PDExplo.exe
_________________________________
Your subdirectory will more than likely be different than mine so find
the path to PDExplo.exe and enter it after the word "start ". If you
have a short cut to the program on your desktop you can right click on
the shortcut and then select "Properties" and "Shortcut" if necessary.
Highlight the "Target" and paste the address into the .bat file.
4. Save the file to your desktop.
Whenever PowerDesk won't start, just click on the bat file.
What the .bat file does is kill each instance of the pdexplo.exe entry
in the running processes and then starts a new instance of PowerDesk.
It doesn't seem to bother the computer if the .bat file tries to kill
more instances of the entry than are actually there but it will restart
PowerDesk. I attempt to kill the process many times because if
you click the shortcut to try to run the program several times there
will be more than one instance of the file trying to run at the same
time.
I'll post more problems and solutions as I have them. Let's hope
this is all there will ever be (HA!).