Windows パッケージ マネージャー リポジトリに貢献する

完了

参加する

winget search <somepackage> コマンドを実行してもインストールするパッケージまたはソフトウェアが見つからない場合は、今後、自分や他のユーザーが利用できるように、そのパッケージをリポジトリに追加することができます。 まず、次のことを確認する必要があります。

  • GitHub アカウント
  • 現在、Windows パッケージ マネージャーは、MSIX、MSI、EXE 形式のインストーラーをサポートしています。もしインストールするソフトウェアにこれらの種類のインストーラーがない場合は、リポジトリに追加することはできません。
  • ソフトウェアが MSIX、MSI、または EXE 形式である場合、他のユーザーが検討のために提出済みかどうかを確認することをお勧めします。それには、コミュニティ リポジトリ内で作業されている最新のプル要求を確認します。
  • ソフトウェアが MSIX、MSI、または EXE 形式で、他のユーザーがまだ提出していない場合は、Windows パッケージ マネージャーと Windows Package Manager Manifest Creator の両方がマシンにインストールされていることを確認する必要があります。

チェックリストを満たしたら、必要なマニフェスト ファイルの作成を開始します。

独自のマニフェスト ファイルを一から作成することもできますが、このプロセス全体をより簡単にすることができるツールがあります。 このツールは、Windows Package Manager Manifest Creator と呼ばれます。 インストールするには、Windows パッケージ マネージャーから次のコマンドを使います。

winget install microsoft.wingetcreate

作業の開始

まず、wingetcreate new というコマンドを入力します。

ツールにより、ソフトウェア パッケージの 1 つまたは複数の URL の入力が求められます。これは、自分でローカルに格納したものではなく、パブリックにアクセスできる URL である必要があります。

ツールによってファイルのクエリが開始され、いくつかの情報が取得されます。 まず、パッケージ識別子、パッケージのバージョン、既定の言語、パッケージがインストールされるアーキテクチャ (x86、x64 など)、パブリッシャー名、パッケージ名、パッケージのライセンス、パッケージの説明が提案されます。 これらの情報は、いずれもユーザーがソフトウェアを見つけ、インストールするのに役立ちます。

カスタム サイレント スイッチ

パッケージ化するソフトウェアに、ユーザーの入力なしでサイレント インストールを行うためにカスタム インストール スイッチが必要な場合、その情報の入力を求めるように Windows Package Manager Manifest Creator ツールを構成できますが、installer.yaml ファイル内のその情報を手動で編集することもできます。

VMware Workstation Player を例にとると、installer.yaml ファイル内にいくつかの構成行があることがわかります。

VMware Workstation Player Installer File

タグ

提出時には、マニフェスト ファイルにタグを追加することもできます。 タグは、ユーザーが winget search コマンドを使って検索するときにパッケージやソフトウェアを見つけるのに役立ちます。

Windows Package Manager Audio Search Results

yaml ファイル内でタグの入力がどのように見えるかのスクリーンショットを次に示します。

VideoLAN Yaml Tags

これらのタグは、検索結果をソフトウェア メーカーやソフトウェア名以外にも広げるのに役立ちます。

検証とテスト

マニフェスト ファイルの設定を完了したら、リポジトリに提出する前に、それらを検証し、正常に機能することをテストします。

まず最初に行うことは、マニフェスト ファイルの検証です。構文を確認して、必要な標準に準拠するように構成します。 wingetcreate の新規作成プロセスを実行し、ファイルに手動で変更を加えていなければ、検証に合格するはずです。 ただし、手動で変更を加えた場合は、検証テストに合格するには変更が必要な可能性があります。

マニフェストの検証に使うコマンドは次のとおりです。

winget validate –manifest <manifest path>

マニフェスト ファイルのパスは設定によって変わりますが、wingetcreate プロセスの最後に表示されているはずです。

validate コマンドの出力を取得し、すべてが問題ない場合は、設定したパッケージやソフトウェアがマニフェストによってインストールされるかどうかのテストに進むことができます。 これを適切にテストするには、必要に応じて、別のマシン上、または Windows サンドボックス環境がインストールされている場合はそれを利用してテストします。

使う必要のあるコマンドは winget install –manifest <manifest path> です。

これは問題なく完了し、必要なソフトウェアがインストールされるはずです。 ただし、何か問題がある場合は、解決し、期待どおりに機能するまで、このプロセスを繰り返し実行する必要があります。

マニフェストの提出

マニフェストの検証とテストが完了したら、貢献を Microsoft チームに提出して確認を受け、コミュニティの他のメンバーが利用できるようにリポジトリにマージしてもらいます。

最初に行うことは、トークンの設定です。つまり、GitHub の個人用アクセス トークンです。これを使うと、GitHub での認証のためにコマンド ラインからパスワードを入力する必要がなくなります。 トークンを設定したことがない場合は、個人用アクセス トークンの作成に関する GitHub チームのすばらしいガイドを参照してください。

トークンを用意したら、winget から使用できるようにコマンドライン ツールに格納する必要があります。これはコマンドを使って行います。

wingetcreate –store <token> 

これで、作成したものを Microsoft チームに提出し、レビューを受ける準備ができました。 これを行うには、次のコマンドを発行する必要があります。

wingetcreate submit <path to manifest>

これにより、GitHub プロファイル内にリポジトリ ストアが作成され、Windows パッケージ マネージャー リポジトリにプル要求が作成されます。

このコマンドが完了すると、プル要求 (PR) へのブラウザー セッションが開かれます。 ここで、チェックリストを満たすように求められます。

Windows Package Manager contributor checklist

また、いくつかの自動テストが開始され、マニフェストが検証され、必要な処理が実行されていることがテストされます。 ブラウザーを閉じて後からこれを確認するか、進行状況が更新されるのを見ることができます。

問題が検出された場合は、解決する必要があります。それ以外の場合は、Windows パッケージ マネージャーの誰かが提出物を確認し、承認するか、改善点をフィードバックします。

チームには、提出物がタイムリーにレビューされるように取り組んでいる SLA があります。


自分の知識をチェックする

1.

マニフェストを説明する文として、最も適切なものを選択してください。