I have provided a Greenshot preview version to a couple of users, to detect any issues with the direction we are going. I was especially interested in the single file bundle functionality, as this could provide a very quick feedback.
When watching two of the users to see if they like the UX. My first observation was that they, seconds after clicking the Greenshot.exe icon stored in their download order, click again. The users said that as nothing is happening, they assumed the double-click was somehow ignored / lost and they wanted to make sure Greenshot started.
What I got back from this:
My hope is that you might be able to provide some kind of feedback, that the system is doing something. My first suggestion is a small window just telling the user to wait with an icon (sand-hour), this would prevent the need for translations.
Publish a single-exe Windows WPF application, it should be >140MB
double-click the icon to start the application
now wait... and notice that you don't know what happens
Somehow see that the system is starting the application
Nothing until the application is started, and only if the application shows something.
dotnet core 3.0.100-preview8-013289
Additional hints:
In https://github.com/dotnet/core-setup/issues/7070 there was an issue with McAfee (which actuall I was facing too) where the solution is in https://github.com/dotnet/core-setup/pull/7135 it's visible that in some cases the extraction process takes > 45 seconds. Now this is not the main issue, it takes as long as it needs, but the fact that this is not visible it why I created this issue.
P.S.
There are other issues with the whole life-cycle for Single-Exes, one is the cleanup process when the user downloads multiple versions. But this is something for other issues...
The implementation of this issue is considered a feature, given the GUI/CUI and platform considerations. So, moving it out of 3.1 (bugfix) scope.
I can understand that, it's a shame though as I was hoping to be able use single-file for Greenshot where users don't want an installation, but this would generate to much issues. 馃槩
Thanks for letting me know.
FYI: In the referenced issue (https://github.com/dotnet/coreclr/issues/20287), there is a mentioning of an image (png) being shown (I can image like a splash screen) while extracting the files. This would be a possible solution I would be okay with.
A progress bar would of course be nice too.
As a little hack during the time this option is implemented (wich will be the ideal solution) I developed a Go program to serve as a launcher.
As Go requieres no dependencies I embedded a WPF Net Core app inside. When you run the Go app the Net app is executed from the temporal folder. A loading windows is shown while this happens.
Source code is in https://github.com/pablopioli/golauncherfornetcore.
Detailed explanations are missing, if there is interest I can write them.
The program is pretty rough also, leaving the temporary files behind.
https://youtu.be/EZtqYyLaSuw
Shows how it works.
Most helpful comment
FYI: In the referenced issue (https://github.com/dotnet/coreclr/issues/20287), there is a mentioning of an image (png) being shown (I can image like a splash screen) while extracting the files. This would be a possible solution I would be okay with.
A progress bar would of course be nice too.