Overview

Beep.Installer is a .NET 10 (WinForms) installer generator that targets parity with Inno Setup, ClickOnce, NSIS, WiX/MSI and Squirrel/Velopack. A single human-editable .bsetup project builds into three output shapes:

  • Track A โ€” a self-contained Setup.exe with an embedded payload and an install wizard (Inno/NSIS style).
  • Track B โ€” a ClickOnce publish folder with manifests and .deploy files.
  • Track C โ€” an .msix package for the Microsoft Store / MSIX.

The same Beep.Installer.exe is both the generator and the Track-A runtime. Beyond installing, the system ships a full app self-update stack (TheTechIdea.Beep.Updates): a static hash-verified feed, delta and side-by-side updates, feed-pinned NuGet module updates, drop-in WinForms/WPF update UI, and an optional update server with staged rollout, telemetry and an admin dashboard.

๐Ÿš€ Quick Start

Build an installer, then give the app self-update โ€” in a few lines.

Build & publish

# Build a self-contained Setup.exe from a .bsetup project
Beep.Installer.exe /BUILD=MyApp.bsetup /OUT=out

# Build and stage into a static update feed (for self-update)
Beep.Installer.exe /BUILD=MyApp.bsetup /PUBLISHFEED=\\host\feed /FEEDURL=https://updates.example.com

Give the app self-update

// WinForms โ€” one call shows an "update available" dialog with progress
await BeepUpdater.CheckAndPromptAsync(this, new UpdateSettings {
    FeedUrl        = "https://updates.example.com/stable/feed.json?cid=" + machineId,
    CurrentVersion = "1.2.0",
    InstallRoot    = Application.StartupPath
});

Explore the docs

Architecture

Three projects, generator + runtime, the two-model bridge, and where the install engine actually lives.

Authoring

The .bsetup format: components, files, shortcuts, registry, prerequisites, custom actions.

Install Pipeline

The runtime step graph, upgrade/repair/rollback, locked-file reboot swaps, ARP.

App Updates

The Updates domain: feed, delta planner, side-by-side applier, module channel.

Extensions

Drop-in WinForms & WPF update UI built from Beep controls.

Update Server

Optional ASP.NET Core host: staged rollout, telemetry, gated downloads, admin dashboard.