Overview
Enable users to install Porthole directly through Windows Package Manager (winget), making installation easier and keeping the app automatically updated through the winget update ecosystem.
Planned Features
winget Package Manifest
- Create manifests for installer version and localization
- Follow Microsoft's manifest schema for applications
- Include automatic updates configuration
Installation Methods
winget install celloza.Porthole (once approved in the official repo)
- Self-hosted winget feed for interim distribution
- Signed installer (.exe or .msix) for package verification
Update Flow
- Configure winget to check for new releases on a regular schedule
- Seamless in-app update mechanism or winget-managed updates
- Version pinning for users who prefer stable releases
Implementation Details
Distribution:
- Package creation via winget-cli
- Submission to Microsoft Community Repository
- GitHub Releases integration for download URLs
- Code signing certificate for installer authenticity
Build & CI/CD:
- GitHub Actions workflow to create winget manifests on release
- Automatic manifest updates when new versions are released
- Test installations in CI pipeline
User Experience:
- One-line install from PowerShell:
winget install celloza.Porthole
- Automatic updates via
winget upgrade
- Optional silent installation for enterprise deployments
Constraints
- Must maintain code signing for production releases
- Installer must be self-contained (net8.0-windows10.0.19041.0)
- Winget manifests must be kept in sync with each release
- Consider uninstall and update scenarios for cleanup
Overview
Enable users to install Porthole directly through Windows Package Manager (winget), making installation easier and keeping the app automatically updated through the winget update ecosystem.
Planned Features
winget Package Manifest
Installation Methods
winget install celloza.Porthole(once approved in the official repo)Update Flow
Implementation Details
Distribution:
Build & CI/CD:
User Experience:
winget install celloza.Portholewinget upgradeConstraints