A PowerShell-based auto-updater for Helium browser on Windows, since Helium doesn't have built-in auto-update functionality.
- ✅ Checks for updates from GitHub releases automatically
- ✅ Installs Helium browser automatically if not already installed
- ✅ Runs on Windows login and daily at noon
- ✅ Shows a message box when an update is available
- ✅ Downloads and installs updates silently (after user approval)
- ✅ Auto-detects CPU architecture (x64 or ARM64)
- ✅ Verifies installer checksum (SHA256) before installation
- ✅ Cleans up installer files after installation
- ✅ Logs activity for troubleshooting
- Open PowerShell
- Navigate to this directory:
cd path\to\helium-windows-updater
- Run the installer:
.\Install-HeliumUpdater.ps1
The installer will:
- Copy the update script to
%LOCALAPPDATA%\HeliumUpdater - Create two scheduled tasks:
- HeliumUpdater-Login: Runs when you log in to Windows
- HeliumUpdater-Daily: Runs daily at 12:00 PM
- Offer to install Helium (if not installed) or check for updates
After installation, the updater runs automatically. You can also manually check for updates:
& "$env:LOCALAPPDATA\HeliumUpdater\Update-Helium.ps1"- You'll see a message box asking if you want to install the update
- Click "Yes" to download and install the update
- Click "No" to be reminded on the next scheduled run
Note: If Helium is running when you try to install, you'll be prompted to close it first.
To remove the updater (this does NOT remove Helium browser):
cd path\to\helium-windows-updater
.\Uninstall-HeliumUpdater.ps1Or manually:
- Open Task Scheduler and delete tasks named
HeliumUpdater-LoginandHeliumUpdater-Daily - Delete the folder
%LOCALAPPDATA%\HeliumUpdater
| File | Description |
|---|---|
Update-Helium.ps1 |
Main update check script |
Install-HeliumUpdater.ps1 |
One-time setup script |
Uninstall-HeliumUpdater.ps1 |
Removal script |
build.ps1 |
Build script — runs lint and tests |
After installation, files are located at:
%LOCALAPPDATA%\HeliumUpdater\
├── Update-Helium.ps1 # The update script
├── config.json # Tracks installed version
└── helium-updater.log # Debug log
The config.json file tracks:
installedHeliumVersion: Your current Helium version (e.g., "0.7.10.1")lastChecked: When updates were last checked
You can manually edit this file if needed.
Check the log file:
Get-Content "$env:LOCALAPPDATA\HeliumUpdater\helium-updater.log" -Tail 50Verify scheduled tasks are registered:
Get-ScheduledTask -TaskName "HeliumUpdater*"Run the updater manually with verbose output:
& "$env:LOCALAPPDATA\HeliumUpdater\Update-Helium.ps1" -VerboseIf you use winget, you can install Helium with winget install ImputNet.Helium and schedule winget upgrade --id ImputNet.Helium --silent via Task Scheduler. This project exists for users who want more control (user prompts, logging, checksum verification) or don't have winget.
- Windows 10/11
- PowerShell 5.1 or later (included with Windows)
- Internet connection (to check GitHub releases)
Run the full build (lint + tests):
.\build.ps1Run specific tasks:
.\build.ps1 -Task Lint # PSScriptAnalyzer only
.\build.ps1 -Task Unit # Unit tests only
.\build.ps1 -Task Integration # Integration tests only
.\build.ps1 -Task Test # All tests (no lint)Dependencies (Pester v5, PSScriptAnalyzer) are installed automatically on first run.
Releases are automated via GitHub Actions. To publish a new release:
git tag v1.0.0
git push origin v1.0.0This creates a GitHub Release with a zip of all scripts and a SHA256 checksum file. Release notes are auto-generated from commits since the last tag.
MIT License - feel free to modify and distribute.