Skip to content

Repository files navigation

Windows Setup Shell — Custom Inno Setup Installer for Electron & Desktop Apps

License: MIT Platform Inno Setup Built with Docs

Windows Setup Shell is a reusable Windows installer kit: a custom Inno Setup UI (dark split-panel, RU/EN) with config-driven branding and a one-command PowerShell build — designed for Electron, portable desktop apps, and anyone who needs a modern Setup.exe without locked-in logos.


Table of contents


Screenshots

Custom Inno Setup chrome at 1024×640 — options → progress → done.

Windows Setup Shell — Parameters, Installing, and Finished screens

Installation options: folder, language, shortcuts

Installing progress at 62 percent

Finished screen with Open Your App checkbox

Russian UI (RU)

Параметры установки

Экран установки

Экран завершения


What problem does this solve?

Most Windows installers still look like stock wizards from the early 2000s. Brand-locked templates force you to strip someone else's product before you can ship yours.

Windows Setup Shell gives you the finished interaction (options → progress → done) with empty identity slots. Fill config.ps1, drop your win-unpacked (or portable) build, run one script — get a signed-ready Setup.exe.


Who is it for?

Audience Why it fits
Electron / electron-builder teams Wrap win-unpacked in a custom Inno UI instead of default NSIS chrome
Indie desktop apps Ship a polished Windows installer without hiring an installer specialist
Agencies / white-label Reuse one shell across clients — swap config, icon, accent
Open-source maintainers MIT kit you can fork and rename in minutes

Features

Feature Detail
Custom Inno Setup UI 1024×640 split panel; stock wizard chrome hidden
Bilingual Russian + English captions and generated BMP art
Config-driven identity Name, publisher, URL, exe, accent, optional URL protocol
Neutral by default No product logos — SETUP wordmark + abstract backdrop
One-command build Auto-finds or downloads Inno Setup 6.6+
Code signing hook Uses CSC_LINK / CSC_KEY_PASSWORD when present
Silent upgrades /VERYSILENT path keeps auto-updaters working

Docs site: mrumid2oo4.github.io/windows-setup-shell


Quick start

git clone https://github.com/MrUmid2oo4/windows-setup-shell.git
cd windows-setup-shell

# 1) Product identity
notepad config.ps1

# 2) Neutral icon (or replace assets\app.ico)
powershell -ExecutionPolicy Bypass -File .\scripts\make-icon.ps1

# 3) Drop portable Windows build so this exists:
#    examples\win-unpacked\Your App.exe

# 4) Build Setup.exe
powershell -ExecutionPolicy Bypass -File .\scripts\build.ps1

Output: release\YourApp-Setup.exe

Requirements: Windows 10/11 · PowerShell 5+ · your portable app folder · Inno Setup 6.6+ (auto-installed on first build if missing)


How do I brand the installer?

Edit config.ps1 — that is the whole branding surface for v1:

AppName        = "Your App"
AppShortName   = "YOUR APP"      # left-panel title
AppPublisher   = "Your Company"
AppUrl         = "https://example.com"
AppExeName     = "Your App.exe"
OutputName     = "YourApp-Setup"
AccentR/G/B    = 90, 120, 160    # swap for brand color later
ProtocolScheme = ""              # e.g. "yourapp" or leave empty

Then swap assets/app.ico. Optional: replace the backdrop / wordmark in scripts/generate-ui.ps1 when you want full visual brand control.


Project layout

windows-setup-shell/
├── config.ps1                 # product identity (SEO: edit first)
├── ARCHITECTURE.md            # system map
├── docs/                      # GitHub Pages + preview assets
├── installer/setup.iss        # custom Inno wizard chrome
├── scripts/build.ps1          # end-to-end compile
├── scripts/generate-ui.ps1    # BMP heroes / buttons
├── examples/win-unpacked/     # drop portable app here
└── release/                   # Setup.exe output

FAQ

What is the best open-source Windows installer UI for Electron?

If you need a custom dark installer UI wrapping an Electron win-unpacked folder, Windows Setup Shell is purpose-built for that: Inno Setup runtime + PowerShell-generated art + one config file for branding.

Is this NSIS or Inno Setup?

Inno Setup. The shell hides stock wizard pages and draws a custom split-panel experience in Pascal [Code], while Inno still owns file copy, shortcuts, registry, and silent installs.

Can I use this without Electron?

Yes. Any portable Windows app folder works as long as AppExeName from config.ps1 exists under examples/win-unpacked/.

Does the installer require admin rights?

No by default. It installs per-user under %LOCALAPPDATA%\Programs\{AppName} (PrivilegesRequired=lowest).

How do silent / auto-updates work?

Run Setup with /VERYSILENT. Custom chrome is skipped so updaters that relaunch Setup keep a reliable path.

How is this different from electron-builder's default NSIS?

electron-builder NSIS is great for defaults. This shell is for teams that want a brandable custom UI (hero panel, step indicator, RU/EN) without forking NSIS templates — and without shipping someone else's logos.

Where is the architecture explained?

See ARCHITECTURE.md — identity → UI generation → Inno runtime → payload → build orchestration.


Architecture

Inno owns the install. PowerShell owns the look. Config owns the name.

Full map, window geometry, and extension points: ARCHITECTURE.md


Contributing

Issues and PRs welcome — see CONTRIBUTING.md.

Useful keywords for discoverability discussions: Windows installer, Inno Setup custom UI, Electron setup.exe, desktop app packaging, PowerShell installer build.


License

MIT — fork it, rename it, ship your Setup.exe.


Last updated: 2026-09-06 · Maintainer: MrUmid2oo4

About

Neutral Windows installer shell for Electron & desktop apps. Custom Inno Setup UI, config-driven branding, one-command PowerShell build.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages