<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Packaging on SoloSoft</title><link>https://www.solosoft.dev/tags/packaging/</link><description>Recent content in Packaging on SoloSoft</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.solosoft.dev/tags/packaging/index.xml" rel="self" type="application/rss+xml"/><item><title>Electron Builder: Complete Packaging and Distribution Solution for Electron Apps</title><link>https://www.solosoft.dev/post/electron-builder-2026/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://www.solosoft.dev/post/electron-builder-2026/</guid><description>&lt;p&gt;Shipping a desktop application to users is only half the battle &amp;ndash; getting that application packaged, signed, and distributed across three operating systems is where the real work begins. &lt;strong&gt;Electron Builder&lt;/strong&gt; (electron-userland/electron-builder) is the most widely adopted tool for solving exactly this problem, providing an all-in-one solution for packaging Electron apps for macOS, Windows, and Linux.&lt;/p&gt;
&lt;p&gt;Created by the Electron ecosystem maintainers, Electron Builder has become the de facto standard for Electron application distribution. It is used by thousands of production applications ranging from small utilities to enterprise SaaS tools, handling everything from installer creation to code signing to automatic updates.&lt;/p&gt;</description></item><item><title>PyInstaller: Package Python Apps into Standalone Executables</title><link>https://www.solosoft.dev/post/pyinstaller-packaging-2026/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://www.solosoft.dev/post/pyinstaller-packaging-2026/</guid><description>&lt;p&gt;One of Python&amp;rsquo;s biggest challenges is distribution. Users need to install Python, manage virtual environments, and resolve dependencies before they can run your application. PyInstaller solves this by freezing Python applications into standalone executables that work on systems without Python installed.&lt;/p&gt;
&lt;p&gt;PyInstaller analyzes your Python script, discovers all imported modules and data files, and bundles them together with a minimal Python interpreter into a single executable file or directory. The result is a distributable package that users can run by double-clicking, just like any native application.&lt;/p&gt;
&lt;h2 id="key-features"&gt;Key Features&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Feature&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Cross-platform&lt;/td&gt;
 &lt;td&gt;Creates executables for Windows, macOS, and Linux&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;One-file mode&lt;/td&gt;
 &lt;td&gt;Bundle everything into a single executable&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Automatic dependency detection&lt;/td&gt;
 &lt;td&gt;Finds and includes all imported modules&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Hidden imports support&lt;/td&gt;
 &lt;td&gt;Manual specification for dynamic imports&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Data file bundling&lt;/td&gt;
 &lt;td&gt;Include images, configs, and assets&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="build-process"&gt;Build Process&lt;/h2&gt;

&lt;figure class="mermaid-wrapper not-prose" role="img" aria-label="Mermaid diagram"&gt;
 &lt;div class="mermaid-container"&gt;
 &lt;pre class="mermaid"&gt;flowchart LR
 A[Python Script] --&amp;gt; B[PyInstaller Analysis]
 B --&amp;gt; C[Dependency Discovery]
 C --&amp;gt; D{Import Found}
 D --&amp;gt;|Standard Lib| E[Bundled]
 D --&amp;gt;|Third Party| E
 D --&amp;gt;|Data Files| E
 E --&amp;gt; F[Build Artifacts]
 F --&amp;gt; G{Output Mode}
 G --&amp;gt;|One File| H[single EXE/APP]
 G --&amp;gt;|One Directory| I[Directory with all files]
 G --&amp;gt;|Custom| J[Spec file controls]&lt;/pre&gt;
 &lt;script type="application/mermaid"&gt;flowchart LR
 A[Python Script] --&gt; B[PyInstaller Analysis]
 B --&gt; C[Dependency Discovery]
 C --&gt; D{Import Found}
 D --&gt;|Standard Lib| E[Bundled]
 D --&gt;|Third Party| E
 D --&gt;|Data Files| E
 E --&gt; F[Build Artifacts]
 F --&gt; G{Output Mode}
 G --&gt;|One File| H[single EXE/APP]
 G --&gt;|One Directory| I[Directory with all files]
 G --&gt;|Custom| J[Spec file controls]&lt;/script&gt;
 &lt;/div&gt;
&lt;/figure&gt;&lt;p&gt;PyInstaller first analyzes the script to understand its dependency tree, then bundles everything together. The spec file gives advanced users fine-grained control over every aspect of the build.&lt;/p&gt;</description></item></channel></rss>