

A substandard installer, however, can ruin the initial impression that is so important for the image of a product. A smooth installation experience is an important step in creating happy users and a successful product. The installer is the first thing your users see of your application. Nonetheless, you have a powerful arsenal of functionality at your disposal when you need it. Building an installer that works is a matter of minutes. The install4j IDE guides you naturally through the process of gathering the required information. Not so with the app, where all configuration steps are intuitive and self-explanatory. Some installer builders require that you first become an expert in building installers. (OpenAudible:3030): GLib-GIO-CRITICAL **: 13:58:00.Install4j is a powerful multi-platform Java installer builder that generates native installers and application launchers for Java applications. The good news (?) is that the app loads and looks OK… But crashes with an assertion failure after clicking on some GUI items. Which is the same error as: Request for classic confinement: wireframesketcher – which I think was a call to go classic, as the strict wasn’t working. Which grabs a newer (prerelease) OpenAudible.AppImage with some snap specific files included to avoid the sed search/replace.Įrror looks like a permission setting: SWT SessionManagerDBus: Failed to RegisterClient: GDBus.Error.AccessDenied: An AppArmor policy prevents this sender from sending this message to this recipient type="method_call", sender=":1.170" (uid=1000 pid=3030 comm="./jre/bin/java =/home/oa/snap/openaud" label=" (enforce)") interface="" member="RegisterClient" error name="(unset)" requested_reply="0" destination=":1.19" (uid=1000 pid=15162 comm="/usr/lib/gnome-session/gnome-session-binary -sess" label="unconfined") Still looking like the eclipse swt dbus has some bugs. Sed -i -E 's|^Exec=.*$|Exec=openaudible %U| s|^Icon=.*$|Icon=$/squashfs-root/OpenAudible.png|' squashfs-root/ĭesktop: squashfs-root/

# Set the Exec= line and Icon= line of the. Sed -i -E '/disown/d /exit 0/d' squashfs-root/AppRun # We're not forking java so disown and exit are not needed jre/bin/java =$SNAP_USER_COMMON| s| > /dev/null 2>&1 &||' squashfs-root/AppRun # Set the parameter to a writable location and don't fork the process # remove the AppImage so it doesn't get copied into final snap package OpenAudible-x86_64.AppImage -appimage-extract # set version number, snap summary, and snap description from metainfo file Then modify the containment settings (allow https networking for instance) and specify which part(s) of the file system are accessible? I admit I am not a regular linux on the desktop guy.Īny suggestions welcome! Willing to put a bounty on this, if that’s an acceptable thing to do.įor anyone following along at home, here is the snapcraft.yaml that I’ve worked up so far:Īdopt-info: openaudible # see 'openaudible' part's parse-info property AppImage might be preferred, since it is already a self-contained system- just not containerized. It would be nice if there was a tool that could go from. Networking includes an internal web browser and calls to a version checker for product updates. The app allows a user to choose and import files from the file system, or choose a directory to save files outside the “home” directory.

The app creates a home folder ~/OpenAudible for config files. OpenAudible includes a copy of the AMD64 (x86_64) openjdk-12 jre and launches an eclipse swt java desktop application. Is there a service or developer who can assist? I then wrote a script to build an AppImage. Would like to get the linux number higher!) (users are 10% linux, 23% Mac, 67% Windows.

I wrote OpenAudible, a cross-platform java desktop application to manage audible (and other) audiobooks.
