-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Splash Screen for Windows Portable exe #2548
[Feature Request] Splash Screen for Windows Portable exe #2548
Comments
Instead of splash screen, we should use ZSTD instead of LZMA2 compression. |
+1 |
Upcoming electron-builder versions allows you to use ZIP compression, so, decompression will be very fast.
|
Are we not using ZSTD now? What is the reasoning behind this? ZIP would generate a much larger file than the current. |
7Z: 35MB (default). Size difference: 12MB Speed: even if ZSTD decompression speed ~ equals to ZIP decompression (or even faster, see https://raw.githubusercontent.com/facebook/zstd/master/doc/images/Dspeed4.png), ZSTD implemented as tar + zstd. It means, that NSIS will write all 42MB data to a temp file, and then this file will be extracted to real files. So, in case of ZSTD, it is additional time to copy 42MB (can be relatively slow on HDD). So, I decided to simply use built-in NSIS ZIP compression instead. Also, it is portable — it means that user downloads it and then uses on some portable device (USB?). Do you disagree? |
BTW — 7z rocks not only because of lzma2, but just because 7z is excellent. XZ also uses LZMA2, but sucks in all aspects. For example, 7z automatically applies filters and supports compression chains. That's why 35 MB :) |
Thanks for the explanation. Makes sense. Great Work! 🥇 |
If your app is big and you have some use case where ZSTD size will be better — custom solution can be implemented instead of NSIS (e.g. program in golang that simply appends tar.zst file to exe (it is possible and works without issues) and then unpack it directly without intermediate temp file). |
Hello, My build looks like : "build": {
"appId": "my-app",
"win": {
"target": "portable"
},
"portable": {
"useZip": true
},
"compression": "normal"
} and the error :
If i removed "portable": {
"useZip": true
}, it works great but it can be too long when started |
So, you don't plan adding a splash screen? |
Seems like the splash screen is a good feature. I tested the default package and one built with |
Seems like this came up a second time in #3972 as well. |
I'm not familiar with how this all works, but stumbled upon https://nsis.sourceforge.io/Examples/AdvSplash/Example.nsi and https://nsis.sourceforge.io/Examples/Splash/Example.nsi ... These may be for the installers? Does that apply to whatever the portable process is doing? Perhaps something like that added to https://github.com/electron-userland/electron-builder/blob/d738644d6e55b027c81e9b7cdd27dc5af9189b0a/packages/app-builder-lib/templates/nsis/portable.nsi ? |
@develar Looks like this may need to be re-visited. |
The problem with both I am trying to work out a solution of using a non-silent installer with a "background image", and then hiding the regular GUI itself so that the user only sees the background image. |
I tested this in the pre-release version 22.9.1 (note: for now, you need to install this version specifically, as it is not yet A quick note though: the image must be a bitmap (bmp), and it seems that not all bitmap images are supported. This is a limitation of NSIS itself. I found that IrfanView creates bmp images that work, but popular node modules (like jimp or bmp-js) do not work, resulting in bmp images that NSIS simply ignores silently. I am not sure why that is. However, for those that want to automate generating these splash images from existing images they have, I created and tested |
I ran into this today. I was generating splash screens from Photoshop (Windows / 24 bit output options). Those files worked. Then I used ImageMagick to overlay some text and the resulting file failed to load. I looked closely at how ImageMagick generates BMP files and BMP has multiple versions. ImageMagick defaults to "BMP version 4". I tried |
Hi,
If you export with Gimp make sure you don't write color space information or use Paint to save it. |
I'm not able to find I expected to find it here, but the Edit: I meant to add: It should be documented because |
My understanding is that the portable executable extracts the application to a temp folder to run it.
The problem I have is that the users are stuck waiting for the extraction process before they see the application has launched. The process is rather fast on my flash PC with its SSD and ridiculous CPU clock speeds but when you start running on a PC that is still running a 3rd Gen i3 CPU and HDD that's equally as old, you find that people are impatient and often end up opening the executable 4-5 times before the initial one opens.
Therefore, my proposal is that there be an option to include a splash screen/image that shows when the portable application executable is opened to indicate that something is actually happening in the background.
The text was updated successfully, but these errors were encountered: