Make the MSI part of your build—not a separate craft.

Setupidity turns a staged application directory and clear product metadata into a native Windows Installer package. Run the same focused command from Windows, Linux, macOS, or CI, then add only the installer behavior your application needs.

Start with the files you already ship.

There is no project wizard to fight and no generated authoring tree to adopt. Stage the application exactly as it should be installed, identify the product, and choose an output path. Setupidity validates the inputs before it replaces an existing package.

Follow the tested first-package guide or inspect every command-line option.

  1. 01
    Stage the application

    Put the exact files to install in one directory tree.

  2. 02
    Describe the package

    Add product identity and only the installer options you need.

  3. 03
    Build and verify

    Create the MSI, sign it, and test it on Windows.

What you can author

The installer essentials, deliberately exposed.

01

A complete installer experience

Choose standard or minimal page flow and classic or modern styling. Add an installation-directory picker, an RTF license page, application icons, Start menu or desktop shortcuts, custom folder trees, and useful launch conditions.

02

Native, deployable output

Produce per-machine 64-bit MSI packages with embedded Cabinet media. Select MSZIP, LZX, or uncompressed payloads. Setupidity authors upgrade identity, downgrade blocking, Installed apps metadata, repair, rollback, and uninstall behavior into the package.

03

The same command in CI

Use the CLI locally and on build agents without a visual IDE or an extra build-server license. Clear validation failures stop bad inputs early, and atomic replacement protects the last known-good output when a build fails.

Know the boundary before you adopt it.

Setupidity is intentionally focused, and its documentation distinguishes what ships now from what may come later. It does not currently expose bundles, patches, per-user installation, services, environment variables, file associations, or arbitrary MSI table authoring.

Generated packages still need your Windows test matrix and your own Authenticode signing step. Cross-platform authoring removes a dedicated Windows build host; it does not remove Windows-specific release verification.

Current boundary

  • Per-machine, 64-bit Windows Installer packages
  • Administrative installation
  • Embedded Cabinet media
  • External code signing and Windows testing
Review every supported feature and constraint

A small first command. A real Windows installer.

Build the repository’s verified example, then add UI, shortcuts, conditions, folders, and compression one concern at a time.