NSIS uninstaller doesn't kill child processes
See original GitHub issue- Version: 19.54.0
- Target: Windows x64
NSIS uninstaller checks the app is still running and kills it by nsProcess::KillProcess before deleting the installed files. However, nsProcess::KillProcess seems neither emitting any window-alll-closed and quit events, nor kills child (and grand child) processes. Hence, child processes spawned by the app keep running and block files are deleted.
Using taskkill
instead of nsProcess::KillProcess might solve this problem.
I found some related discussions:
Issue Analytics
- State:
- Created 6 years ago
- Comments:15 (5 by maintainers)
Top Results From Across the Web
Waiting for NSIS uninstaller to finish in NSIS installer either ...
I read that ExecWait only waits until the uninstaller is copied to and started in the temp directory. It definitively doesn't wait for...
Read more >Chapter 4: Scripting Reference
A NSIS Script File (.nsi) is just a text file with script code. ... For example, if you write the uninstaller to $WINDIR...
Read more >A brand new website interface for an even better experience!
NSIS uninstaller doesn't kill child processes.
Read more >Uninstall runs but doesn't delete open programs - NSIS Forums
Uninstall runs but doesn't delete open programs. Does anyone know of a way to help nsis deal with open programs during the uninstall...
Read more >NSIS 2.46 Users Manual - SourceForge
NSIS supports different compression methods, as explained here. ... For example, if you write the uninstaller to $WINDIR and the user doesn't move...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
tree kill is not used now — now app is killed softly at first and it should be enough to terminate child process.
Hi @develar , I am still seeing the problem of installer apparently being killed during autoupdate with 20.4.1.
Caveat: 2 years or so ago the installer didnt finish a running application on its own yet so I had added the following as custom NSIS include do do this from my end:
this led to the error message
a few days ago (while having worked fine for close to 2 years). So I took it out and now see the installer closing the original running install and not installing the new version (no logs being produced). I.e.: not sure if it is a coincidence (me removing the custom nsis exit-running-app code while this ticket was coming up) or whether the fix 12 hours ago is maybe not complete yet.
Gladly let me know if there is any other info I could provide to shed some light on this.