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
- Welcome – Introduction and overview of what will be installed
- License – License agreement with accept checkbox
- Location – Choose installation directory (Browse button)
- Ready – Summary of components and destination path
- Installing – Progress ring and status text while Inno Setup runs
- Finish – Success message and "Launch DefenSys" checkbox
Uninstall Steps
- Confirm – Shows installed path and asks to uninstall
- Uninstalling – Runs Inno Setup uninstaller
- 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