跳至主要內容

建置並發佈 Windows 桌面應用程式

發佈 Windows 應用程式的一個便利方式是透過 Microsoft Store。本指南提供了逐步說明,介紹如何以這種方式封裝和部署 Flutter 應用程式。

準備事項

#

在開始將 Flutter Windows 桌面應用程式發佈到 Microsoft Store 的流程之前,請先確認它符合 Microsoft Store 政策

此外,您必須加入 Microsoft 合作夥伴網路才能提交應用程式。

在合作夥伴中心設定您的應用程式

#

Microsoft 合作夥伴中心管理應用程式的生命週期。

首先,保留應用程式名稱並確保您擁有該名稱的必要權利。一旦保留名稱,應用程式將會為服務 (例如推播通知) 進行佈建,然後您就可以開始新增附加元件。

價格、可用性、年齡分級和類別等選項必須與首次提交一起配置,並會在後續提交中自動保留。

封裝與部署

#

為了將應用程式發佈到 Microsoft Store,您必須先將其封裝。有效的格式為 .msix.msixbundle.msixupload.appx.appxbundle.appxupload.xap

在 Microsoft Store 中手動封裝與部署

#

請查看 MSIX 封裝以了解如何封裝 Flutter Windows 桌面應用程式。

請注意,每個產品都有一個唯一的識別碼,由 Store 分配。

如果套件是手動建置的,您必須在封裝期間手動包含其識別碼詳細資訊。可以使用以下說明從合作夥伴中心擷取基本資訊

  1. 在合作夥伴中心,瀏覽至該應用程式。
  2. 選擇 產品管理
  3. 按一下 產品識別碼,以擷取套件識別名稱、發行者和發行者顯示名稱。

在手動封裝應用程式後,手動將其提交到 Microsoft 合作夥伴中心。您可以透過建立新的提交,瀏覽至 套件,並上傳建立的應用程式套件來執行此操作。

持續部署

#

除了手動建立和部署套件之外,您還可以使用 CI/CD 工具自動化建置、封裝、版本控制和部署流程,前提是您已將應用程式首次提交至 Microsoft Store。

Codemagic CI/CD

#

Codemagic CI/CD 使用 msix pub 套件 來封裝 Flutter Windows 桌面應用程式。

對於 Flutter 應用程式,請使用 Codemagic 工作流程編輯器codemagic.yaml 來封裝應用程式並將其部署到 Microsoft 合作夥伴中心。可以使用此套件配置其他選項(例如套件中包含的功能清單和語言資源)。

為了發佈,Codemagic 使用 合作夥伴中心提交 API;因此,Codemagic 需要 將 Azure Active Directory 和合作夥伴中心帳戶建立關聯

GitHub Actions CI/CD

#

GitHub Actions 可以使用 Microsoft Dev Store CLI 將應用程式封裝到 MSIX 中,並將其發佈到 Microsoft Store。setup-msstore-cli GitHub Action 會安裝 cli,以便該 Action 可以使用它進行封裝和發佈。

由於封裝 MSIX 使用 msix pub 套件,因此專案的 pubspec.yaml 必須包含適當的 msix_config 節點。

您必須從開發人員中心建立具有 全域管理員權限的 Azure AD 目錄。

GitHub Action 需要來自合作夥伴中心的環境密碼。按照 Windows Store 發佈 Action 的說明,AZURE_AD_TENANT_IDAZURE_AD_ClIENT_IDAZURE_AD_CLIENT_SECRET 在開發人員中心中可見。您也需要 SELLER_ID 密碼,該密碼可以在開發人員中心中的 帳戶設定 > 組織設定檔 > 法律資訊 下找到。

該應用程式必須已存在於 Microsoft 開發人員中心,至少完成一次提交,而且必須在執行 Action 之前,在存放庫中執行一次 msstore init。完成後,在 GitHub Action 中執行 msstore package .msstore publish 會將應用程式封裝到 MSIX 中,並將其上傳到開發人員中心的新提交中。

MSIX 發佈的必要步驟如下

yaml
- uses: microsoft/setup-msstore-cli@v1

- name: Configure the Microsoft Store CLI
  run: msstore reconfigure --tenantId $ --clientId $ --clientSecret $ --sellerId $

- name: Install Dart dependencies
  run: flutter pub get

- name: Create MSIX package
  run: msstore package .

- name: Publish MSIX to the Microsoft Store
  run: msstore publish -v

更新應用程式的版本號

#

對於發佈到 Microsoft Store 的應用程式,必須在封裝過程中設定版本號。

應用程式的預設版本號為 1.0.0.0

對於未發佈到 Microsoft Store 的應用程式,您可以設定應用程式可執行檔的檔案和產品版本。可執行檔的預設檔案版本為 1.0.0.1,其預設產品版本為 1.0.0+1。若要更新這些版本,請瀏覽至 pubspec.yaml 檔案並更新下列行

yaml
version: 1.0.0+1

建置名稱是三個以點分隔的數字,後接一個可選的建置編號,該編號以 + 分隔。在上面的範例中,建置名稱是 1.0.0,而建置編號是 1

建置名稱會成為檔案和產品版本的前三個數字,而建置編號會成為檔案和產品版本的第四個數字。

建置名稱和編號都可以在 flutter build windows 中透過分別指定 --build-name--build-number 來覆寫。

新增應用程式圖示

#

若要在封裝之前更新 Flutter Windows 桌面應用程式的圖示,請使用以下說明

  1. 在 Flutter 專案中,瀏覽至 windows\runner\resources
  2. app_icon.ico 替換為所需的圖示。
  3. 如果圖示的名稱不是 app_icon.ico,請繼續變更 windows\runner\Runner.rc 檔案中的 IDI_APP_ICON 值,以指向新的路徑。

當使用 msix pub 套件 進行封裝時,也可以在 pubspec.yaml 檔案中設定標誌路徑。

若要更新商店清單中的應用程式映像,請瀏覽至提交的商店清單步驟,並選取商店標誌。從那裡,您可以上傳大小為 300 x 300 像素的標誌。

所有上傳的映像都會保留以用於後續提交。

驗證應用程式套件

#

在發佈到 Microsoft Store 之前,請先在本地驗證應用程式套件。

Windows 應用程式認證套件是 Windows 軟體開發套件 (SDK) 中包含的工具。

若要驗證應用程式

  1. 啟動 Windows 應用程式認證套件。
  2. 選取 Flutter Windows 桌面套件 (.msix.msixbundle 等)。
  3. 選擇測試報告的目的地。

即使認證通過,該報告也可能包含重要的警告和資訊。