WinGet マニフェストを作成する
ランタイム
Dumplings モジュールコマンドとホスト側スキルスクリプトは、PowerShell 7.4 以降 (pwsh) で実行します。特別な自己完結型ゲストコレクターが別途指示しない限り、Windows PowerShell 5.1 はサポートされません。
ワークフロー
現在の段階に必要なリファレンスをお読みください。
- パッケージ選択: アイデンティティ、ソースインデックスの重複検索、公式ソースの発見、アーティファクト選択、およびリリース日証拠。
- マニフェスト構築: モデルとファイル、インストーラーフィールド、依存関係、デフォルトとリターンコード、アプリと機能、およびフォーマットと検証。
- ローカライズ: ロケールモデル、ロケールアイデンティティ、およびロケールコンテンツとリリースノート。
- 完了: 提出とPRチェックからの検証ログ。
- 共有ヘルパーAPI: ソース取得、リダイレクト、応答デコード、一時ファイル、HTMLまたはMarkdown処理、YAML、ブラウザ証拠には、
$use-dumplings-functionsを使用します。 - インストーラーファミリーガイダンス: アナライザーのインストーラーファミリールートテーブルから開始し、選択したファミリーのワークフローを開いて、静的パーサーコマンド、スイッチ、ARP所有権、およびVM例外を確認します。
- 大規模な作業記録: 一時的な証拠。
インストーラーの証拠には $analyze-winget-installer を使用し、最初のパッケージバージョンが受理された後、または明示的に設定された信頼できる保留中パッケージリファレンスがあり、その最初のPRがマージされるのを待っている間に、$author-dumplings-task を使用します。
段階的な作成
識別子、バージョン、デフォルトロケール、必要なインストーラーフィールドが判明したら、作業用の複数ファイルマニフェストを作成して保存します。既存のパッケージの場合は、その論理モデルを使用して新しいバージョンのリーフを作成します。このドラフトに対して調査とVM検証を続行します。
アーティファクトの選択、解析、ロケール調査、リリースノート、VM検証によって新しい事実が確立されるたびに、マニフェストを保存します。編集の前に現在の論理モデルを読み、差分を検査します。未解決のオプションフィールドは省略します。バッチを処理する場合、調査中は各パッケージのドラフトを維持します。最初の保存後および構造変更後に完全なセットをフォーマットおよび検証し、提出前に厳格な最終レビューを実行します。
譲れないルール
公式の発行元ソースを使用します。ダウンロードアグリゲーター、ミラー、再パッケージャー、検索結果のダウンロードサイトは使用しないでください。ウェブサイトとリポジトリを相互検証してから、どちらかを信頼してください。
未知のインストーラーをホスト上で実行しないでください。エントリを確定または提出する前に、正確なアーティファクトと作成されたスイッチを使用して、VM検証を完了してください。唯一のリンクがログインを必要とする場合、電子メールで配信される場合、非公式または不審な場合、または安定したフォールバックなしにセッションにバインドされている場合は、停止してください。無人実行できないインストーラーは拒否します。これには、Windowsセキュリティのドライバー発行者同意ダイアログによってブロックされるものも含まれます。
ホストまたはVMのセキュリティソフトウェアが実行可能ファイルをウイルスまたはマルウェアとしてフラグ付けした場合は、影響を受けるパッケージのワークフローを直ちに停止し、ユーザーに警告してください。マルウェアアラート時に停止するに従ってください。
発行元のアイデンティティ、法人名、URL、リリースノート、バージョン、レジストリメタデータ、またはスイッチをでっち上げないでください。該当するオプションフィールドを省略する前に、すべての信頼できる権威あるソースを検索してください。
現在の作成では、スキーマ 1.12.0 と固定の Dumplings ヘッダーを使用します。
Moniker を自動的に追加しないでください。現時点では UnsupportedOSArchitectures を作成しないでください。既知のインストーラースイッチ、モード、およびリターンコードは、それらが WinGet のデフォルトと等しい場合は省略します。
出力の規律
作成全体を通じて完全な論理モデルを使用します。証拠に裏付けられた各リビジョンを Save-WinGetManifest または文書化されたモデルAPIで保存し、その後オフラインで検証します。Format-WinGetManifest は独立したドキュメント用に予約します。これはドキュメント間で最適化したり、欠落している証拠を確立したりすることはできません。
完全なソース、インストーラー、VM、および検証レコードを一時的な証拠ツリーに保存します。タスクでは、決定事項、未解決の診断情報、および証拠パスのみを報告してください。