Skip to content

Repository files navigation

HTML Installer Unified

HTML Installer Unified turns a self-contained local HTML file into a Windows app-like experience.

One shared source tree builds two separate Windows executables:

  • Browser — opens the installed HTML in Edge or Chrome app mode.
  • Runtime — opens the installed HTML in a dedicated WebView2 window and bundles the official WebView2 Evergreen Standalone Installer for offline deployment when WebView2 is not already installed.

Public release: v1.0.0

The current application UI is Hebrew. Repository documentation and build tooling are in English.

Key behavior

  • One shared Core / Windows / UI codebase for both editions.
  • Each installed HTML app appears separately in Windows Installed Apps with its own name, icon, uninstall action, and Manage/Modify action.
  • During installation, the user can choose Desktop and/or Start Menu shortcuts.
  • Removing HTML Installer itself does not remove already-installed HTML apps. The shared engine remains only while installed apps still need it.
  • Runtime exposes only the app's isolated content folder to WebView2 and uses DenyCors for host-folder mapping.
  • Browser does not use Chromium PID tracking or a running.lock, avoiding false "app is still open" results caused by browser process reuse.
  • No PWA layer, localhost server, Taskbar helper, legacy LNK migration, or headless-browser icon conversion.
  • Release builds are self-contained, single-file, and compressed.

Requirements for building

  • Windows x64
  • .NET 10 SDK
  • Internet access for the first Runtime build so the official Microsoft WebView2 Evergreen Standalone Installer can be downloaded and verified. After it is cached under vendor/WebView2, later local Runtime builds can reuse it.

The produced applications themselves are designed to run offline. HTML content that references online APIs, CDNs, fonts, images, or other remote resources will still require network access for those resources.

Build

Build both editions:

BUILD-ALL.cmd

Build only Browser:

BUILD-BROWSER.cmd

Build only Runtime:

BUILD-RUNTIME.cmd

From PowerShell, prefix the script name with ./ or .\, for example:

.\BUILD-ALL.cmd

Output

Build scripts leave only the final distribution executables in release:

release/
  HTML-Installer-Browser.exe
  HTML-Installer-Runtime.exe

Temporary publish directories are created under %TEMP% and removed after the build.

The EXE files are self-installing. No separate INSTALL.cmd is required for distribution.

Repository structure

src/
  HtmlInstaller.Core      Shared metadata, paths, inspection and product definitions
  HtmlInstaller.Windows   Windows installation, registry, shortcuts and icons
  HtmlInstaller.UI        Shared WPF user interface and per-app management window
  HtmlInstaller.Browser   Browser-specific launch engine
  HtmlInstaller.Runtime   WebView2-specific launch engine

tools/
  validate-source.ps1     Architecture and regression guardrails
  prepare-webview2.ps1    Downloads and verifies the official WebView2 offline installer

.github/workflows/
  build.yml               Windows CI build for both editions

GitHub Actions

Every push and pull request runs a Windows build using the same BUILD-ALL.cmd used locally.

The workflow uploads only two artifacts:

  • HTML-Installer-Browser-win-x64
  • HTML-Installer-Runtime-win-x64

Generated build output and the downloaded WebView2 installer are excluded from Git through .gitignore.

HTML input requirements

The installer is intentionally designed around a single self-contained HTML file.

If the HTML refers to local neighboring files such as:

<script src="script.js"></script>
<link rel="stylesheet" href="style.css">
<img src="logo.png">

the installation should be blocked and the HTML should first be exported as a self-contained file.

Release verification

Before distributing a build, run through TEST-CHECKLIST.md.

Code signing

The project does not include a code-signing certificate. Unsigned EXEs may trigger Microsoft SmartScreen warnings on unfamiliar machines. For broad public distribution, signing the release executables is recommended.

About

A lightweight Windows tool that turns standalone HTML files into installable desktop apps, with Browser and WebView2 Runtime editions.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages