Winget-cli: third-party repository support

Created on 20 May 2020  路  6Comments  路  Source: microsoft/winget-cli

Description of the new feature/enhancement

the current package managers for windows such as Scoop allows you to create your own repository, it would be awesome if you can add your own repo to allow users to customize the repo to their needs.

Proposed technical implementation details (optional)

Issue-Feature

Most helpful comment

This is already possible as per https://github.com/microsoft/winget-cli#sources:

The client is built around the concept of sources; a set of packages effectively. Sources provide the ability to discover and retreive the metadata about the packages, so that the client can act on it.

The default source reflects that data available from the Community repo.

We plan to better support additional sources, and additional types of sources, in the future. For now, additional sources can be configured, but only one used at a time.

PS > winget source list
PS > winget source add --help

You can also simply throw some manifests on a fileshare and install them via:

PS > winget install --manifest \\fileserver\share\packagerepo\manifests\mycompany\myapp\1.0.0.yaml

See https://aka.ms/winget-command-source for details.

All 6 comments

This is already possible as per https://github.com/microsoft/winget-cli#sources:

The client is built around the concept of sources; a set of packages effectively. Sources provide the ability to discover and retreive the metadata about the packages, so that the client can act on it.

The default source reflects that data available from the Community repo.

We plan to better support additional sources, and additional types of sources, in the future. For now, additional sources can be configured, but only one used at a time.

PS > winget source list
PS > winget source add --help

You can also simply throw some manifests on a fileshare and install them via:

PS > winget install --manifest \\fileserver\share\packagerepo\manifests\mycompany\myapp\1.0.0.yaml

See https://aka.ms/winget-command-source for details.

Related issues:

  • #160
  • #203
  • #213
  • #226

@megamorf but how do you make your own "source" server ?

@AntoineTurmel As of right now the only available source type is Microsoft.PreIndexed.Package which is defined as:
https://github.com/microsoft/winget-cli/blob/e997f3e394e66f2389f4f33f36c58b1c2768e975/src/AppInstallerRepositoryCore/Microsoft/PreIndexedPackageSourceFactory.h#L11-L18

Repo updates are done via Azure DevOps pipelines which don't seem to be included in the repos so no luck there. The only workaround for now is to have manifests and setups on a share and reference those paths in the manifest files. Then, as mentioned before, provide the --manifest during the winget install call.

118 May be the most simple way to achieve third-party repository support.

This is already possible as per https://github.com/microsoft/winget-cli#sources:

The client is built around the concept of sources; a set of packages effectively. Sources provide the ability to discover and retreive the metadata about the packages, so that the client can act on it.
The default source reflects that data available from the Community repo.
We plan to better support additional sources, and additional types of sources, in the future. For now, additional sources can be configured, but only one used at a time.

PS > winget source list
PS > winget source add --help

You can also simply throw some manifests on a fileshare and install them via:

PS > winget install --manifest \\fileserver\share\packagerepo\manifests\mycompany\myapp\1.0.0.yaml

See https://aka.ms/winget-command-source for details.

This is already possible as per https://github.com/microsoft/winget-cli#sources:

The client is built around the concept of sources; a set of packages effectively. Sources provide the ability to discover and retreive the metadata about the packages, so that the client can act on it.
The default source reflects that data available from the Community repo.
We plan to better support additional sources, and additional types of sources, in the future. For now, additional sources can be configured, but only one used at a time.

PS > winget source list
PS > winget source add --help

You can also simply throw some manifests on a fileshare and install them via:

PS > winget install --manifest \\fileserver\share\packagerepo\manifests\mycompany\myapp\1.0.0.yaml

See https://aka.ms/winget-command-source for details.

Excellent contribution. Thank you for going out of your way to make this information available to those searching for some sort of solution.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

revanmj picture revanmj  路  12Comments

denelon picture denelon  路  41Comments

denelon picture denelon  路  13Comments

StefanScherer picture StefanScherer  路  14Comments

mikemaccana picture mikemaccana  路  38Comments