Building and Distributing

The build.py script manages the distribution process. Run it in the main directory:

python build.py

Build Options

1. Installer (Production)

Generates a self-contained Portable build and automatically compiles an .exe installer. Requires Inno Setup.

2. Standalone (Portable)

Builds a dist/Standalone directory with a self-contained Python runtime alongside your application. Requires no installationβ€”just zip and share.

3. Regular (Local Dev)

Standard local CMake build. Warning: Dependent on your system's Python path. Do not distribute this version.

Distribution Structure

When distributing manually, keep this structure:

πŸ“ YourApp/
 β”œβ”€β”€ ESDEngine.exe         (Core Engine)
 β”œβ”€β”€ properties.config     (Core Settings)
 β”œβ”€β”€ python3.dll           (Embedded Python)
 β”œβ”€β”€ python311.zip         (Standard library)
 β”œβ”€β”€ πŸ“ ui/                (Frontend)
 └── πŸ“ server/            (Backend)

Note: Pip dependencies for your backend aren't copied automatically. You must bundle them in a site-packages folder or install them into the embeddable Python environment before distribution.