Coder Social home page Coder Social logo

winget-pkgs's Introduction

Windows Package Manager Community Repository

Gitter Validation Pipeline Badge Publish Pipeline Badge GitHub Status

This repository contains the manifest files for the Windows Package Manager default source. You are highly encouraged to submit manifests for your favorite application.

Important

At this time installers must be MSIX, MSI, APPX, or .exe application installers. Script-based installers and fonts are not currently supported.

The Windows Package Manager is an open source client designed for command-line usage. If you are interested in exploring private repositories offering private WinGet package hosting, see private repositories.

Documentation

Please check the overview for detailed topics. Common topics for the WinGet Community repository are available below:

Repology

Repology, the packaging hub monitors package repositories comparing package versions and other information.

Repository status

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Follow the instructions provided by the bot. You will only need to do this once across all Microsoft repositories using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. See the Code of Conduct FAQ or contact [email protected] with any additional questions or comments. More information is available in our Contributing document.

To avoid doubt, you may not make any Submissions linking to third-party materials if such Submission is prohibited by the applicable third party and/or otherwise violates such third party's rights.

winget-pkgs's People

Contributors

biosplus avatar brandonwanhuansheng avatar chrisbra avatar coolplaylin avatar coolplaylinbot avatar dotnet-winget-bot avatar exorcism0666 avatar ilike2burnthing avatar imjoakim avatar itzlevvie avatar jandedobbeleer avatar jedieaston avatar karankad avatar kevinlams avatar krystofkrticka avatar lszomoru avatar lutzroeder avatar mdanish-kh avatar mehtanisarg369 avatar nvim-winget avatar officialesco avatar oxygen-dioxide avatar pckgrbot avatar quhxl avatar russellbanks avatar spectershell avatar superusercode avatar trenly avatar vedantmgoyal9 avatar wingetbot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

winget-pkgs's Issues

CI broken, so no new packages are showing up in the install list

Started with the PR that added MS edge b347b10, but any new commit after that also has the same exact error.

