vc6
12th July 2007 15:16 UTC
If there is ExecWait, why isn't there KillWait?
In my search for a solution that would let me kill my installed application before uninstalling it, I found quite a few postings seeking the same.
Basically, I now know of only two solutions to the problem:
Processes plug-in
FindProcDll and KillProcDll
But because these are plug-ins and not part of NSIS per-se, they are not very well documented and sometimes even lead to confusion like this:
There are *two* different plug-ins for doing this ??? My God this is so confusing.
Which leads to my question/request: Why not standardize killing a process, in exactly the same manner starting a process was standardized?
In other words, if there is ExecWait, why isn't there KillWait?
Thanks,
Victor
P.S. I just checked the documentation on the KillProcDLL plug-in and it is of superior quality. It turns out that my usual bad luck lent me on the Processes plug-in). My question is still valid though: why not incorporate something like KillProcDLL into NSIS?
Afrow UK
12th July 2007 15:33 UTC
Because killing a process isn't a good idea. It's basically like chopping somebody's head off without warning!
I'm not sure why there are so many plugins out there though but I believe the Processes plugin is the closest to being all-in-one.
Stu
vc6
12th July 2007 15:47 UTC
Originally posted by Afrow UK
I'm not sure why there are so many plugins out there though but I believe the Processes plugin is the closest to being all-in-one.
You are right that the Processes plugin has both 'find' and 'kill' in it (whereas the other one requires downloading placing two DLLs in the plugin directory).
However, the Processes plugin is not documented as well as the xxxProcDll pacakges and returns only 0 or 1 instead of the various codes the system provides. Also, the Processes plugin has some bug that wreaks havoc in invoking the uninstall sections in a multiple uninstall sections script. The Processes works if it is the only code in the .nsi script, but when called by an uninstall section it simply blows all uninstall sections in that script.
Originally posted by Afrow UK
Because killing a process isn't a good idea. It's basically like chopping somebody's head off without warning!
But... :confused: attempting to uninstall a running application is even worse. :p
Isn't this like trying to solve a problem by saying "let's pretend that the problem is not there"? :)
Thanks,
Victor