Vanilla installers provided by Electrobun do not cut it for our use case.
We want to be able to:
- Run the installer with elevated privileges
- Install core tools (xcode clt, homebrew, chocolatey)
- Install extra apps required by tools at the time of the release (ffmpeg, yt-dlp, ghostscript, qtpdf, etc)
- Have complete control over the singing process
- Have complete control over installation paths
- Provide uninstaller
So far, we have tried qtif (QT Installer Framework) and it had a lot of quirks that seemed unsolvable (basically no installer seemed to work out of the box).
This replaces the following issues:
#29
#34
#46
It is also closely related to #44 since the option to install extra dependencies should be available to the app (an update may include tools with extra dependencies compared to the ones at the time of app's installation).
After handling the initial installation, we can look into how the "post-install" dependencies will be handled (maybe keep the current system if it seems to be working and convert it to use the progress and abort signal subsystems, or we can launch an updater script that runs with elevated privileges to do its job).
Giving users the freedom to pick and choose which tools they want to use:
- Adds complexity to the code
- Is not consistent with the stated target audience of this app: non-technical users.
In any case, we should weigh the pros and cons and make a decision in a follow-up issue.
Vanilla installers provided by Electrobun do not cut it for our use case.
We want to be able to:
So far, we have tried qtif (QT Installer Framework) and it had a lot of quirks that seemed unsolvable (basically no installer seemed to work out of the box).
This replaces the following issues:
#29
#34
#46
It is also closely related to #44 since the option to install extra dependencies should be available to the app (an update may include tools with extra dependencies compared to the ones at the time of app's installation).
After handling the initial installation, we can look into how the "post-install" dependencies will be handled (maybe keep the current system if it seems to be working and convert it to use the progress and abort signal subsystems, or we can launch an updater script that runs with elevated privileges to do its job).
Giving users the freedom to pick and choose which tools they want to use:
In any case, we should weigh the pros and cons and make a decision in a follow-up issue.