mirror of
https://github.com/AeThex-Corporation/AeThex-OS.git
synced 2026-04-18 14:27:20 +00:00
302 lines
7.1 KiB
Markdown
302 lines
7.1 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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!
|
|
```
|
|
|
|
### Method 2: Direct Download Link
|
|
```
|
|
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`:
|
|
```json
|
|
{
|
|
"version": "0.2.0"
|
|
}
|
|
```
|
|
|
|
2. **Rebuild** the installer:
|
|
```bash
|
|
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
|
|
```bash
|
|
# Start server
|
|
npm run dev
|
|
|
|
# Visit in browser
|
|
http://localhost:5000/download
|
|
|
|
# Click "Download for Windows"
|
|
# Should see 404 if installer not built yet
|
|
```
|
|
|
|
### 2. Build Installer (Recommended)
|
|
```bash
|
|
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
|
|
```bash
|
|
# 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
|
|
|
|
### Option 1: Deploy to aethex.dev (Recommended)
|
|
|
|
1. **Build installer locally**:
|
|
```bash
|
|
cd shell/aethex-shell
|
|
npm run tauri build
|
|
```
|
|
|
|
2. **Deploy to your server** (Railway, Vercel, etc.)
|
|
```bash
|
|
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**:
|
|
```bash
|
|
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`:
|
|
```typescript
|
|
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:
|
|
```typescript
|
|
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`):
|
|
|
|
```typescript
|
|
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"
|
|
```bash
|
|
# Kill the process
|
|
taskkill //F //PID [process-id-from-netstat]
|
|
```
|
|
|
|
### "Installer not found" error
|
|
```bash
|
|
# 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 ✅
|