LilyPond's current build system produces stand-alone, relocatable Windows executables distributed in a zip folder.
Which I think approaches the ideal. However, for the past 2 human generations or so, Windows users have been taught they are unqualified to manage locations of software executables. They are taught this is exclusively the installer's job, like setup.exe or something. There have now been several questions on the lilypond-user list with some form of "I downloaded this zip folder, now what do I do with it? How do I 'install' it?" I expect such questions will continue until Windows users have an automated way to get the executables in place. Suggestions for improving the current-practice's documentation were made... <https://lists.gnu.org/archive/html/lilypond-user/2023-03/msg00173.html> ...which led to a Merge Request, where I was encouraged to present an idea separately from it. <https://gitlab.com/lilypond/lilypond/-/merge_requests/1869#note_1314585504> So here goes. The idea is this: Offer Windows users an optional install script that downloads the zip folder and arranges its contents as they would expect done by an installer. This idea is completely separate from the build system. I am not suggesting any changes for that. Rather, I am looking at what the Micro text editor has. It also is a stand-alone, relocatable executable needing no "installation" efforts. The install script made for it is here: <https://github.com/benweissmann/getmic.ro/blob/master/index.sh> It is rather more elaborate than what I have in mind, but in practice it can work like this: $ curl https://getmic.ro | bash For Windows, rather than such a one-liner, I am thinking more of an "install.bat" file to download and execute. Completely optional. It would: * Download the LilyPond zip folder * Extract it to a reasonable location * Perhaps add the new LilyPond to Frescobaldi. That could be done by using the freshly-extracted LilyPond's Python executable to run the code Frescobaldi has for doing that. <https://github.com/frescobaldi/frescobaldi/blob/92ad12137135b1693f6041567c81d2fa0f4ecf28/frescobaldi_app/lilypondinfo.py> Or, maybe it would be better to have all this handled within Frescobaldi instead? Have Frescobaldi look up the latest version of LilyPond, and if it doesn't exist on the user's computer, offer to download and install it? It's been mentioned within that project: <https://github.com/frescobaldi/frescobaldi/issues/1429> <https://github.com/frescobaldi/frescobaldi/issues/313> I don't plan to go further with this idea unless a good consensus emerges for doing so. -- Karlin High Missouri, USA