Durando
2nd July 2007 00:57 UTC
Process Plugins that work with Vista
I am having a problem with the process addons I have attempted to use I am not sure if it is because of Vista or not but there is no logical reason that the code shouldn't work.
The ones i've tried so far are
Processes.dll
FindProcDLL.dll
KillProcDLL
nsProcess.dll
All I want is for NSIS to detect if blah.exe is running and if it is to tell the user to exit the program and retry or cancel the installation for a later time.
Every attempt I have made with the Forementioned Plugins has allowed me to continue installation without a warning despite the fact that the process i'm trying to detect is running.
I am running Windows Vista Ultimate 32bit, I can only assume it is a compatability issue with Vista because I have not been able to try on other versions of Windows.
CancerFace
2nd July 2007 07:44 UTC
What is the error code that you get when you call those plugins? Each of these should push something on the NSIS stack...
CF
helix400
2nd July 2007 19:12 UTC
I know this won't help much :), but I can confirm that what you are trying to do is possible with Windows Vista. We currently use the Processes plugin, and I haven't had any problems with it killing the requested process.
kichik
2nd July 2007 19:21 UTC
Maybe you're trying to kill a protected process? That should be impossible with any plug-in or code.
Durando
2nd July 2007 22:53 UTC
Perhaps its an Error on my part
Well I am not trying to kill a process just find out if its working perhaps i scripted this wrong i'll attach the way i've been using it with no luck.
Function .onInit
ReadRegStr $R1 HKLM "SOFTWARE\Program Manufacturer\Program To Search For\" "InstallPath"
StrCmp $R1 "" ProgNotFound ProgFound
ProgNotFound:
MessageBox MB_OK|MB_ICONEXCLAMATION "The Program this installer needs is not installed on this computer. You must install it to continue with this installation."
Quit
ProgFound:
loop:
Processes::FindProcess "Prog"
StrCmp $R0 1 0 done
MessageBox MB_OK|MB_ICONEXCLAMATION "The Program this installer needs is running on this computer. You must close it to continue with this installation."
Quit
done:
FunctionEnd
If this is not correct please let me know it was put together from example script i have found on the web.
Fightin_Foo
7th November 2007 15:14 UTC
I am having a similiar problem. I suspect that the FindProcDLL has problems working with Vista because my problem doesn't appear in XP. Did anybody resolve this problem?
kichik
7th November 2007 19:39 UTC
Maybe the installer is elevated and FindProcDLL doesn't find processes created by the elevating user? Try RequestExecutionLevel user and see if it works in that case.
albe
29th January 2009 12:44 UTC
I have a problem with the Processes addon and Vista as well.
I have Vista x64.
Processes finds 32-bit processes OK, but not 64-bit.
Has anybody found a way to find both 32- and 64-bit processes?