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

Use 7z instead of powershell native compression

Open taooceros opened this issue 4 years ago • 10 comments

Currently the portable zip is really large, because squirrel will keep a copy of original nupkg. Not sure whether we can remove it (or it will cause some update issue).

taooceros avatar Jul 27 '21 14:07 taooceros

Doesn't look like much of a size difference though using 7zip

jjw24 avatar Jul 27 '21 21:07 jjw24

Yes, the main size diff is caused by the duplicate package in packages folder.

taooceros avatar Jul 28 '21 02:07 taooceros

Wow, the 7z reduce from 127MiB to 21MiB on my machine, we really should consider this

image

I confirm the duplication of libraries with space sniffer

image

pc223 avatar Jul 28 '21 23:07 pc223

That's because the Release folder is not self contained (framework dependent). Without runtime, regular compression can compress flow to about 20-25 MB.

7z does have advantages, but only 10% when compressing to zip.

taooceros avatar Jul 28 '21 23:07 taooceros

7z does have advantages, but only 10% when compressing to zip.

Yeah, I prefer zip over 7z because built in support

pc223 avatar Jul 28 '21 23:07 pc223

Hm...damn, I thought we can reduce to around 20MB, so that means switch to 7z not really change much the size? The build of this PR is similar to other PR. So...we should focus on trying to remove this file right?

image

pc223 avatar Jul 29 '21 00:07 pc223

Yeah that's the case, but not sure whether removing that will cause update issues.

taooceros avatar Jul 29 '21 00:07 taooceros

That's because the Release folder is not self contained (framework dependent). Without runtime, regular compression can compress flow to about 20-25 MB.

Should we release the Setup.exe in not-self-contained style? And if Flow detects user's system not contains required framework (.net 5?) then download for them. Like this: https://github.com/NickeManarin/ScreenToGif

https://github.com/NickeManarin/ScreenToGif/releases/download/2.31/ScreenToGif.2.31.Setup.msi

pc223 avatar Aug 11 '21 00:08 pc223

is it worth the extra work for 25mbs? 88mbs is not big of a download and the update is done in the background. Too many installers going to get users confused if we publish a non-self contained, self contained and portable.

Also I dont know how installation of the framework is done, there will be user environments where installation of anything is not allowed.

jjw24 avatar Aug 11 '21 09:08 jjw24

is it worth the extra work for 25mbs? 88mbs is not big of a download and the update is done in the background. Too many installers going to get users confused if we publish a non-self contained, self contained and portable.

Also I dont know how installation of the framework is done, there will be user environments where installation of anything is not allowed.

I'm thinking of replace the current Setup.exe (88MB) with the non-self-contained (25MB). I think it's fairly common practice to have one Installer that download dependencies when needed and have one Portable version that self-contained.

Still, this, personally ,I think should be low priority and not urgent, so no pressure 😄 Just push ideas out there for discussions.

pc223 avatar Aug 11 '21 09:08 pc223