Flow.Launcher icon indicating copy to clipboard operation
Flow.Launcher copied to clipboard

Remove Parent Folder in Start Menu

Open kalaschnik opened this issue 5 years ago • 16 comments

As seen here: image

The folder is not really required for Flow. PowerToys had a similar "issue" in the past, and maybe this resource is helpful: https://github.com/microsoft/PowerToys/issues/1494

kalaschnik avatar Jul 04 '20 10:07 kalaschnik

This is a limitation of Squirrel, see Squirrel/Squirrel.Windows/issues/424 for details.

JohnTheGr8 avatar Jul 04 '20 15:07 JohnTheGr8

5 yr old open issues... Great... But how did then the guys at Power Toys solved this issue?

kalaschnik avatar Jul 04 '20 19:07 kalaschnik

5 yr old open issues... Great... But how did then the guys at Power Toys solved this issue?

They don't use Squirrel :D

JohnTheGr8 avatar Jul 04 '20 19:07 JohnTheGr8

Alright, I’m not into the ramifications of the core implementation of this project, so feel free to close it then :)

kalaschnik avatar Jul 06 '20 06:07 kalaschnik

Happy to leave this here for now as a reminder. Maybe in the future if we switch away from squirrel as the installer we may pick this up, or I get another opportunity to look into how squirrel does the installation again.

jjw24 avatar Jul 06 '20 06:07 jjw24

This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 5 days.

github-actions[bot] avatar Jul 16 '22 02:07 github-actions[bot]

Found this from the linked issue at Squirrel.Window. I maintain a semi-popular fork that has fixed this issue and dozens of others, should be a low effort migration if you are not wanting to move to a new install/update framework.

caesay avatar Sep 27 '22 10:09 caesay

Thanks for telling us about it! That looks great and we will try to check that put soon (i am a bit busy recently so maybe somebody else shall draft it)!

taooceros avatar Sep 27 '22 13:09 taooceros

What you need to do to migrate to my fork (v2) is

  • replace your nuget reference from Squirrel.Windows to Clowd.Squirrel
  • update the code which creates your shortcuts. Call CreateShortcutsForExecutable or CreateShortcutForThisExe with the option ShortcutLocation.StartMenuRoot instead of ShortcutLocation.StartMenu.
  • our command line has changed slightly, so you'll also need to modify any build script(s) for the new syntax.

If you are interested, I can have a look at a PR in a week or so. I'd recommend migrating to v2 for now as it's extremely stable (basically just Squirrel.Windows with all the bugs fixed). v3 is a cross-platform rewrite - I'm using it in my own apps already but it doesn't have quite as much exposure.

caesay avatar Sep 27 '22 22:09 caesay

Thanks for letting us know. I had a quick look of the 'Feature Matrix' and noticed that it can install .Net 6 which is interesting, I wonder if this will be smaller than our current package size.

Additionally I also saw Update.exe size has increased to 12mb, while small it may bump our actual .exe installer up to 100mb, which is something we need to watch out for.

Would it be possible to download the .Net 6 only if it doesn't exist on the computer?

Edit: I realised I have starred your fork, which meant I was actually going to take a look for implementing in Flow in the future. Glad you reached out 👍

jjw24 avatar Sep 28 '22 21:09 jjw24

Actually i believe the original squrrial can install Net framework but not for the latest dotnet (567).

Further, to be fully portable, i don't think that's a good choice.

It creates burden for us to upgrade framework if we not do self contained. Currently it is almost free to upgrade framework, but with fxdependence, user may need to uninstall old fx themselves. The size difference is not that crazy (100M) i believe.

taooceros avatar Sep 28 '22 21:09 taooceros

Yes we will still need to do self contained on second thought.

jjw24 avatar Sep 28 '22 22:09 jjw24

Additionally I also saw Update.exe size has increased to 12mb, while small it may bump our actual .exe installer up to 100mb, which is something we need to watch out for.

The original Squirrel relies on Update.exe being a full .net framework app. This allows their Update.exe to be smaller, but it also is why the original squirrel installer will always install the full .net framework if a compatible version is not already available. Not great if you are deploying an app that does not need the full framework!

In my fork, Update.exe is a self contained / singlefile .net 6 binary. Therefore there are no external dependencies, and nothing extra is installed by default. My fork supports optionally bootstrapping full .net framework, any version of .net/core, or vcredist. It also can handle installing new frameworks during updates (although this user experience is not the best). These runtimes will be download from Microsoft as-needed, so if a compatible framework/runtime is already installed it will add nothing to the size of your install/update.

Because of delta updates, shipping self contained is still suitable and pretty desirable, although it will balloon your installer size even for those people who already have the correct .net version installed.

caesay avatar Sep 29 '22 09:09 caesay