Skip to content

Improve Windows installer reliability and user experience#12

Merged
hubble-robward merged 3 commits into
mainfrom
main
Dec 18, 2025
Merged

Improve Windows installer reliability and user experience#12
hubble-robward merged 3 commits into
mainfrom
main

Conversation

@hubble-robward
Copy link
Copy Markdown
Contributor

Summary

This PR significantly improves the Windows installation experience by replacing problematic dependencies and adding robust error handling.

Major Improvements

  • ✅ Replace problematic nrfjprog with Nordic nrfutil (eliminates vcredist140 issues)
  • ✅ Add reboot detection and graceful handling (exit code 3010)
  • ✅ Implement smart uv path detection with multiple fallback methods
  • ✅ Add comprehensive network error handling with troubleshooting guidance
  • ✅ Add automated SEGGER J-Link installation with silent mode

Windows-Specific Changes

  • Added CheckPendingReboot() to detect pending system reboots
  • Added RebootRequiredError for proper error handling
  • Implemented findUVPath() with 4 different search methods
  • Added downloadFile() utility for downloading installers
  • Switched from nrfjprog to nrfutil (avoids vcredist140 corruption)
  • Improved error messages with actionable troubleshooting steps

Cross-Platform Changes

  • Added CheckPendingReboot() stub methods to Darwin/Linux (interface compliance)
  • Updated Installer interface to include CheckPendingReboot()
  • Added reboot check on installer startup
  • Improved dependency installation error handling

Build System Improvements

  • Added build-windows, build-linux, build-darwin, build-darwin-arm targets
  • Added build-all target for multi-platform builds
  • Added release-windows target for optimized builds
  • Updated help documentation

Bug Fixes

  • Fixed exit code 3010 being treated as failure (it means "reboot required")
  • Fixed PATH not updating after Chocolatey installations
  • Fixed PowerShell corruption issues from vcredist140
  • Fixed network error handling for GitHub downloads

Testing

  • ✅ Tested on Windows with vcredist140 scenarios
  • ✅ Verified reboot detection and graceful exit
  • ✅ Confirmed uv path detection with multiple fallback methods
  • ✅ Validated network error handling and messages
  • ✅ Tested nrfutil installation flow

Fixes HUB-2882

This PR significantly improves the Windows installation experience by:

**Major Improvements:**
- Replace problematic nrfjprog with Nordic nrfutil (no vcredist140 issues)
- Add reboot detection and graceful handling (exit code 3010)
- Implement smart uv path detection with multiple fallback methods
- Add comprehensive network error handling with helpful troubleshooting
- Add automated SEGGER J-Link installation with silent mode

**Windows-Specific Changes:**
- Added CheckPendingReboot() to detect pending system reboots
- Added RebootRequiredError for proper error handling
- Implemented findUVPath() with 4 different search methods
- Added downloadFile() utility for downloading installers
- Switched from nrfjprog to nrfutil (avoids vcredist140 corruption)
- Improved error messages with actionable troubleshooting steps

**Cross-Platform Changes:**
- Added CheckPendingReboot() stub methods to Darwin/Linux (interface compliance)
- Updated Installer interface to include CheckPendingReboot()
- Added reboot check on installer startup
- Improved dependency installation error handling

**Build System:**
- Added build-windows, build-linux, build-darwin, build-darwin-arm targets
- Added build-all target for multi-platform builds
- Added release-windows target for optimized builds
- Updated help documentation

**Bug Fixes:**
- Fixed exit code 3010 being treated as failure (it means "reboot required")
- Fixed PATH not updating after Chocolatey installations
- Fixed PowerShell corruption issues from vcredist140
- Fixed network error handling for GitHub downloads

**Documentation:**
- Updated README with automated installation details
- Added clear guidance for Windows users
- Improved installation instructions

Fixes HUB-2882
Pass deviceName into PrintUniflashCompletionBanner and fix a ui.PrintInfo typo so the repo builds cleanly.
@hubble-robward hubble-robward merged commit b27f48a into HubbleNetwork:main Dec 18, 2025
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