Is your feature request related to a problem? Please describe.
It is very common for installers to allow the user to stop any ongoing installations. Right now, the only way to stop an installation is to exit the launcher completely, but it doesn't happen cleanly.
Describe the solution you'd like
Installations should be stoppable without having to exit the launcher, by adding a stop control. Implementation is up to whoever wants to take care of this issue.
Stopped installations should cleanup everything they have started installing (i.e. delete the destination folder, clean up temp folders).
When stopping an installation, any ongoing process should be aborted. For example: on macOS if the user stops the installation during a .pkg installation for mono, it should stop this process. Another example would be zip extraction, or a download.
Stopping a complete installation should be possible as well. Internally, a complete installation is simply a sequential run of every component installer (you can see this in complete-installer.js). When stopping on the complete installation screen, it should stop the current installer that is running and continue no further. It should cleanup every installer run before that, though (except probably standalone installers, such as OpenAL).
Have not studied the possibility of adding a pause control in addition to stop, but if the implementer sees it could work then let me know the analysis in a comment to this issue. In my initial planning it seemed very complex...
Describe alternatives you've considered
N/A
Additional context
Screenshot of current installation items where the new control should be added:
Is your feature request related to a problem? Please describe. It is very common for installers to allow the user to stop any ongoing installations. Right now, the only way to stop an installation is to exit the launcher completely, but it doesn't happen cleanly.
Describe the solution you'd like Installations should be stoppable without having to exit the launcher, by adding a stop control. Implementation is up to whoever wants to take care of this issue.
complete-installer.js
). When stopping on the complete installation screen, it should stop the current installer that is running and continue no further. It should cleanup every installer run before that, though (except probably standalone installers, such as OpenAL).Describe alternatives you've considered N/A
Additional context Screenshot of current installation items where the new control should be added:
Individual installation item:
Complete installation screen: