Installer

The DefenSys installer is a custom Electron-based setup wizard. It provides a modern UI for installing DefenSys and its dependencies on Windows.

Features

  • Multi-Step Wizard – Welcome, License, Location, Ready, Installing, Finish
  • Install Flow – Runs Inno Setup silently to install DefenSys
  • Uninstall Flow – If DefenSys is already installed, the wizard switches to uninstall mode (Confirm → Uninstalling → Complete)
  • Dependencies – Can install Wireshark (tshark + Npcap), Suricata IDS, and Nmap
  • Progress Indication – Shows status during installation
  • Exit Confirmation – Modal to prevent accidental exit

Install Steps

  1. Welcome – Introduction and overview of what will be installed
  2. License – License agreement with accept checkbox
  3. Location – Choose installation directory (Browse button)
  4. Ready – Summary of components and destination path
  5. Installing – Progress ring and status text while Inno Setup runs
  6. Finish – Success message and "Launch DefenSys" checkbox

Uninstall Steps

  1. Confirm – Shows installed path and asks to uninstall
  2. Uninstalling – Runs Inno Setup uninstaller
  3. Complete – Confirmation that DefenSys was removed

Technical Details

  • Framework: Electron
  • Installer Engine: Inno Setup (run silently via spawn)
  • Detection: Windows Registry to check if DefenSys is installed
  • Script: assets/installer.iss

Registry Detection (for devs)

The installer queries the registry for the DefenSys AppId to find the installed path and uninstaller executable. If found, the wizard switches to uninstall mode.

Building the Installer

# Build the installer app
npm run dist-win:installer

# Or full build (app + installer)
npm run dist-win:all