; installer.iss ; Build with Inno Setup (https://jrsoftware.org/isinfo.php): ; 1. Run `pyinstaller build.spec` first — this script packages its output. ; 2. Open this file in Inno Setup Compiler and click Build, ; or run: iscc installer.iss [Setup] AppName=InsightUX AppVersion=1.0 AppPublisher=InsightUX DefaultDirName={autopf}\InsightUX DefaultGroupName=InsightUX OutputDir=installer_output OutputBaseFilename=InsightUX-Setup Compression=lzma2 SolidCompression=yes ; Standard users can't write to Program Files — the app needs its data ; paths (calibration.pkl, sessions/) redirected to %APPDATA% before this ; installer is meaningfully usable by anyone other than an admin. See the ; note in build.spec's accompanying message. PrivilegesRequired=admin [Files] Source: "dist\InsightUX\*"; DestDir: "{app}"; Flags: recursesubdirs ignoreversion [Icons] Name: "{group}\InsightUX Calibrate"; Filename: "{app}\InsightUX Calibrate.exe"; \ Comment: "Run this first — one-time eye calibration" Name: "{group}\InsightUX Browser"; Filename: "{app}\InsightUX Browser.exe" Name: "{group}\Uninstall InsightUX"; Filename: "{uninstallexe}" Name: "{autodesktop}\InsightUX Browser"; Filename: "{app}\InsightUX Browser.exe"; \ Tasks: desktopicon [Tasks] Name: "desktopicon"; Description: "Create a desktop shortcut"; GroupDescription: "Additional shortcuts:" [Run] ; WebView2 Runtime is required by pywebview's Windows backend. Most ; Windows 11 machines already have it; Windows 10 often doesn't. ; This launches Microsoft's small bootstrapper installer if needed. Filename: "https://go.microsoft.com/fwlink/p/?LinkId=2124703"; \ Description: "Install Microsoft Edge WebView2 Runtime (required, skip if already installed)"; \ Flags: shellexec skipifsilent postinstall unchecked Filename: "{app}\InsightUX Calibrate.exe"; \ Description: "Run first-time calibration now"; \ Flags: postinstall nowait skipifsilent