One or more errors occurred. (MakeAppx.EXE is expected (Parameter 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.14393.0\x64\MakeAppx.EXE')) MakeAppx.EXE is expected (Parameter 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.14393.0\x64\MakeAppx.EXE')

Failed to install Julia: Access Denied

When I use winget to install Julia I get the following error:

PS C:\Users\Azure> winget install julia
Found Julia [Julialang.Julia]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://julialang-s3.julialang.org/bin/winnt/x64/1.4/julia-1.4.1-win64.exe
  ██████████████████████████████  64.9 MB / 64.9 MB
Successfully verified installer hash
Installing ...

[Error]
[Access Denied.]
[Ok]

Installer failed with exit code: 1

AccessDenied

The installer command line is "C:\Users\Azure\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\TempState\WinGet\Julialang.Julia.1.4.1.exe" /SILENT /LOG="C:\Users\Azure\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\TempState\WinGet\Julialang.Julia.1.4.1.log"

But I can't find any logs under that directory. Process Monitor indicates that a CreateFile call which attempts to open the log file failed with ACCESS DENIED error. I tried to run the installer under ~\Download manually with that command line and it succeeded (with a log created at that destination).

PS C:\Users\Azure> winget show julia
Found Julia [Julialang.Julia]
Version: 1.4.1
Publisher: Julialang
AppMoniker: julia
Description: Julia is a high-level, high-performance, dynamic programming language
Homepage: https://julialang.org/
License: MIT
License Url: https://github.com/JuliaLang/julia/blob/master/LICENSE.md
Installer:
  SHA256: 953090cf2a3690791df7550175a8969e8de15cbd84d815975b6495cc884deab6
  Download Url: https://julialang-s3.julialang.org/bin/winnt/x64/1.4/julia-1.4.1-win64.exe
  Type: Inno
PS C:\Users\Azure> winget -v
v0.1.41331 预览
PS C:\Users\Azure> systeminfo /fo csv | ConvertFrom-Csv | select OS*, 系统* | Format-List

OS 名称   : Microsoft Windows 10 专业版
OS 版本   : 10.0.18363 暂缺 Build 18363
OS 制造商  : Microsoft Corporation
OS 配置   : 独立工作站
OS 构建类型 : Multiprocessor Free
系统启动时间  : 2020/5/21, 1:30:26
系统制造商   : LENOVO
系统型号    : 20C5A08JCD
系统类型    : x64-based PC
系统目录    : C:\WINDOWS\system32
系统区域设置  : zh-cn;中文(**)

@davidanthoff

Discord package has wrong license

Description of the new feature/enhancement

Currently, the Discord package's license field is set to https://discord.com/licenses. This is Discord's OSS acknowledgements page.

It should probably be set to something like Copyright ©2020 Discord Inc. All rights reserved. or similar. Would this be a correct thing to set the field to? I'm not sure.

Proposed technical implementation details (optional)

Support more than one manifest per PR

Description of the new feature/enhancement

Today in order to submit a PR for a manifest, I can only do 1 at a time. This is inefficient. I would like to be able to have the ability to submit multiple Manifests in one PR.

For example if I am adding a new application, I may have one or more older builds I want to submit. See Windows SDK for example:
17134, 17763, 19041, 18362

Or maybe I have multiple projects that release at one time like a suite, and each app would have its own manifest. I should be able to submit them all.

Proposed technical implementation details (optional)

I expect a submission to process each manifest individually. This should be treated like a normal PR. If the full submission does not pass, it is OK to fail the submission. Similar to code. However the BOT should communicate which manifest failed an why.

If the submission passes, then all manifests should be ingested.

The initial limit will be 8 manifests per PR. We're going to increment in binary progression.

Spotify installer fail with error: "Installer failed with exit code: 3221226505"

Brief description of your issue

When running 'winget install spotify', winget is unable to verify the hash, even if I let winget to continue and try to install it, I'll get the following error: 'Installer failed with exit code: 3221226505'

Steps to reproduce

Open Windows Terminal, then run 'winget install spotify', the app will download, fail to verify hash and the installation will fail

Expected behavior

winget would be able to verify the hash of the app for Spotify and then properly install it with or without verifying it

Actual behavior

image

Environment

[winget --info]
Windows Package Manager v0.1.41331 Preview
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19041.264
Package: Microsoft.DesktopAppInstaller v1.0.41331.0

Any other software?
Not applicable

how to use winget with installer less packages like scoop/choco

Description of the new feature/enhancement

document how/if installer less packages works with winget.
i.e. for https://github.com/maxandersen/jbang I already support https://github.com/maxandersen/jbang/blob/master/src/main/scripts/choco/jbang.nuspec[choco] and scoop as they
allow you to specify zip file to downlod and put it in a standard location and have it exposed in the path by default.

winget seem to not have this notion, making it still necessary to use choco/scoop - any plans on improving/enabling this ?

Comparison to conda

Hi, I wonder how this compares to the package manager conda:

  • Does it allow installing multiple versions of the same package?
    => conda: indirect, using different environments
  • How does it resolve dependencies? Are there heuristics to solve the exponential complexity problem of dependency graphs?
    => conda: yes
  • Will it be cross-platform?
    => conda: yes

Feel free to close this issue if it is not appropriate.

Support more than one manifest per PR

Description of the new feature/enhancement

Today in order to submit a PR for a manifest, I can only do 1 at a time. This is inefficient. I would like to be able to have the ability to submit multiple Manifests in one PR.

For example if I am adding a new application, I may have one or more older builds I want to submit. See Windows SDK for example:
17134, 17763, 19041, 18362

Or maybe I have multiple projects that release at one time like a suite, and each app would have its own manifest. I should be able to submit them all.

Proposed technical implementation details (optional)

I expect a submission to process each manifest individually. This should be treated like a normal PR. If the full submission does not pass, it is OK to fail the submission. Similar to code. However the BOT should communicate which manifest failed an why.

If the submission passes, then all manifests should be ingested.

Improved YAML support inside of VSCode

Description of the new feature/enhancement

Hi! This isn't really a feature request I just more or less wanted to people know that a JSON schema has been provided to the json schema store for the manifest YAML files: SchemaStore/schemastore#1049.

What this means is that when that PR is merged if you open up this repository inside of VSCode you will get intellisense (Hover, Completion, Validation) for all of the manifest yaml files as long as you have https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml installed.

Proposed technical implementation details (optional)

Validation bot requires Content-Length and range GET requests for the installer download

#503 is currently blocked by the validation bot because it fails with the following error:

Error occurred during installer copy from https://download.sqlitebrowser.org/DB.Browser.for.SQLite-3.11.2-win64.msi.
 Range GET requests are not supported by the copy source.

It seems the webpage does not support range GET requests for the download but the bot requires it. I think the bots need to drop this requirement since not every webserver supports this.

A similar issue currently blocks #47:

Error occurred during installer copy from https://www.irfanview.info/files/iview454_x64.zip.
 The Content-Length for the copy source is not specified.

In that case, the web server does not specify the file size in the Content-Length header. Again, not every webserver supports this so the bot should be made compatible to those sites.

Need better documentation regarding supporting architectures

Checking out manifest in this repo I couldn't find manifests supporting other architectures that are not x64. An example is Visual Studio Code which is used in 32bit built-in emulation by many Surface Pro X owners. It's manifest lists only the x64 version, so I'm assuming trying to install it on a Surface Pro X would fail.

It would be great if there was more info about how to support x86 and arm64 manifests and that at least the Microsoft own manifests would list those options when applicable as well.

Pipeline health Badge

I'd love a badge that will let me know when there are problems with the build pipelines. That way I'd know that PRs might not be merged, or added to the repository until the issue is resolved.

Proposed technical implementation details (optional)

Question about threat model

I see that a bot will be automatically reviewing the manifests. Is there anything built-in to do virus scanning?

Config files to support silent installation

Some installers require a configuration file to specify parameters necessary for silent installation.

The manifest could be extended to support the data needed in a config file and could be created at install time on the local machine, or a file could be provided in addition to the manifest with some kind of pointer.

microsoft/winget-cli#158

Tool generated binary manifest cause validation failure

After committing the manifest file as binary (blame Sourcetree!), the validation pipeline validation fails with the following error:

Manifest is invalid. (Line: 3, Col: 1, Idx: 38) - (Line: 3, Col: 1, Idx: 38): While scanning a simple key, could not find expected ':'.

I fixed this by re-commiting the file as non-binary, and the manifest is validated successfully.

This may not be an issue, but I have noticed a lot of PRs are having this validation error and this information could help :)

Invocation from WSL2 does not work

My understanding is that WSL2 should be able to invoke .exe files (e.g., I do that with cmd.exe occasionally). But if I try to run winget I get the following error:

% /mnt/c/Users/mdale/AppData/Local/Microsoft/WindowsApps/winget.exe       
Failed to execute process '/mnt/c/Users/mdale/AppData/Local/Microsoft/WindowsApps/winget.exe'. Reason:
exec: Exec format error
The file '/mnt/c/Users/mdale/AppData/Local/Microsoft/WindowsApps/winget.exe' is marked as an executable but could not be run by the operating system.

I'm using WSL2/Ubuntu on the Win 10 insider ring.

Problem with GIMP package

Looks like there are two GIMP packages that differ only in case (gimp.gimp and Gimp.Gimp), and this seems to be preventing winget from doing anything with them:

C:\Users\->winget show gimp
Multiple apps found matching input criteria. Please refine the input.
Name Id        Version Matched
------------------------------------
GIMP Gimp.Gimp 2.10.0  Moniker: gimp
GIMP gimp.gimp 2.10.18 Moniker: gimp

C:\Users\->winget show --id gimp.gimp -v 2.10.18
Multiple apps found matching input criteria. Please refine the input.
Name Id        Version
----------------------
GIMP gimp.gimp 2.10.18
GIMP Gimp.Gimp 2.10.0

C:\Users\->winget show --id gimp.gimp -v 2.10.18
Multiple apps found matching input criteria. Please refine the input.
Name Id        Version
----------------------
GIMP gimp.gimp 2.10.18
GIMP Gimp.Gimp 2.10.0

Auto generate manifests for newer versions

Disclaimer

I tried to find an issue like this in both repositories, but I didn't.

Description of the new feature/enhancement

To support some kind of CI that, based on previously set logic, can auto-generate manifests for newer versions of the packages.

Proposed technical implementation details

A very good example is the Chocolatey Automatic Package Updater Module: https://github.com/majkinetor/au

Based on custom rules, such as scripts for finding newer versions, URLs for downloading them, a CI can run continuously based on a scheduled trigger, and if it finds a newer version, it try to build a new manifest automatically, test it, and submit a PR (or push directly).

So then, we don't need to manually create manifests for every new version of an existing package.

Support HTTP redirects better

We have encountered a few different kinds of issues with the various HTTP redirects used to identify installers. We need better error messages for these validation scenarios, and a set of capabilities to correctly handle them when validating manifests and checking installers.

Question: how to handle installers without direct links?

As I'm playing with this tool, I notice a great deal of Win32 apps have installers which are not available for direct link. This prevents them from being used with winget.

