# painda-wizard > A drop-in NSIS / WiX replacement for Electron apps. One TypeScript config file, one CLI command, a fully branded animated Windows installer. painda-wizard is published on npm as `@painda/wizard`. It wraps an already-built Electron app (the `win-unpacked` output of electron-builder) into a polished Windows installer EXE with a custom-branded multi-page wizard. MIT licensed. Key facts: - Drop-in replacement for NSIS and WiX in Electron projects - Configuration is a single TypeScript file (`painda.config.ts`) using `defineConfig()` with full Zod validation - CLI: `npx painda init` (scaffold), `npx painda build` (produce installer), `npx painda check` (validate) - Wraps the unpacked output of `electron-builder --dir` - Wizard has up to 8 pages: Welcome, License, Privacy, Options, Progress, Maintenance, Update, Finish - Windows-native: registry, desktop / Start Menu shortcuts, Add/Remove Programs registration - No admin required by default (installs to %LOCALAPPDATA%) - Optional Authenticode code signing - Light / dark / auto theme ## Documentation - [Introduction](https://wizard.painda.tools/docs): What painda-wizard is and isn't - [Getting started](https://wizard.painda.tools/docs/getting-started): Install, init, configure, build - [Configuration reference](https://wizard.painda.tools/docs/configuration): Every option in painda.config.ts - [CLI](https://wizard.painda.tools/docs/cli): painda init, painda build, painda check - [Branding](https://wizard.painda.tools/docs/branding): Colors, logo, fonts, theme, installer .ico - [Wizard pages](https://wizard.painda.tools/docs/pages): Welcome, License, Privacy, Options, Progress, Maintenance, Update, Finish ## Quick start ```bash # 1. Install npm install -D @painda/wizard # 2. Scaffold config npx painda init # 3. Build your Electron app npx electron-builder --dir # 4. Build the installer npx painda build ``` The installer EXE lands in `dist-installer/`. ## Minimal config ```ts import { defineConfig } from "@painda/wizard"; export default defineConfig({ app: { id: "com.example.myapp", name: "My App", version: "1.0.0", publisher: "Acme Inc.", }, branding: { primaryColor: "#4f46e5", logo: "./installer-assets/logo.png", theme: "auto", }, payload: { from: "dist-electron-bin/win-unpacked", executable: "My App.exe", }, }); ``` ## Optional - [npm package](https://www.npmjs.com/package/@painda/wizard) - [GitHub](https://github.com/Paindabear) - [painda.tools](https://painda.tools): Painda's portfolio - [PaindaProtocol](https://pp.painda.tools): real-time networking engine by the same author