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
Further minimization #5
Comments
It's amazing, please, can you send me the minimized version? I didn't understand which step should I take to perform these steps |
I was able to reduce the size to 158 MB following the same logic and "reverse engineering" the NotepadPlusPlus-3.5-x86_64.AppImage without affect resulting AppImage. It's very impressive, but 100 MB is floating under AppImage if compared with your |
Why not make the wine appimage act as runtime and create split windows software appimages containing application + script launchers without wine so it leverages the actual wine runtime appimage to run and this make appimage size as actual application size. Sample appimage I did way back uses same technique https://github.com/mmtrt/foobar2000_AppImage Just my opinion. |
The steps:
|
An AppImage must contain everything to run the application. Otherwise it is not an AppImage. The whole idea of AppImage is "one app = one file". This makes AppImages so simple to use. Also, my method of minimizing the AppImage means that the AppImage just contains enough of Wine to run this Windows application, but not others. |
Very cool, |
The first reason, is the @probonopd reply The second reason is that, on Windows, the program is distributed with all the content. In linux, in my opinion, this should be better, all application dependencies must be contained in a single file to avoid installations @mmtrt, thanks for your idea, but it has a some issues, for e.g. if user uses a ostree managed system? |
@probonopd @sudo-give-me-coffee Sure my method is flawed and has some issues like segfaults when calling some scripts from other appimage and it breaks AppImage philosophy as single app file and could create issues with ostree system in long run but yet it has more stability as compare to minimized version of Appimage which tends to break due to missing files removed by using that method. Back to testing this appimage: I did some testing on packaging bottles they seems to work fine good job on making this possible but during test one app failed to launched after being packed as AppImage which was notepad-plus-plus where its own dll signature protection failed to launch due to that but this worked fine on launching it from bottle after installed. |
@mmtrt Can you please open a separate "Issue" for this? I found the source of the bug, but I need a separate "issue" to reference with the fix |
@probonopd This method is clearing plugins and additional data, licenses, change logs and all other "secondary" resources |
Yes. Maybe it is necessary to exclude some locations from being deleted. |
* Added 'minimize' command #5 * Added support for applications that verify the signature of the DLL #7 * More transparent way for handling PREFIX * Less CPU usage by packaged applications * More fast initialization of packaged applications * Commands now show how many steps it takes to complete the task * Splits some commands
@probonopd Added "minimize" option |
@mmtrt added option to bundle system.reg file |
Many thanks, i think that i can close now, if not please reopen it |
How does it work? |
Essentially the same as you went through, but with some differences to ensure that regedit is packaged
https://github.com/sudo-give-me-coffee/win32-appimage/blob/5834160a476be8d24f221be1c51287102aa876c0/data/AppDirTool.sh#L115-L117
|
What is the theory of operation for the current minimization strategy?
By examining, at runtime, which files are actually needed, it may be possible to bring down the AppImage size even further, by bundling a narrower subset of Wine and its dependencies (only those that are actually needed by the particular app).
Here is a comparison:
Using the minimization technique outlined in https://github.com/probonopd/libhookexecv#minimizing I was able to reduce the size by more than three quarters!
The text was updated successfully, but these errors were encountered: