> Obviously a single, system installed JDK is less of a thing these days. I > don't think you can get an installer for Eclipse or IntelliJ that doesn't > bundle a runtime now.
I agree with this. Myself, I never "install" Java these days; I unzip it somewhere. > I don't think having a system installed IDE relying on any of these transient > user space things makes sense This is true--but perhaps it could be alleviated by having the installer install per-user rather than per-machine? This is what I did for my MSI installer, after a lot of research. It means that the IDE would end up in C:\Users\myusername\AppData\Local\Programs\NetBeans instead of in C:\Program Files\NetBeans The great thing about this is that no administrator access is needed to install. And if NetBeans is installed this way, then makes more sense to allow the user to browse to their own unzipped OpenJDK distro somewhere when they first run netbeans64.exe. If that folder later goes away, we can always prompt again. And inside the IDE, there's a lot more flexibility with respect to how to select JDK folders for actual builds (in Tools->Java Options). > There is an additional factor with macOS which might eventually be seen > elsewhere related to code signing, integrity and permissions. Never mind > admin permissions, you can't even change the netbeans.conf on the macOS > install without it being marked as broken. I'd propose the same approach as for the Windows installer; have a small native executable that prompts for the location of the JDK. Then remember it for subsequent runs. The single piece of information about where the JDK is can be stored in the user's home directory, e.g. "~/.netbeans". -- Eirik From: Neil C Smith <neilcsm...@apache.org> Reply-To: "dev@netbeans.apache.org" <dev@netbeans.apache.org> Date: Friday, March 21, 2025 at 11:59 AM To: "dev@netbeans.apache.org" <dev@netbeans.apache.org> Subject: Re: Re : Re: heads up: windows installer/uninstaller issues On Fri, 21 Mar 2025 at 15:03, Eirik Bakke <eba...@ultorg.com.inva<mailto:eba...@ultorg.com.inva>lid> wrote: 2) is unnecessary - we can already build a Windows installer using NBPackage - the only thing stopping us switching a long time ago is something like 1). OK, very good. Is the thing it generates an InnoSetup EXE that does not by itself require Java? Yes. Everything that NBPackage generates uses native tools and does not require Java at install time - InnoSetup exe, macOS pkg, Linux deb, rpm, or appimage. A JDK runtime is also optional in all the package types. All the other installers from ASF have been built with it for some time. The launcher issues on Windows are why we've stuck with NBI to date. We should fix them regardless because it would make the zip better. There is a way to use the InnoSetup installer now by customizing the shortcut to use netbeans --jdkhome "%JAVA_HOME%\" It's a bit clunky, and requires the extra backslash as I noted earlier on this thread because Windows decided that mixing path separators and escape characters makes sense! :-) > installers without a runtime have other issues Even if netbeans64.exe is updated to prompt for a JDK folder? Obviously a single, system installed JDK is less of a thing these days. I don't think you can get an installer for Eclipse or IntelliJ that doesn't bundle a runtime now. I have a whole bunch of JDKs on my machine, some installed, some downloaded manually, or by NetBeans, or by Gradle. I don't think having a system installed IDE relying on any of these transient user space things makes sense, even if I regularly test things using --jdkhome overrides. The default works out of the box, is a known entity, and is not affected by anything else. Nor does it affect anything else - the bundled JDK is an entirely private part of the installed IDE (or RCP app). There is an additional factor with macOS which might eventually be seen elsewhere related to code signing, integrity and permissions. Never mind admin permissions, you can't even change the netbeans.conf on the macOS install without it being marked as broken. NBPackage re-signs any JDK inside the app bundle with the same signature and hardened runtime permissions as the IDE. Not sure I understand... why would users build themselves an installer? It's an option. In particular if you're a company, college, etc. with a desire to bundle an alternative JDK to roll out. I used to regularly build myself a deb to install rather than the old Linux nbi! One of the things I'm working on with the community installer migration at the moment is a GitHub build workflow for all the packages. You could even fork that, change the JDK link, run it and have your own installer in about 10min (unsigned obv unless set up!). Best wishes, Neil --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org<mailto:dev-unsubscr...@netbeans.apache.org> For additional commands, e-mail: dev-h...@netbeans.apache.org<mailto:dev-h...@netbeans.apache.org> For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists