Winget 的存储库

image

1- 步骤 1:准备环境

1- 1.1 安装 Git

首先,你需要安装 Git,这是一个版本控制工具,用于管理和提交代码。

  • 访问 Git 官方网站 下载并安装 Git。
  • 安装完成后,打开命令行(CMD 或 PowerShell),输入以下命令以验证安装:
git --version

2- 1.2 安装 WingetCreate

WingetCreate 是一个用于生成和提交清单文件的工具。

  • 打开命令行,输入以下命令安装 WingetCreate:
winget install wingetcreate

2- 步骤 2:创建清单文件

1- 2.1 生成清单文件

假设你有一个应用程序的安装包 URL,例如 https://example.com/installer.exe

  • 在命令行中,输入以下命令:
wingetcreate new https://example.com/installer.exe
  • 该命令会引导你完成一系列问题,以生成清单文件。以下是一个示例输入:
PackageIdentifier: ExamplePublisher.ExampleApp
PackageVersion: 1.0.0
PackageLocale: en-US
Publisher: Example Publisher
PackageName: Example App
License: MIT
ShortDescription: This is an example application.
Installers:
  - Architecture: x64
    InstallerType: exe
    InstallerUrl: https://example.com/installer.exe
    InstallerSha256: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

2- 2.2 验证清单文件

生成的清单文件需要进行验证,以确保其格式正确。

  • 输入以下命令进行验证:
winget validate <path-to-the-manifest>

3- 步骤 3:提交清单文件到 GitHub

1- 3.1 Fork Winget-Pkgs 存储库

  • 访问 winget-pkgs 存储库
  • 点击页面右上角的 Fork 按钮,将存储库复制到你的 GitHub 账户。

2- 3.2 克隆存储库到本地

  • 在命令行中,输入以下命令,将你 fork 的存储库克隆到本地:
git clone https://github.com/<YourGitHubUsername>/winget-pkgs.git

3- 3.3 添加清单文件

  • 将生成的清单文件移动到适当的文件夹结构中,例如:
manifests/e/ExamplePublisher/ExampleApp/1.0.0/ExamplePublisher.ExampleApp.yaml

4- 3.4 提交并推送更改

  • 在命令行中,进入存储库目录:
cd winget-pkgs
  • 添加更改:
git add .
  • 提交更改:
git commit -m "Add Example App version 1.0.0"
  • 推送更改到 GitHub:
git push origin main

5- 3.5 创建 Pull Request

  • 访问你的 GitHub 存储库页面,点击 Pull Requests 标签。
  • 点击 New Pull Request 按钮,创建一个新的 Pull Request,将你的更改提交到原始的 winget-pkgs 存储库。

4- 示例清单文件

以下是一个完整的示例清单文件:

PackageIdentifier: ExamplePublisher.ExampleApp
PackageVersion: 1.0.0
PackageLocale: en-US
Publisher: Example Publisher
PackageName: Example App
License: MIT
ShortDescription: This is an example application.
Installers:
  - Architecture: x64
    InstallerType: exe
    InstallerUrl: https://example.com/installer.exe
    InstallerSha256: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
ManifestType: singleton
ManifestVersion: 1.0.0

5- 注意事项

  • 确保安装包的 URL 是有效的,并且可以访问。
  • SHA256 校验和必须与安装包匹配,可以使用工具生成 SHA256 校验和。
  • 提交 Pull Request 后,Winget 团队会进行审核,可能会给出反馈,需要根据反馈进行修改。