Create Windows InstallerΒΆ

First you need to create the Python environment with MSYS/Mingw64 as described in this page.

For building an installer, we use NSIS (already installed in the previous step).

  • Remove non-necessary files that can cause freezing failure:

    rm -rf venv/lib/python3.8/site-packages/setuptools*
    rm -rf venv/lib/python3.8/site-packages/pip*
    rm -rf venv/lib/python3.8/site-packages/wheel*
  • Patch CairoSVG and Weasyprint for freezing:

    mingw32-make patch_cairosvg
    mingw32-make patch_weasyprint
  • Install JDupes ( for deduplication:

    wget -c -O "" ""
    unzip -j "" "*/jdupes.exe" -d "./bin"
  • Compile translation files:

    mingw32-make mo
  • Load allowances to be embeded in the installer:

    mkdir allowances
    cd allowances
    tar -xvf <your_allowances.tar.xz>
    cd ..
  • Build the installer:

    mingw32-make win64
  • The generated .exe is located in ./bin folder.