Skip to content

Latest commit

 

History

History
194 lines (133 loc) · 4.79 KB

File metadata and controls

194 lines (133 loc) · 4.79 KB

Quick Start: Auto-Update System

Your PiPStream application now has professional auto-update support! Here's how to get started.


✅ What's Already Done

  1. Clowd.Squirrel installed - Modern auto-update library
  2. UpdateService created - Handles all update logic
  3. App.xaml.cs configured - Checks for updates on startup
  4. MainWindow updated - "Check for Updates" menu item
  5. Build scripts ready - Automated release creation
  6. Documentation complete - Full deployment guide

🚀 Quick 3-Step Setup

Step 1: Create GitHub Repository

  1. Go to https://github.com/new
  2. Repository name: PiPStream
  3. Public visibility (required for free auto-updates)
  4. Click "Create repository"

Step 2: Update GitHub URL

Edit Services\UpdateService.cs line 12:

private const string GitHubRepoUrl = "https://github.com/YOUR_GITHUB_USERNAME/PiPStream";

Replace YOUR_GITHUB_USERNAME with your actual GitHub username.

Step 3: Push Code to GitHub

cd C:\Users\Zanzi\TOOLS\PiPTool\PiPStream

git init
git add .
git commit -m "Initial commit - PiPStream with auto-update"
git branch -M main
git remote add origin https://github.com/YOUR_GITHUB_USERNAME/PiPStream.git
git push -u origin main

📦 Creating Your First Release

Option A: Using Build Script (Recommended)

Note: This script is pre-configured but currently uses the old Squirrel.Windows. You'll need to manually create releases until we update the script for Clowd.Squirrel.

Option B: Manual Release (Current Method)

  1. Build and Publish:

    dotnet publish --configuration Release --runtime win-x64 --self-contained true
  2. Install Clowd.Squirrel CLI globally:

    dotnet tool install -g Clowd.Squirrel
  3. Create Release Package:

    sqpack pack --packId PiPStream --packVersion 2.0.3 --packDirectory "bin\Release\net8.0-windows\win-x64\publish" --releaseDir "Releases" --icon "Assets\Icon\PiPStream_Icon.ico"
  4. Upload to GitHub:

    • Go to your GitHub repo → Releases → "Create a new release"
    • Tag version: v2.0.3
    • Upload ALL files from Releases\ folder
    • Publish release

📤 Sharing with Friends

Send them:

Download PiPStream Setup:
https://github.com/YOUR_GITHUB_USERNAME/PiPStream/releases/latest

1. Download "PiPStream-Setup.exe"
2. Run the installer
3. Launch from Start Menu
4. Automatically updates when I release new versions!

🔄 Releasing Updates

When you add new features:

  1. Update version in PiPCrunchy.csproj:

    <AssemblyVersion>2.0.4.0</AssemblyVersion>
    <FileVersion>2.0.4.0</FileVersion>
  2. Build & Pack:

    dotnet publish --configuration Release --runtime win-x64 --self-contained true
    sqpack pack --packId PiPStream --packVersion 2.0.4 --packDirectory "bin\Release\net8.0-windows\win-x64\publish" --releaseDir "Releases" --icon "Assets\Icon\PiPStream_Icon.ico"
  3. Create GitHub Release:

    • Tag: v2.0.4
    • Upload files from Releases\
    • Publish
  4. Done! Friends' apps auto-detect and offer to update.


🧪 Testing Auto-Update

Test Update Check

  1. Run your app
  2. Click "Help" → "Check for Updates..."
  3. Should say "Up to Date" if you're on latest release

Test Full Update Flow

  1. Install v2.0.3 on a test PC
  2. Create v2.0.4 release on GitHub
  3. Open v2.0.3
  4. Should detect v2.0.4 and offer to update
  5. Click "Yes" → Downloads and restarts to v2.0.4

📋 Current Features

Auto-update on startup (silent background check) ✅ Manual update check (Help menu) ✅ About dialog (shows current version) ✅ Delta updates (only downloads changes) ✅ Desktop & Start Menu shortcutsOne-click installer for friends


🎯 Next Steps

Now that auto-update is working, you can:

  1. Share with friends - They get easy installation
  2. Add new features - From the 20+ improvements list
  3. Release updates - Friends auto-update instantly
  4. Iterate quickly - No more manual distribution!

🆘 Troubleshooting

Build fails: Run dotnet restore

Squirrel pack not found: Install CLI with dotnet tool install -g Clowd.Squirrel

Update not detected: Verify GitHub URL in UpdateService.cs matches your repo

Installer blocked: Windows SmartScreen - click "More info" → "Run anyway"


📖 Full Documentation

See DEPLOYMENT_GUIDE.md for comprehensive instructions including:

  • Versioning strategy
  • Beta testing workflow
  • Code signing (optional)
  • Troubleshooting

You're ready to deploy! 🎉

Your workflow is now:

  1. Code feature
  2. Bump version
  3. Build & pack
  4. Upload to GitHub
  5. Friends get update automatically

Time to release: ~5 minutes