Users need to install Node.js and run npm commands, which can be intimidating for non-developers.
Benefits:
- ✅ No Node.js installation required
- ✅ Single executable file (.exe for Windows)
- ✅ Works offline after download
- ✅ Easy to implement with existing codebase
- ✅ Cross-platform support
Implementation:
# Install PKG
npm install -D pkg
# Build executables
npm run package:win # Windows .exe
npm run package:all # All platformsUser Experience:
- Download
ghec-sso.exefrom GitHub Releases - Run directly:
.\ghec-sso.exe --help - No installation needed
Benefits:
- ✅ Professional MSI/DMG/DEB installers
- ✅ Auto-updater support
- ✅ System integration (Start Menu, etc.)
- ✅ Code signing support
Implementation:
- Convert CLI to Electron app with hidden window
- Use Electron Forge for packaging
- More complex but most professional
Benefits:
- ✅ Consistent environment
- ✅ No dependency issues
- ❌ Requires Docker Desktop
User Experience:
# Download wrapper script
curl -O https://github.com/benleane83/ghec-sso-setup/releases/latest/download/ghec-sso.exe
# Runs Docker container internally
.\ghec-sso.exe setup --enterprise mycompanyBenefits:
- ✅ Automated build/release pipeline
- ✅ Multiple platform support
- ✅ Professional distribution
- Add PKG configuration (✅ Done)
- Set up GitHub Actions for automated builds
- Create releases with pre-built executables
- Update documentation
- MSI installer for Windows using WiX or Electron
- Code signing for trust
- Auto-updater functionality
- PKG executable: ~50-80MB (includes Node.js runtime)
- Can be reduced with webpack bundling
- Still smaller than many desktop apps
-
GitHub Releases (Primary)
- Pre-built executables for download
- Checksums for verification
-
Chocolatey (Windows)
choco install ghec-sso-cli
-
Homebrew (macOS)
brew install ghec-sso-cli
-
Winget (Windows)
winget install ghec-sso-cli
- Code signing for Windows executables
- Checksums for download verification
- GitHub's security scanning for releases