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.
- Screenshots
- What problem does this solve?
- Who is it for?
- Features
- Quick start
- How do I brand the installer?
- Project layout
- FAQ
- Architecture
- Contributing
- License
Custom Inno Setup chrome at 1024×640 — options → progress → done.
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.
| 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 |
| 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
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.ps1Output: 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)
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 emptyThen swap assets/app.ico. Optional: replace the backdrop / wordmark in scripts/generate-ui.ps1 when you want full visual brand control.
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
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.
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.
Yes. Any portable Windows app folder works as long as AppExeName from config.ps1 exists under examples/win-unpacked/.
No by default. It installs per-user under %LOCALAPPDATA%\Programs\{AppName} (PrivilegesRequired=lowest).
Run Setup with /VERYSILENT. Custom chrome is skipped so updaters that relaunch Setup keep a reliable path.
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.
See ARCHITECTURE.md — identity → UI generation → Inno runtime → payload → build orchestration.
Inno owns the install. PowerShell owns the look. Config owns the name.
Full map, window geometry, and extension points: ARCHITECTURE.md
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.
MIT — fork it, rename it, ship your Setup.exe.
Last updated: 2026-09-06 · Maintainer: MrUmid2oo4






