microsoft / microsoft/winget-cli

Add a "CertificateUrl" optional manifest value for MSIX/AppX apps, for when app devs store the certs separately from the apps.

Open
#6,064 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Relevant area(s)

WinGet CLI

Description of the new feature / enhancement

Though it's relatively common that .appx/.msix files released by various devs lack signatures or have signature errors (which make them uninstallable through Winget, and possibly at all), I've come across a handful of cases where the devs do have signatures, but inexplicably forgot to include them in the app files for reasons that are unknown to me.

Adding a "CertificateUrl" optional value to the "Installer" YAML would presumably make it possible to install those apps in Winget.

Instances of affected apps:

Proposed technical implementation details

In the Installer template YAML for Manifest 1.12 or 1.13, add a CertificateUrl: or CertUrl:, optional value.

Logically, validations would need to check for if it's indeed a valid .cer and/or .sig filetype file, and that the value only applies for .msix/.msixbundle/.appx/.appxbundle installer types.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Installer template YAML for Manifest 1.12 or 1.13, then trace validation and installation handling for .msix, .msixbundle, .appx, and .appxbundle installers. Determine how an optional CertificateUrl value should be validated and consumed, including whether .cer and .sig files are supported; the work is done when manifests can use the external certificate safely and other installer types reject it.

Written by the indexing model from the issue text.

Assessment

Tech stack
yaml
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.