Godot-proposals: Distribute Windows installers for the Godot editor (in addition to ZIP archives)

Created on 30 Aug 2020  路  7Comments  路  Source: godotengine/godot-proposals

Reopened from https://github.com/godotengine/godot/issues/8057.

Describe the project you are working on:

The Godot editor :slightly_smiling_face:

Describe the problem or limitation you are having in your project:

Newcomers are sometimes confused as to how they can integrate Godot into their Windows system.
By "integrating", I'm referring to Start Menu entries, desktop shortcuts, file type associations, adding Godot to the PATH, and so on.

Describe the feature / enhancement and how it helps to overcome the problem or limitation:

Windows installers will allow for a better out-of-the-box user experience, providing things such as start menu entries, easier installation and uninstall procedures, built-in export templates, registering file associations and more.

Of course, the "portable" ZIP distribution will still be distributed alongside the executable installers.

Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams:

We can use the open source Inno Setup to create Windows installers. It's possible to run the Inno Setup compiler on Linux using WINE too (but you'll need to use innoextract to extract the Inno Setup installer itself, or create your own ZIP distribution of Inno Setup which you then extract).

The installers will also have to be signed to avoid warnings, just like the official Windows editor binaries.

We can use the .iss setup definition file I wrote for my Godot nightly builds as a base (in addition to modpath.pas to add Godot to the PATH automatically).

If this enhancement will not be used often, can it be worked around with a few lines of script?:

No, as this pertains to the official Godot editor distribution.

Is there a reason why this should be core and not an add-on in the asset library?:

This pertains to the official Godot editor distribution.

windows porting

Most helpful comment

I feel that the simply compressed zip for the editor is actually an advantage of the Godot editor. It is simple and also emphasises on the portability and small size of the engine. The installers really make sense only when the files are a lot or if there is a more complicated process involved. For those that need to get updates etc. we already have tools like 'scoop' and 'chocolatey' that can handle that. Also, windows seem to be interested in moving towards a package manager approach especially for open source tools.

All 7 comments

Nice idea overall, but I'd like to comment:

It's possible to run the Inno Setup compiler on Linux using WINE too (but you'll need to use innoextract to extract the Inno Setup installer itself, or create your own ZIP distribution of Inno Setup which you then extract).

This isn't necessary, Godot can be installed through your package manager on Linux and it can be ran natively. Whoever maintains the packages should create a .desktop and application launcher entry, plus if you install Godot through Steam (more on that in a bit) you can create a shortcuts during that installation. Running Godot through WINE or indeed any kind of installer through WINE isn't necessary and could create other problems, since Godot supports Linux natively.

Back to Steam, wouldn't the Steam version of Godot solve this problem? Sure, there might be people who don't want to install from Steam, or who don't have a Steam account, so maybe it should be a separate version of Godot that uses an installer?

Either way, this feature should probably only be for the Windows and potentially macOS release of Godot(?).

@sonic2kk It goes without saying that this whole installer thing is only for Windows. Which is why I mentioned it in the issue title :slightly_smiling_face:

The Flatpak generally does a good job of providing automatic system integration on Linux.

By "running the installer in WINE", I meant running the Inno Setup installer itself so you can run the Inno Setup compiler using WINE to compile an installer. There's no official ZIP distribution of Inno Setup, something I've been meaning to request for a while now :slightly_frowning_face:

Sure, there might be people who don't want to install from Steam, or who don't have a Steam account, so maybe it should be a separate version of Godot that uses an installer?

Yes. Godot is already on Steam, but Steam or other third-party utilities shouldn't be required to have a convenient, well-integrated Godot installation.

@Calinou My apologies, I seen the issue title but then I seen mention of WINE, so I misunderstood.

Steam or other third-party utilities shouldn't be required to have a convenient, well-integrated Godot installation.

That's very true, there should be a good install process across the board for Godot. I'm not sure about macOS but even without Flatpaks, Godot has a well integrated experience on Linux. If it's less convenient on Windows and this can fix it, I think that's a good idea.

adding Godot to the PATH, and so on.

This can also solve the issue with console window (#1341, https://github.com/godotengine/godot/pull/41332) in the same way Visual Studio's devenv do, distribute GUI only main executable and separate console wrapper executable with the same name and .com extension that is capturing console output from the main app.

I feel that the simply compressed zip for the editor is actually an advantage of the Godot editor. It is simple and also emphasises on the portability and small size of the engine. The installers really make sense only when the files are a lot or if there is a more complicated process involved. For those that need to get updates etc. we already have tools like 'scoop' and 'chocolatey' that can handle that. Also, windows seem to be interested in moving towards a package manager approach especially for open source tools.

@PranavSK I imagine the installer would be an option in addition to just the zip?

If this is done, it should be done for all platforms. For example, a .deb on Linux would be nice (or a repo). See also #1310

Also, we should consider giving more attention to the Steam and Itch versions of Godot, since they auto-update.

Was this page helpful?
0 / 5 - 0 ratings