備註
目前僅支援免費產品透過 GitHub Actions 進行應用程式更新操作。 付費產品將在未來版本中提供支援。
GitHub Actions 可讓您為 Microsoft Store 應用程式實作健全的 CI/CD 管線。 藉由直接從程式碼存放庫自動化建置、測試和部署步驟,您可以確保每個變更,無論是錯誤修正、功能更新或中繼資料變更,都經過驗證並安全地發佈到 Microsoft Store。
若要瞭解如何設定應用程式更新程式的必要條件,請觀看下列影片:
必要條件
在 合作夥伴中心註冊為 Windows 應用程式開發人員。
將租用戶與您的合作夥伴中心帳戶相關聯。 您可以在 合作夥伴中心關聯現有的 Microsoft Entra 標識碼 ,或 在合作夥伴中心建立新的 Microsoft Entra 標識碼來達成此目的。
在 Microsoft Entra ID 中註冊應用程式
接下來,從合作夥伴中心 [帳戶設定] 區段中 [使用者管理] 頁面底下的 [Microsoft Entra 應用程式] 索引標籤,新增代表您將用來存取合作夥伴中心帳戶提交的應用程式或服務的 Microsoft Entra ID 應用程式。 請確定為此應用程式指派管理員角色。
您要更新的應用程式必須已發佈並位於 Microsoft Store 中。
所需的 ID 和密碼:
- 租用戶識別碼 (這是 Microsoft Entra 租用戶的唯一識別碼。前往 https://entra.microsoft.com/。流覽至 Azure Active Directory > 概觀。複製「租用戶識別碼」值。
- 用戶端識別碼 (這是您建立之應用程式註冊的應用程式識別碼。在 Entra 系統管理中心,移至 Azure Active Directory > 應用程式註冊。選擇您註冊的應用程序。複製「應用程式ID」。用於 API 存取。 在 Entra 系統管理中心,移至 Azure Active Directory > 應用程式註冊。 選擇您註冊的應用程序。 複製「應用程式ID」。
- 用戶端密碼 (這是為您的應用程式註冊產生的類似密碼的值,用於安全驗證。在 Entra 系統管理中心,移至 Azure Active Directory > 應用程式註冊。選取您已註冊的應用程式,移至 [憑證和秘密]。在「用戶端密碼」下,建立新的密碼(如果尚未建立)。立即複製值,因為它不會再次顯示)
- 賣方識別碼 (這是您在 Microsoft 合作夥伴中心的唯一發行者/賣方識別碼。登入 合作夥伴中心。前往帳戶設定 > 、開發人員設定或識別碼。尋找「發布商 ID」或「賣家 ID」。
這些將用作 GitHub 儲存庫中的秘密。
設定 GitHub Actions 以更新 Microsoft Store 上的應用程式
如果您的專案已有 GitHub 存放庫,您可以直接使用它來自動化 Microsoft Store 應用程式更新。
在您的 GitHub 存放庫中,移至 設定>密碼和變數>動作>新增存放庫密碼。
新增下列密碼:
- AZURE_AD_APPLICATION_CLIENT_ID
- AZURE_AD_APPLICATION_SECRET(Azure AD 應用程式密碼)
- AZURE_AD_TENANT_ID
- SELLER_ID
您可以使用 GitHub Actions 針對兩種類型的應用程式 MSIX 和 MSI/EXE 自動更新應用程式。 在下方選取您要更新的應用程式類型:
新增 GitHub 動作工作流程 ,以叫用 Microsoft GitHub 動作 (microsoft-store-apppublisher),以將套件和應用程式中繼資料更新發佈至存放區。
若要瞭解如何使用 GitHub Actions 將套件和中繼資料更新自動化,請觀看下列影片:
套件更新
在 .github/workflows/ 下,使用提供的工作流程程式碼片段建立AppPackageAutoUpdate.yml:
name: AppPackageAutoUpdate
on:
push:
paths:
- 'release/package.msix'
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Configure Microsoft Store CLI
uses: microsoft/microsoft-store-apppublisher@v1.1
- name: Reconfigure store credentials
run: msstore reconfigure `
--tenantId ${{ secrets.AZURE_AD_TENANT_ID }} `
--sellerId ${{ secrets.SELLER_ID }} `
--clientId ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} `
--clientSecret ${{ secrets.AZURE_AD_APPLICATION_SECRET }}
- name: Publish App package
run: msstore publish '${{ github.workspace }}/release/package.msix' -id <Store product Id>
當 package.msix 更新為發行資料夾中 CI/CD 流程的一部分時,會自動觸發AppPackageAutoUpdate.yml工作流程。
對於中繼資料的更新
第一次發佈中繼資料更新之前,請從合作夥伴中心取得應用程式提交的基底中繼資料 JSON。 這可確保您從應用程式的正確結構開始。 因此,使用提供的程式碼片段在 .github/workflows/GetBaseMetadata.yml 下建立 GitHub Actions 工作流程:
name: GetBaseMetadata
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: microsoft/microsoft-store-apppublisher@v1.1
- name: Configure MSStore CLI
run: |
msstore reconfigure `
--tenantId ${{ secrets.AZURE_AD_TENANT_ID }} `
--sellerId ${{ secrets.SELLER_ID }} `
--clientId ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} `
--clientSecret ${{ secrets.AZURE_AD_APPLICATION_SECRET }}
- name: Get base metadata
shell: pwsh
run: |
msstore submission get <Store product Id>
從 GitHub 存放庫中的 [動作] 索引標籤執行此工作流程。 選取相關工作流程,然後按一下 執行工作流程。
完成後,工作流程會在建置記錄中取得應用程式的中繼資料。 複製此檔案並在中繼資料資料夾中建立 metadata.json 檔案。
現在,在 .github/workflows/ 下,使用提供的工作流程程式碼片段建立AppMetadataAutoUpdate.yml:
name: AppMetadataAutoUpdate
on:
push:
paths:
- 'metadata/metadata.json'
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Configure Microsoft Store CLI
uses: microsoft/microsoft-store-apppublisher@v1.1
- name: Reconfigure store credentials
run: msstore reconfigure `
--tenantId ${{ secrets.AZURE_AD_TENANT_ID }} `
--sellerId ${{ secrets.SELLER_ID }} `
--clientId ${{ secrets.AZURE_AD_APPLICATION_CLIENT_ID }} `
--clientSecret ${{ secrets.AZURE_AD_APPLICATION_SECRET }}
- name: Update metadata
run: |
$metadata = Get-Content -Raw "${{ github.workspace }}/metadata/metadata.json"
msstore submission updateMetadata <Store product Id> $metadata
- name: Publish to Store
run: msstore submission publish <Store product Id>
當 metadata.json 作為 CI/CD 流程的一部分在中繼資料資料夾中更新時,將自動觸發 AppMetadataAutoUpdate.yml 工作流程。
上述工作流程將在背景執行下列動作:
- 叫用 GitHub 動作 (microsoft-store-apppublisher)
- 使用您設定的秘密 (租用戶識別碼、用戶端識別碼、用戶端密碼、賣方識別碼) 來驗證您的 Microsoft Store 合作夥伴中心帳戶。
- 使用 Microsoft Store 開發人員 CLI (msstore) 來取得基底中繼資料,並將更新的套件或中繼資料發佈至 Microsoft Store。
如需命令的詳細資訊,請參閱 Microsoft Store 開發人員 CLI (MSIX)。
GitHub Actions 工作流程成功完成之後,請檢查 Microsoft Store 以確認您的變更已上線。 合作夥伴中心的認證程式完成後,會出現更新。
我們相信本文件將有助於顯著提高 Microsoft Store 更新過程的效率和可靠性。 透過遵循這些最佳實踐,您可以簡化應用程式發布並確保一致、高品質的發布體驗。