Skip to content

feat: Add Windows Installer for RustChain Miner#100

Closed
dlin38 wants to merge 1 commit intoScottcjn:mainfrom
dlin38:feat/windows-installer
Closed

feat: Add Windows Installer for RustChain Miner#100
dlin38 wants to merge 1 commit intoScottcjn:mainfrom
dlin38:feat/windows-installer

Conversation

@dlin38
Copy link
Copy Markdown

@dlin38 dlin38 commented Feb 11, 2026

Windows Installer Package

Complete production-ready Windows installer for RustChain Proof-of-Antiquity miner.

Features

Single .exe installer (~20-25MB with bundled Python)
No prerequisites - Bundles Python 3.11.9 embeddable
User-friendly wizard - Custom wallet configuration page
Auto-start capability - Scheduled task for boot startup
Start Menu shortcuts - Start/Stop/View Logs/Uninstall
No admin required - User-space installation
Automated build - One-command build system
Comprehensive docs - User guide + developer guide
Test suite - Automated installer validation

Build

cd installers/windows
powershell -ExecutionPolicy Bypass -File build.ps1

Outputs rustchain-miner-setup.exe in output/ directory.

Test

powershell -ExecutionPolicy Bypass -File test-installer.ps1

Runs 12 automated validation tests.

Documentation

  • README-Windows.md - User guide (installation, usage, troubleshooting)
  • BUILD.md - Build instructions + customization
  • BOUNTY-SUBMISSION.md - Complete submission overview

Requirements Met

✓ Bundle Python or detect existing
✓ Download miner scripts from repo
✓ Create virtual environment + install requests
✓ Prompt for wallet name
✓ Install as Windows Service/scheduled task
✓ Start Menu shortcuts (all 4)
✓ Single .exe under 50MB
✓ Windows 10/11 support
✓ Handle self-signed SSL
✓ No admin privileges required

Bounty: #53 (100 RTC)
Wallet: dlin38

Complete Windows installer package using Inno Setup.

Features:
- Single .exe installer (~20-25MB with bundled Python)
- User-friendly wizard with wallet configuration
- Bundles Python 3.11.9 embeddable (no prerequisites)
- Auto-installs requests dependency via pip
- Scheduled task for auto-start at boot
- Start Menu shortcuts (Start/Stop/View Logs/Uninstall)
- Desktop icon (optional)
- User-space installation (no admin required)
- Handles self-signed SSL certificates
- Clean uninstallation

Components:
- rustchain-installer.iss - Main Inno Setup script with Pascal wizard
- build.ps1 - Automated build script (downloads Python, compiles installer)
- test-installer.ps1 - Automated test suite (12 validation tests)
- scripts/start-miner.bat - Miner launcher with logging
- scripts/stop-miner.bat - Graceful miner shutdown
- scripts/view-logs.bat - Log file viewer
- scripts/miner-service.ps1 - Scheduled task installer/manager
- README-Windows.md - Complete user documentation
- BUILD.md - Detailed build instructions
- BOUNTY-SUBMISSION.md - Comprehensive submission overview

Build system:
- Automated download of Python embeddable package
- Automated download of get-pip.py
- Auto-generates placeholder icon if missing
- One-command build: powershell -File build.ps1
- Output: rustchain-miner-setup.exe in output/ directory

Testing:
- Automated test suite validates all requirements
- Tests installation, Python bundling, shortcuts, miner startup
- Verifies network connectivity to RustChain node
- Confirms scheduled task creation

Requirements met:
✓ Bundle Python (3.11.9 embeddable)
✓ Install miner scripts from repo
✓ Create virtual environment (isolated packages)
✓ Install requests dependency
✓ Prompt for wallet name (custom wizard page)
✓ Install as scheduled task (auto-start)
✓ Start Menu shortcuts (all 4)
✓ Single .exe under 50MB
✓ Windows 10/11 support
✓ Self-signed SSL handling
✓ No admin privileges required

Documentation:
- User guide with installation, usage, troubleshooting
- Developer guide with build steps, customization
- Complete submission documentation with testing results

Bounty: Scottcjn#53 - Windows Installer (.exe) for RustChain Miner (100 RTC)
Wallet: dlin38
@Scottcjn
Copy link
Copy Markdown
Owner

Closing for now: duplicate Windows installer lane with stale bounty reference; not selected in current triage.

Please keep participating. To be payout-eligible on resubmission:

  1. Map directly to an active bounty issue and claim in that thread
  2. Submit focused, non-duplicate changes
  3. Include working proof (logs/screenshots/test notes)
  4. Keep PR merge-ready (clean diff, no encoding regressions, no placeholder code)

Good active options right now: #99 (challenge), #100 (discovery), #102 (capability), #103 (social), #124 (profile micro-bounty).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants