Open jaimergp opened 1 year ago
On the CLI-only side, I can see some tools (scoop
) are using combinations like:
irm
fetches a script and pipes it to iex
(e.g. irm get.scoop.sh | iex
).
wget script.sh | sh
in Unix world. scoop
's setup for a CLI-only installer.Hi @jaimergp, I have a bit of experience with Inno setup.
It would be possible to cover the cases with the Inno setup, it is due to the fact that we can write the scripts with pascal, or if required we can take control of the required things using PowerShell.
I have worked on a Project It was packaged using Innosetup.
If possible, can I try to contribute to this?
Hi @RahulARanger, that's very exciting!
I'd say we approach this with some caution though, because it would add some maintenance burden to a team that's already stretched a bit too thin. I'd like to know what @conda/constructor thinks about it.
Ideally, if you ask me, I would envision something like constructor
offering some kind of plugin mechanism so users can use other "installer backends", and then you could maintain your own plugin facilitating that. Given enough time and if it gets a lot of traction, such a plugin could be "absorbed" in constructor
itself. But of course, that plugin system does not exist right now so I might be dreaming a bit too much :D
True, it is hard to build a plugin system and even expect the same in the other platforms.
An intermediate step for our own sanity is to rebuild the NSI templates with some Jinja, like pynsist
is doing. Quite cleaner!
Hi there, thank you for your contribution!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed automatically if no further activity occurs.
If you would like this issue to remain open please:
NOTE: If this issue was closed prematurely, please leave a comment.
Thanks!
Not stale
I think it's safe to say NSIS is not the most development friendly engine ever, specially coming over from the Python world. While incredibly performant, powerful, customizable and extensible, it comes with a few gotchas:
run_examples.py
showcase this nicely.Ideally, I would love to see if we can find a replacement with the following features:
This website (plus this one) has TONS of info about the whole landscape. I'll summarize the main findings here, focusing on free products:
msilib
(deprecated in 3.11 though). Low-level.briefcase
(see code)I think both WiX and InnoSetup might be capable replacements, but none feels like The One ✨ either. Both have good CLI options. WiX uses MSI under the hood, which might be better for corporate users. InnoSetup seems closer to NSIS in spirit, with Pascal Scripting.
So, to sum up, no obvious answer.