Git Product home page Git Product logo

Comments (13)

jjw24 avatar jjw24 commented on May 12, 2024 3

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.

from flow.launcher.

caesay avatar caesay commented on May 12, 2024 2

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.

from flow.launcher.

caesay avatar caesay commented on May 12, 2024 2

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.

from flow.launcher.

JohnTheGr8 avatar JohnTheGr8 commented on May 12, 2024

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

from flow.launcher.

kalaschnik avatar kalaschnik commented on May 12, 2024

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

from flow.launcher.

JohnTheGr8 avatar JohnTheGr8 commented on May 12, 2024

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

They don't use Squirrel :D

from flow.launcher.

kalaschnik avatar kalaschnik commented on May 12, 2024

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

from flow.launcher.

github-actions avatar github-actions commented on May 12, 2024

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.

from flow.launcher.

taooceros avatar taooceros commented on May 12, 2024

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)!

from flow.launcher.

caesay avatar caesay commented on May 12, 2024

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.

from flow.launcher.

jjw24 avatar jjw24 commented on May 12, 2024

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 šŸ‘

from flow.launcher.

taooceros avatar taooceros commented on May 12, 2024

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.

from flow.launcher.

jjw24 avatar jjw24 commented on May 12, 2024

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

from flow.launcher.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    šŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. šŸ“ŠšŸ“ˆšŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ā¤ļø Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.