More release/package config options for Desktop (i.e., Windows / WiX)
The project seems geared mostly towards Android and Apple. It's almost impossible to customise anything for desktop packaging such as an application .EXE's icon (for Windows), installer options (options to provide to ask the user), or to customise what would be included in an installer, and ultimately extracted, etc...such as a property file.
It isn't even possible to specify that you want a .EXE installer instead of a .MSI, yet -- yet the documentation around all of this is extremely ambiguous and unclear. The underlying tool (WiX) supports so much.
It would be great to support desktop package/installer configuration to at least the level that jpackage does. You can even specify completely customised config files (for WiX), for ultimate control. You just needs to accept params and hand it off to the underlying build tool (i.e,, WiX).
Basically we need to be able to overwrite or have more control over this: https://github.com/gluonhq/substrate/blob/master/src/main/resources/native/windows/wix/main.wxs .
+1 on this
I think the most simple yet most powerful solution would be as you described to allow providing a custom main.wxs file which will be used instead of the default main.wxs file provided by substrate similar to the process of providing a custom icon.ics. Of course this means, that the developer must be cautious to not mess up declaring and using the variables filled by substrate and also maintaining the custom main.wxs file on updates of substrate, but I think this is doable and on the other side this also allows full customization.
If the substrate developers think that this is an applicable solution for this problem, I would try to create a pull request for this.
Can I suggest option to launch native image with Console in background. Like when running with java.exe. It's good for debugging.
I think there's a lot that could be done here. In my view, the installers are too simple and opinionated (non-configurable defaults) to be useful; it's nice for a demo or a show-and-tell. Also, a lack of Linux support is frustrating (creating Debian and RPM packages is rather straightforward).
Finally, inability to sign Windows apps is confusing; why can we sign DMGs and PKGs but not Windows apps? I feel like the project has been patched by different people with different approaches and it's a bit unstructured.
The problem with installers and signing is that this is very platform-specific. There is often little or confusing documentation, and that is typically handled inside the specific communities. I agree we need to improve this, and increase the quality of the installers. But it requires platform-specific knowledge (and infrastructure). @credmond if you want to do a PR for Debian/RPM, that would be great!