AeThex-OS/DISTRIBUTION_SETUP.md
2026-02-12 12:42:48 -07:00

7.1 KiB

AeThex OS Distribution - Complete Setup Guide

🎯 Overview

You now have a complete Roblox-style distribution system with:

  • Beautiful download page at /download
  • Server API endpoints for downloading installers
  • Auto-update system built into desktop app
  • Web launcher for one-click installs
  • Marketing materials and embed codes

📦 Build the Production Installer

Before users can download, you need to build the production installer:

# Build desktop app (takes ~5-10 minutes first time)
cd shell/aethex-shell
npm run tauri build

# Creates two installers:
# 1. shell/aethex-shell/src-tauri/target/release/bundle/nsis/AeThex-OS_0.1.0_x64-setup.exe (2.5 MB)
# 2. shell/aethex-shell/src-tauri/target/release/bundle/msi/AeThex-OS_0.1.0_x64_en-US.msi (3.7 MB)

🚀 Server Setup

1. Start Your Server

# From project root
npm run dev

# Server runs on: http://localhost:5000
# React app: http://localhost:5000/download

2. API Endpoints (Automatic)

These endpoints are already configured:

http://localhost:5000/api/download/desktop     → NSIS installer
http://localhost:5000/api/download/desktop/msi → MSI installer
http://localhost:5000/api/download/version     → Version info (for auto-updates)

🌐 How Users Install

Method 1: Website Download Page

User visits: http://localhost:5000/download
Clicks: "Download for Windows"
Downloads: AeThex-OS-setup.exe
Runs installer → App installed!
User clicks: http://localhost:5000/api/download/desktop
Browser downloads installer immediately

Method 3: Web Launcher (Auto-start)

User visits: http://localhost:5000/launcher.html?autoinstall=true
Download starts automatically

🔄 Auto-Update System

The desktop app automatically checks for updates:

How It Works

  1. On launch, app checks: https://aethex.dev/api/download/version
  2. Compares current version (0.1.0) with latest version
  3. If new version available, shows update dialog
  4. User clicks "Update" → downloads and installs new version

To Release an Update

  1. Increment version in shell/aethex-shell/package.json:

    {
      "version": "0.2.0"
    }
    
  2. Rebuild the installer:

    cd shell/aethex-shell
    npm run tauri build
    
  3. Deploy new installers to your server

  4. Users get notified automatically on next launch

🎨 Marketing Materials

All created in MARKETING_MATERIALS.md:

Social Media Posts

  • Twitter/X post
  • LinkedIn announcement
  • Discord message
  • Reddit post

Embed Codes

  • HTML buttons
  • JavaScript widgets
  • React components
  • Email signatures

All embed codes in EMBED_CODES.html

📊 Testing Locally

1. Test Download Page

# Start server
npm run dev

# Visit in browser
http://localhost:5000/download

# Click "Download for Windows"
# Should see 404 if installer not built yet
cd shell/aethex-shell
npm run tauri build

# Wait 5-10 minutes
# Installer will be created at:
# src-tauri/target/release/bundle/nsis/AeThex-OS_0.1.0_x64-setup.exe

3. Test Download Again

# Restart server if needed
npm run dev

# Visit download page
http://localhost:5000/download

# Click "Download for Windows"
# Should download AeThex-OS-setup.exe

🌍 Production Deployment

  1. Build installer locally:

    cd shell/aethex-shell
    npm run tauri build
    
  2. Deploy to your server (Railway, Vercel, etc.)

    git add .
    git commit -m "feat: add download system and installers"
    git push
    
  3. Upload installers to your server or CDN

    • Option A: Commit installers to repo (not recommended, large files)
    • Option B: Upload to S3/R2/DigitalOcean Spaces
    • Option C: Host on GitHub Releases

Option 2: Use GitHub Releases

  1. Create release on GitHub:

    git tag v0.1.0
    git push origin v0.1.0
    
  2. Upload installers to GitHub release page

  3. Update download routes in server/download-routes.ts:

    const installerPath = 'https://github.com/[username]/[repo]/releases/download/v0.1.0/AeThex-OS-setup.exe';
    

Option 3: CDN Hosting

  1. Upload to CDN (Cloudflare R2, AWS S3, DigitalOcean Spaces)

  2. Update download routes to point to CDN URLs:

    const installerPath = 'https://cdn.aethex.dev/downloads/AeThex-OS-setup.exe';
    

🔐 Production Checklist

Before going live:

  • Build production installer (npm run tauri build)
  • Test download locally
  • Choose hosting method (GitHub Releases / CDN / Server)
  • Update production URLs in code if needed
  • Test auto-update system
  • Verify installers work on clean Windows machine
  • Set up analytics tracking
  • Prepare social media posts
  • Create launch announcement

📈 Analytics & Monitoring

Track Downloads

Add to your download page (client/src/pages/download.tsx):

const handleDownload = async () => {
  // Track with your analytics
  gtag('event', 'download_start', {
    event_category: 'installer',
    event_label: 'windows_desktop'
  });

  // ... download logic
};

Monitor Active Users

The /api/download/version endpoint logs all update checks:

  • Track how many users check for updates
  • Monitor active installations
  • Track update adoption rate

🎬 Launch Strategy

Week Before Launch

  1. Build and test installer thoroughly
  2. Set up hosting infrastructure
  3. Prepare social media posts
  4. Notify mailing list subscribers

Launch Day

  1. Deploy download system
  2. Post on all social media channels
  3. Share on Reddit, Hacker News, IndieHackers
  4. Email announcement to users
  5. Monitor download metrics

Week After Launch

  1. Gather user feedback
  2. Fix critical bugs
  3. Share success metrics
  4. Plan first update (v0.2.0)

🆘 Troubleshooting

"Port 1420 already in use"

# Kill the process
taskkill //F //PID [process-id-from-netstat]

"Installer not found" error

# Build the installer first
cd shell/aethex-shell
npm run tauri build

Download fails in browser

  • Check if installer exists at expected path
  • Verify server has read permissions
  • Check browser console for errors
  • Test direct API endpoint: http://localhost:5000/api/download/desktop

Auto-update not working

  • Verify tauri.conf.json updater endpoint is correct
  • Check version endpoint returns valid JSON
  • Ensure app has internet connection
  • Look at console logs in desktop app

📞 Support & Help

  • Documentation: See MARKETING_MATERIALS.md for full guide
  • Embed Codes: See EMBED_CODES.html for ready-to-use code
  • Issues: File bugs on GitHub
  • Community: Discord server

Next Steps:

  1. Build the production installer: cd shell/aethex-shell && npm run tauri build
  2. Test download locally: npm run dev → visit http://localhost:5000/download
  3. Deploy to production when ready

Built: 2026-02-12 Version: MVP Distribution System Status: Ready for Testing