For example, IrfanView, a popular image viewer and editor. Its installer is listed on the 3rd party site fosshub.com. Here is the link: https://www.fosshub.com/IrfanView.html?dwl=iview454_x64_setup.exe

The URL is misleading, however: this isn't the actual installer link, it's a page (with ads) that programmatically triggers downloading the installer. This way, there is no direct link to the installer, and thus, fosshub gets ad views to subsidize their bandwidth.

Looking at Irfanview's download page, all the installers are on 3rd party sites, and all of them prevent hotlinking like this.

How can I submit a manifest when the installer doesn't have a direct URL? Obviously, I could host the installer myself, but my servers couldn't handle e.g. a million downloads. Will Microsoft fetch these installers and mirror them on its own CDN? IMO, this is the best option.

Support FTP for installers download

It seems that FTP is not supported to download installers. For example with Adobe Reader DC there is no direct installer accessible through HTTP because they only provide an online installer which download itself the latest version.

Here is the log I get when trying to install:

>winget install -m 2020.009.20063.yaml
Found Acrobat Reader DC [Adobe.AcrobatReaderDC]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/2000920063/AcroRdrDC2000920063_en_US.exe
An unexpected error occurred while executing the command:
Query download request status failed.
0x80072ef2 : unknown error

Support for PWAs

As suggested in #42, I'd like to be able to add a manifest for a progressive web application.

Chrome manifest link does not reference a specific version

The link in Google Chrome's manifest points to whatever happens to be the latest version (83.0.4103.61 at the time of writing) rather than the version listed in the manifest (78.0.3904.87). Therefore the hash will fail to verify.

Bug Report: trying to install Wireshark 0x80190194 : Not found (404)

I tried to install Wireshark and it found the package but eventually there is an error.

Name                           Value
----                           -----
PSVersion                      5.1.19041.1
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.1
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

image

Hash errors should displayed in the PR

If there is a hash error between the manifest and the validation pipeline, the error should be bubbled up to the PR so the submitter can more easily resolve the problem.

YamlCreate.ps1: Trim white-space after reading user inputs

Description of the new feature/enhancement

We should remove all leading and trailing white-space after reading the user inputs.

Otherwise there may be leading / trailing white-space in 1) manifest content or 2) the file name of the manifest.

Proposed technical implementation details (optional)

In YamlCreate.ps1, append | foreach-object trim to every read-host cmdlet lines.

WinGetSvc-Validation complains that EXE type does not support non-existent switches

Repro steps:

  1. Write a manifest for an EXE installer type, with Custom and InstallLocation switches. (Example: #256)
  2. Submit a PR for it.

Expected result:
Either it all works, or the validation error I get makes sense.

Actual result:

##[warning] Manifest Warning: Silent and SilentWithProgress switches are not specified for InstallerType exe. Please make sure the installer can run unattended.

My manifest does not have "Silent" or "SilentWithProgress" switches, so I don't understand what the warning is about.

The switches that it does have (Custom and InstallLocation) seem to work fine, so...

Question: who can submit app manifests?

Hey folks,

I see some manifests rolling in for e.g. Kindle, Notepad++, among others. 😎

My question is, who can submit such manifests? If I find an existing app and have all the info, can I submit it? Or must we own the app to submit it?

Second question: I do have some apps, PWA, UWP. Can I submit my own apps?

using latest version instead of version number

hi, Some programs provide a download link for each version number
To create a manifest, we need to specify the version number

Id: Daum.PotPlayer
Version: 1.7.21212.0
Name: PotPlayer
...

But some programs have a fixed link and the latest version is always available through it
Therefore, I suggest that Make it possible for us to replace the version number With the latest word
Something like this:

Id: Daum.PotPlayer
Version: Latest
Name: PotPlayer
...

winget-pkgs\manifests\Daum\PotPlayer\Latest.yaml

[Request] Add a "privacy_policy" to all manifests

I'm sure I am not alone in thinking each package should have a link to the packages privacy policy. In a world where the GDPR exists, all applications that are included in this package manager should have some form of quality control.

It would be nice if there was a set standard enforced here, such as ensuring there is a contact for a companies DPO, and how they handle the various GDPR articles and user rights. Any package with an inadequate privacy policy would be nominated for removal.

CI timeout but still running

#279 has running over 24h and the CI timeout

5/20/2020 5:00:58 PM
Status: Completed
##[error] Result: Failed
##vso[task.logissue type=error] Operation timed out.

But it's still running.

The pr is opened by me, but I don't know why it takes so long time to Installer scan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.