參與 Windows 封裝管理員存放庫

已完成

參與其中

如果您已執行 winget search <某個套件> 命令,但找不到您想要安裝的套件或軟體,則可以協助將其新增至存放庫,以協助您和未來的其他人員。 首先,您需要檢查下列事項:

  • GitHub 帳戶
  • Windows 封裝管理員目前支援下列格式的安裝程式:MSIX、MSI 和 EXE,如果您想要安裝的軟體沒有這類安裝程式的其中一種,則無法將其新增至存放庫。
  • 如果軟體是 MSIX、MSI 或 EXE 格式提供,建議您檢查是否有其他人已經加以提交以供考慮;您可以透過檢查目前社群存放庫內正在處理的提取要求 (英文) 來這麼做。
  • 如果軟體是以 MSIX、MSI 或 EXE 格式提供,且尚未有人提交,您必須確定您的機器上已經安裝 Windows 封裝管理員和 Windows 封裝管理員資訊清單建立者。

在您完成檢查清單之後,便可以開始建置所需的資訊清單檔。

您可以從頭開始建立自己的資訊清單檔,不過有一個工具可協助您處理該程序,讓整個程序變得更容易。 此工具稱為 Windows 封裝管理員資訊清單建立者 (英文)。 您可以在 Windows 封裝管理員中使用此命令來安裝該工具:

winget install microsoft.wingetcreate

開始使用

若要開始,您應該輸入 wingetcreate new 命令

此工具會提示您輸入軟體套件的 URL,這應該要是可公開存取的 URL,而不是您自行儲存在本機的位址。

此工具會開始查詢該檔案,並提取一些資訊。 其一開始會建議套件識別碼、套件版本、預設語言、將安裝套件的架構 (例如 x86、x64 等)、發行者名稱、套件名稱、套件授權,以及對套件的描述。 這些資訊可協助人員尋找並安裝該軟體。

自訂無訊息參數

如果您嘗試封裝的軟體時需要定制安裝參數,讓其以不需要任何使用者輸入的無訊息方式安裝,您可以設定 Windows 封裝管理員資訊清單建立者工具提示您輸入該資訊;同樣地,您也可以在 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 new 處理序,而且沒有對檔案進行任何手動變更,則其應該能通過驗證。 不過,如果您已做出一些手動變更,則可能需要進行某些變更才能通過驗證測試。

用來驗證資訊清單的命令如下:

winget validate –manifest <manifest path>

資訊清單檔的路徑會隨著您的設定而有所不同,不過其應該已在 wingetcreate 處理序結束時為您顯示。

一旦您已從 validate 命令取得輸出,而且一切都沒問題時,您便可以繼續測試資訊清單,確認其是否能安裝您所設定的套件/軟體。 如果您已安裝該套件/軟體,您可能需要在個別的機器或利用 Windows 沙箱環境加以測試,以適當地測試此項目。

您需要使用的命令是 winget install –manifest <資訊清單路徑>

這應該要在沒有任何問題的情況下完成,並能夠正確安裝軟體。 不過,如果有任何問題,您必須查看並解決問題,並再次進行此程序,直到其能如預期般運作為止。

提交資訊清單

在您已驗證並測試資訊清單之後,現在便可以將您的貢獻提交給 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.

下列哪一個陳述最能描述資訊清單?