- NSIS Discussion
- Uninstall with progress
Archive: Uninstall with progress
Ocrana
6th December 2009 01:01 UTC
Uninstall with progress
Hi,
I want to uninstall an old version of my software before install new one. Everything works fine. But I run the uninstall in Silent mode to avoid that the user can skip the uninstall.
Now my question, is there a plugin or another way to show a small "task" window with a progressbar and the information about uninstalling so the user will see that something is going on? Most common "Setup solutions" have this I hope it is possible with NSIS, too.
Thanks,
Ocrana
MSG
6th December 2009 20:13 UTC
I really don't think this is possible for an uninstaller that was already created, by an older installer.
(From an NSIS perspective, obviously. Technically everything is possible in software, but yeah.)
Ocrana
6th December 2009 21:16 UTC
Why it should not be possible? A marquee progressbar do not need any additional information but show the user that something is going on.
Iam just wondering that there are only two possible ways: Silent without any info and normal where the user can interact and stop the uninstall.
MSG
7th December 2009 07:10 UTC
Originally posted by Ocrana
Why it should not be possible?
Because, as far as I know, there are no functions in standard NSIS uninstallers for requesting the uninstallation progress from an external process.
Wizou
7th December 2009 08:34 UTC
Indeed there is no standard solution in NSIS, but as MSG said, everything is possible, if you're ready to program...
I was able to create this behavior in my (un)installers by handling myself programmatically (in NSIS script) a command-line option /SHOWPROGRESS that would skip pages automatically (calling Abort in "PRE" functions)
MSG
7th December 2009 10:33 UTC
Originally posted by Wizou
Indeed there is no standard solution in NSIS, but as MSG said, everything is possible, if you're ready to program...
I was able to create this behavior in my (un)installers by handling myself programmatically (in NSIS script) a command-line option /SHOWPROGRESS that would skip pages automatically (calling Abort in "PRE" functions)
Except that this would only work for new uninstallers. I think he wants to get progress numbers from an *existing* uninstaller. That would only be possible by hacking into the running process somehow, or hacking into the executable before it's executed.
Edit: In which case it'd be better to copy the uninstall code to the new installer and call it as a function when required.
Wizou
7th December 2009 10:38 UTC
Then one solution would be to display yourself a fake infinite progressbar (I hate those...) while the uninstaller is doing its job silently
http://mentalized.net/activity-indic...cessingbar.gif
http://mentalized.net/activity-indicators/
Ocrana
7th December 2009 12:47 UTC
Wizou, Iam wondering why you hate this. The main problem is, my uninstaller will stop a service, uninstall a driver and the files. This will need some time. I prefer a "fake" window instead of "No Responding" window cause the uninstaller runs in exec wait.
I will try to make a solution. For the first "hack" the "Pre" idea is good. But I hate Buttons that I cannot click ;)
Wizou
7th December 2009 12:59 UTC
I prefer knowing how much I will have to wait ;-)
but if it's not possible, you're right, it's better to see a fake window (hence my suggestion)
MSG
7th December 2009 15:15 UTC
I prefer a "fake" window instead of "No Responding" window cause the uninstaller runs in exec wait.
There are various banner plugins that you can use for this purpose.