Skip to content

feat: Distribute via Windows Package Manager (winget) #4

Description

@celloza

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: devopsCI/CD, build, release, and distributionenhancementNew feature or request

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions