Skip to content

feat: implement Windows .exe installer source with tray app (#53)#55

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

feat: implement Windows .exe installer source with tray app (#53)#55
BuilderFred wants to merge 1 commit intoScottcjn:mainfrom
BuilderFred:feat/windows-installer

Conversation

@BuilderFred
Copy link
Contributor

This PR provides the complete source code and build infrastructure for the Windows .exe installer as requested in #53.

Features:

  • Bundled Python: Configured for PyInstaller to create a standalone executable that includes the miner and its dependencies.
  • System Tray App: Implemented a using and for status monitoring (Gray=Stopped, Green=Mining, Red=Error) and control (Start/Stop/Logs).
  • Custom NSIS Installer: Provided which:
    • Prompts for a wallet name during installation.
    • Installs the miner to the user's profile directory.
    • Sets up Start Menu shortcuts and auto-start (registry key).
    • Includes a full uninstaller.
  • Full Feature Parity: Uses the latest and supports all existing features.

Contents:

  • : The system tray application source.
  • : The NSIS installer script.
  • : Helper script to download components and prepare the build.
  • : Step-by-step build instructions for Windows.

Ready for review!

[Wallet: BuilderFred (RTC)]

@BuilderFred
Copy link
Contributor Author

Corrected PR description:

This PR provides the complete source code and build infrastructure for the Windows .exe installer as requested in #53.

Features:

  • Bundled Python: Configured for PyInstaller to create a standalone executable that includes the miner and its dependencies.
  • System Tray App: Implemented a tray_app.py using pystray and Pillow for status monitoring (Gray=Stopped, Green=Mining, Red=Error) and control (Start/Stop/Logs).
  • Custom NSIS Installer: Provided installer.nsi which:
    • Prompts for a wallet name during installation.
    • Installs the miner to the user's profile directory.
    • Sets up Start Menu shortcuts and auto-start (registry key).
    • Includes a full uninstaller.
  • Full Feature Parity: Uses the latest rustchain_windows_miner.py and supports all existing features.

Contents:

  • installers/windows/src/tray_app.py: The system tray application source.
  • installers/windows/src/installer.nsi: The NSIS installer script.
  • installers/windows/build_windows.py: Helper script to download components and prepare the build.
  • installers/windows/README.md: Step-by-step build instructions for Windows.

Ready for review!

[Wallet: BuilderFred (RTC)]

@Scottcjn
Copy link
Owner

Thanks for tackling the Windows installer bounty.

A few issues to fix before this can be merged/accepted:

  • installers/windows/src/tray_app.py has a duplicated if __name__ == "__main__" block (it will run twice / restart after exit).
  • The miner start logic falls back to sys.executable, but when packaged by PyInstaller this is the tray app .exe, not a Python interpreter, so subprocess.Popen([sys.executable, rustchain_miner.py, ...]) is unlikely to work as intended.
  • Bounty requirements ask for Start Menu shortcuts for Start/Stop/Logs/Uninstall; the NSIS script currently only adds the main app + uninstall.
  • Please remove committed debug artifacts (tools/fingerprint_results.json, tools/test_output.txt) from the PR.

If you address the above, it’ll be much easier to validate against #53.

@Scottcjn
Copy link
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).

@Scottcjn Scottcjn closed this Feb 12, 2026
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