AeThex Desktop App - Release Guide
This guide covers building, signing, and distributing the AeThex Desktop application.
Quick Start
Prerequisites
Node.js 20+
npm or yarn
For Windows builds: Windows 10/11
For macOS builds: macOS 11+ with Xcode Command Line Tools
For Linux builds: Ubuntu 20.04+ or equivalent
Building Locally
# Install dependencies
npm install
# Build the desktop app (creates installers in ./dist)
npm run desktop:buildAutomated Builds (GitHub Actions)
The repository includes a GitHub Actions workflow that automatically builds for all platforms.
Triggering a Release
Tag a release:
Manual trigger: Go to Actions > Build Desktop App > Run workflow
Build Artifacts
After a successful build, artifacts are available:
Windows:
AeThex Desktop Terminal-{version}-win-x64.exemacOS:
AeThex Desktop Terminal-{version}-mac-{arch}.dmgLinux:
AeThex Desktop Terminal-{version}-x64.AppImage,.deb
Code Signing
Windows Code Signing
To sign Windows builds, you need a code signing certificate.
Get a certificate:
Purchase from DigiCert, Sectigo, or other CA
Or use Azure SignTool with Azure Key Vault
Add GitHub Secrets:
Update electron-builder.yml:
macOS Code Signing & Notarization
Apple requires apps to be signed and notarized for distribution.
Prerequisites:
Apple Developer Program membership ($99/year)
Developer ID Application certificate
App-specific password for notarization
Add GitHub Secrets:
Update GitHub workflow to include notarization:
Update electron-builder.yml:
Auto-Updates
The app is configured to check for updates from GitHub Releases.
How it works:
User installs the app
On launch, app checks GitHub Releases for newer version
If found, prompts user to download and install
Configuration
The publish section in electron-builder.yml configures the update server:
Testing Updates
Build version 1.0.0 and install
Push version 1.0.1 to GitHub Releases
Launch the app - it should detect and offer the update
Customization
App Icons
Replace files in build/icons/:
icon.ico- Windows (256x256 multi-size)icon.icns- macOS (512x512 multi-size)icon.png- Linux (512x512)
See build/icons/README.md for conversion instructions.
Installer Graphics
Windows NSIS:
build/installerHeader.bmp- 150x57 pixelsbuild/installerSidebar.bmp- 164x314 pixels
macOS DMG:
build/icons/icon.icns- Volume icon(Optional) Add
build/dmg-background.png(540x380 pixels) and update electron-builder.yml withdmg.background: build/dmg-background.png
License
Add a LICENSE file to the root directory to display during Windows installation.
Troubleshooting
"App is damaged" on macOS
App is not signed or notarized
Run:
xattr -cr /Applications/AeThex\ Desktop\ Terminal.app
Windows SmartScreen warning
App is not code-signed
Users can click "More info" > "Run anyway"
Linux AppImage won't run
Build fails with "icon not found"
Ensure
build/icons/icon.icoexists for Windows buildsEnsure
build/icons/icon.icnsexists for macOS builds
Version Management
Update version in package.json before creating a release tag:
The version is used in:
Installer filename
Auto-update checks
About dialog
Last updated
