在 Visual Studio 中封裝桌面或 UWP 應用程式

散發應用程式之前,您必須先將其封裝。 本文描述使用 Visual Studio 設定、建立和測試 MSIX 套件的程序。

應用程式套件類型

  • 應用程式套件 (.msix 或 .appx)
    單一套件,其中包含您的應用程式和其資源,以單一裝置架構為目標。 例如,x64 或 x86 應用程式套件。 若要以具有應用程式套件組合的多個架構為目標,您必須為每個架構產生一個架構。

  • 應用程式套件組合 (.msixbundle 或 .appxbundle)
    應用程式套件組合是一種套件類型,可以包含多個應用程式套件,這些套件都是為了支援特定裝置架構而建置。 例如,應用程式套件組合可以包含適用於 x86、x64 及 ARM 組態的三個不同的應用程式套件。 應該盡可能產生應用程式套件組合,因為其允許您的應用程式可廣泛用於多種裝置上。

  • 應用程式套件上傳檔案 (.msixupload 或 .appxupload) - 僅適用於 Microsoft Store 提交
    單一檔案,可以包含多個應用程式套件或單一應用程式套件組合以支援各種處理器架構。 應用程式套件上傳檔案也包含符號檔案,可在應用程式發佈到 Microsoft Store 之後分析應用程式效能。 如果您使用 Visual Studio 封裝應用程式,以便提交至合作夥伴中心並發佈至 Microsoft Store,系統將會為您自動建立此檔案。

以下是準備與建立應用程式套件的步驟概觀:

  1. 封裝應用程式之前。 請依照這些步驟執行,確認您的應用程式已可封裝。

  2. 設定您的專案。 請使用 Visual Studio 資訊清單設計工具來設定套件。 例如,新增磚影像,然後選擇您的應用程式所支援的方向。

  3. 產生應用程式套件。 使用 Visual Studio 套件精靈來建立應用程式套件。

  4. 執行、偵錯及測試封裝的應用程式。 從 Visual Studio 執行應用程式套件,或直接安裝套件,以進行偵錯。

封裝應用程式之前

  1. 測試應用程式。 封裝應用程式之前,請確定其在您計畫支援的所有裝置系列上可如預期般運作。 這些裝置系列可能包含桌上型電腦、行動裝置、Surface Hub、Xbox、IoT 裝置或其他等。 如需使用 Visual Studio 部署和測試應用程式的詳細資訊,請參閱部署和偵錯 UWP 應用程式 (也適用於已封裝的傳統型應用程式)。

  2. 將應用程式最佳化。 您可以使用 Visual Studio 的剖析與偵錯工具,將已封裝的應用程式效能最佳化。 例如,UI 回應性時間軸工具、記憶體使用量工具及 CPU 使用量工具等。 如需這些工具的詳細資訊,請參閱剖析功能之旅主題。

  3. 檢查 .NET 原生的相容性 (適用於 VB 和 C# 應用程式)。 在通用 Windows 平台中,有原生編譯器可改善應用程式的執行階段效能。 由於這項變更,您應該在此編譯環境中測試您的應用程式。 根據預設, 發行 組建組態會啟用 .NET 原生 工具鏈,因此請務必使用此 發行 組態來測試您的應用程式,並檢查您的應用程式是否如預期般運作。

設定專案

應用程式資訊清單檔案 (Package.appxmanifest) 是包含建立應用程式套件所需之屬性和設定的 XML 檔案。 例如,應用程式資訊清單檔案中的屬性描述做為您的應用程式磚的影像,以及當使用者旋轉裝置時您的應用程式支援的方向。

Visual Studio 資訊清單設計工具可讓您輕鬆更新資訊清單檔案而不需要編輯檔案的原始 XML。

使用指令清單設計工具設定套件

  1. 在 [方案總管] 中,展開應用程式的專案節點。

  2. 按兩下 Package.appxmanifest 檔案。 如果指令清單檔案已在 XML 程式代碼檢視中開啟,Visual Studio 會提示您關閉檔案。

  3. 現在您可以決定如何設定您的應用程式。 每個索引標籤都包含您可以設定有關應用程式的資訊,並視需要連結到詳細資訊。

    Manifest designer in Visual Studio

    檢查您擁有應用程式在 [視覺資產] 索引標籤上所需的所有影像。這是您將提供應用程式圖示和標誌的位置。

    封裝索引標籤,您可以輸入發行資料。 您可以在其中選擇要用來簽署應用程式的憑證。 所有 MSIX 應用程式都必須以憑證簽署。

    注意

    從 Visual Studio 2019 開始,已封裝的傳統型或 UWP 專案中不會再產生暫時憑證。 若要建立或匯出憑證,請使用這篇文章所述的 PowerShell Cmdlet。 在最新版本的 Visual Studio 中,您也可以使用 Azure 金鑰保存庫 中儲存的憑證來簽署應用程式,以進行開發和測試案例。

    重要

    如果要在 Microsoft Store 發佈應用程式,將會為您以受信任的憑證簽署應用程式。 這可讓使用者安裝及執行您的應用程式,而不需安裝相關聯的應用程式簽署憑證。

    如果要在裝置上安裝應用程式套件,首先必須信任該套件。 憑證必須安裝在該使用者裝置上,才能信任該套件。

  4. 在對應用程式進行必要的編輯之後,請儲存 Package.appxmanifest 檔案。

如果要透過 Microsoft Store 散發應用程式,Visual Studio 可以將套件與 Microsoft Store 建立關聯。 若要這樣做,請在 方案總管 中以滑鼠右鍵按下您的專案名稱,然後選擇 [發行關聯>應用程式] 與市集 (在 Visual Studio 2019 16.3 版之前,[發佈] 功能表名為 [市集]。 您也可以在 [建立應用程式套件] 精靈中執行此動作,如下一節所述。 建立應用程式關聯時,會自動更新資訊清單設計工具的 [封裝] 索引標籤中的一些欄位。

產生應用程式套件

您可以使用 Microsoft Intune 和 Configuration Manager 等應用程式管理工具,在市集中發佈應用程式,而不需在市集中發佈應用程式。您也可以直接安裝 MSIX 套件,以在本機或遠端電腦上進行測試。

使用封裝精靈建立應用程式套件

注意

下列指示和螢幕擷取畫面說明 Visual Studio 2019 16.3 版的建立流程。 如果您使用的是較舊的版本,某些 UI 可能看起來不同。 如果您要封裝傳統型應用程式,請以滑鼠右鍵按一下 [Windows 應用程式封裝專案] 節點。

  1. 方案總管中,開啟應用程式專案的解決方案。

  2. 以滑鼠右鍵按兩下項目,然後選擇 [發佈->建立應用程式套件 ] (在 Visual Studio 2019 16.3 版之前,[ 發佈 ] 選單名為 [市集]。

    Context menu with navigation to Create App Packages

  3. 選取精靈第一頁中的 [側載],然後按 [下一步]

    Create Your Packages dialog window shown with Sideloading

  4. 在 [選取簽署方法] 頁面上,選取是否要略過封裝簽署,或選取要簽署的憑證。 您可以從本機憑證存放區選取憑證、選取憑證檔案,或建立新的憑證。 若要將 MSIX 封裝安裝在終端使用者的電腦上,必須由該電腦上受信任的憑證來簽署。

    Create Your Packages dialog window shown with Signing

  5. 使用 Visual Studio 建立應用程式套件上傳檔案一節所述,完成 [選取和設定套件] 頁面。

按兩下以安裝您的應用程式套件

只要按兩下應用程式套件檔案,就可以安裝應用程式套件。 若要這麼做,請瀏覽至您的應用程式套件或應用程式套件組合檔案,然後按兩下該檔案。 應用程式安裝程式會啟動並提供基本的應用程式資訊,以及安裝按鈕、安裝進度列和任何相關的錯誤訊息。

注意

應用程式安裝程式會假設已使用裝置上受信任的憑證簽署套件。 如果尚未簽署,您必須在裝置的受信任的人或受信任的發行者憑證授權單位存放區安裝簽署憑證。 如果您不確定如何執行此動作,請參閱安裝測試憑證

使用安裝指令碼安裝您的應用程式套件

  1. 開啟 *_Test 資料夾。

  2. 以滑鼠右鍵按一下 Add-AppDevPackage.ps1 檔案。 選擇 [用 PowerShell 執行],並依照提示進行。
    File explorer navigated to PowerShell script shown

    安裝應用程式套件之後,PowerShell 視窗會顯示此訊息: 您的應用程式已成功安裝。

  3. 按一下 [開始] 按鈕以依據名稱搜尋應用程式,然後加以啟動。

後續步驟:偵錯及測試您的應用程式套件

請參閱執行、偵錯和測試應用程式套件,了解如何在 Visual Studio 中或使用 Windows 偵錯工具來進行偵錯。

產生應用程式套件上傳檔案以進行 Microsoft Store 提交

若要將您的應用程式散發至 Microsoft Store,建議您產生應用程式套件上傳檔案 (.msixupload 或 .appxupload),並將此檔案提交至合作夥伴中心。 雖然可以單獨將應用程式套件或應用程式套件組合提交至合作夥伴中心,但建議您改為提交應用程式套件上傳檔案。

您可以使用 Visual Studio 中的 [建立應用程式套件] 精靈建立應用程式套件上傳檔案,也可以從現有的應用程式套件或應用程式組合手動建立。

注意

如果想手動建立應用程式套件 (.msix 或 .appx) 或應用程式套件組合 (.msixbundle 或 .appxbundle),請參閱使用 MakeAppx.exe 工具建立應用程式套件

使用 Visual Studio 建立您的應用程式套件上傳檔案

注意

下列指示和螢幕擷取畫面說明 Visual Studio 2019 16.3 版的建立流程。 如果您使用的是較舊的版本,某些 UI 可能看起來不同。

  1. 在 [方案總管] 中,開啟 UWP 應用程式專案的解決方案。

  2. 以滑鼠右鍵按兩下項目,然後選擇 [發佈->建立應用程式套件 ] (在 Visual Studio 2019 16.3 版之前,[ 發佈 ] 選單名為 [市集]。 若此選項已停用或根本未出現,請檢查專案是否為通用 Windows 專案。

    Context menu with navigation to Create App Packages

    [建立應用程式套件] 精靈隨即出現。

  3. 在第一個對話方塊中,選取 [在 Microsoft Store 中使用新的應用程式名稱],然後按一下 [下一步]

    Create Your Packages dialog window shown with Microsoft Store

    如果您已將專案與 Microsoft Store 中的應用程式相關聯,也可以選擇為相關聯的 Microsoft Store 應用程式建立套件。 如果您在此選擇 [側載],Visual Studio 將不會產生要提交至合作夥伴中心所需的應用程式套件上傳檔案 (.msixupload 或 .appxupload)。 如果您只想建立不透過 Microsoft Store 散發的 MSIX 套件或搭售方案,則可以選取此選項。

  4. 在下一個頁面上,使用您的開發人員帳戶登入合作夥伴中心。 (如果您還沒有開發人員帳戶,精靈會幫助您建立一個)。

    Create App Packages window with app name selection shown

  5. 從目前您帳戶註冊的應用程式清單中,選取套件的應用程式名稱;如果您尚未在合作夥伴中心保留名稱,請保留一個新的。

  6. 確定您在 [選取並設定套件] 對話方塊中選取全部三種架構組態 (x86、x64 及 ARM),以確保應用程式可部署到最多種類的裝置。 在 [產生應用程式套件組合] 清單方塊中,選取 [一律]。 應用程式套件組合 (.appxbundle 或 .msixbundle) 優於單一應用程式套件檔案,因為其包含了為每種處理器架構類型而設定的應用程式套件集合。 當您選擇產生應用程式套件組合時,將會最終應用程式套件上傳 (.appxupload 或 .msixupload) 檔案中包含應用程式套件組合,以及偵錯和當機分析資訊。 如果您不確定選擇哪些架構,或想要深入了解各種裝置所使用的架構,請參閱應用程式套件架構

    Create App Packages window with package configuration shown

  7. 應用程式發佈之後,從 Windows 開發人員中心將公用符號檔案納入分析應用程式效能。 設定任何其他詳細資料,例如版本編號或套件輸出位置。

  8. 按一下 [建立] 產生應用程式套件。 如果您選取了步驟 3 中的 [我要建立封裝以上傳至的 Microsoft Store] 選項,且需建立套件以提交至合作夥伴中心,則精靈會建立套件上傳 (.appxupload 或. msixupload) 檔案。 如果您在步驟 3 中選取 [我要建立套件以進行側載],精靈會根據您在步驟 6 中的選擇建立單一應用程式套件或應用程式套件組合。

  9. 應用程式成功封裝後,您會看到此對話方塊,並且可以從指定的輸出位置擷取應用程式套件上傳檔案。 此時,您可以在本機電腦或遠端電腦上驗證您的應用程式套件自動提交至 Microsoft Store

    Package creation completed window with validation options shown

手動建立應用程式套件上傳檔案

  1. 將下列檔案放在資料夾中:

    • 一或多個應用程式封裝 (.msix 或 .appx) 或應用程式套件組合 (.msixbundle 或 .appxbundle)。
    • .appxsym 檔案。 這是一個壓縮的 .pdb 檔案,其中包含您的應用程式用於合作夥伴中心中損毀分析的公用符號。 您可以省略這個檔案,但這樣您的應用程式就不會有任何損毀分析或偵測資訊。
  2. 選取資料夾內的所有檔案,以滑鼠右鍵按下檔案,然後選取 [ 傳送至 ->Compressed (ziped)] 資料夾

  3. 將新的壓縮檔案延伸模組名稱從 .zip 變更為 .msixupload 或 .appxupload。

驗證您的應用程式套件

在您將應用程式提交至合作夥伴中心之前,請先在本機或遠端電腦上驗證您的應用程式以取得認證。 您只能驗證您應用程式套件的發行組建,但不能對組建進行偵錯。 如需有關提交應用程式至合作夥伴中心的詳細資訊,請參閱應用程式提交

在本機驗證您的應用程式套件

  1. 在 [建立應用程式套件] 精靈的最後 [套件建立完成] 頁面上,保留選取 [本機電腦] 選項,然後按一下 [啟動 Windows 應用程式認證套件]。 如需使用 Windows 應用程式認證套件測試應用程式的詳細資訊,請參閱 Windows 應用程式認證套件

    Windows 應用程式認證套件 (WACK) 會執行各種測試並傳回結果。 如需更具體的資訊,請參閱 Windows 應用程式認證套件測試

    如果您有遠端 Windows 10 裝置,而且想要使用該裝置來進行測試,則必須手動在該裝置上安裝 Windows 應用程式認證套件。 下一節將逐步引導您完成這些步驟。 完成此動作之後,接著可以選取 [遠端電腦] 並按一下 [啟動 Windows 應用程式認證套件] 以連線到遠端裝置並執行驗證測試。

  2. 完成 WACK 且您的應用程式已通過認證後,您可以準備將應用程式提交至合作夥伴中心。 請確定您上傳正確的檔案。 您可以在解決方案的根資料夾 \[AppName]\AppPackages 找到檔案預設位置,它會以 .appxupload 或 .msixupload 的副檔名結尾。 如果您選擇應用程式套件組合並選取全部套件架構,名稱的形式會是 [AppName]_[AppVersion]_x86_x64_arm_bundle.appxupload[AppName]_[AppVersion]_x86_x64_arm_bundle.msixupload

在遠端 Windows 10 裝置上驗證您的應用程式套件

  1. 依照啟用您的裝置以進行開發的指示,啟用 Windows 10 裝置以進行開發。

    重要

    您無法在適用於 Windows 10 的遠端 ARM 裝置上驗證您的應用程式套件。

  2. 下載並安裝 Visual Studio 的遠端工具。 這些工具可用來從遠端執行 Windows 應用程式認證套件。 您可以造訪 遠端電腦上執行 MSIX 應用程式,以取得這些工具的詳細資訊,包括下載工具的位置。

  3. 下載必要的 Windows 應用程式認證套件,然後安裝在遠端的 Windows 10 裝置上。

  4. 在精靈的 [套件建立完成] 頁面上,選擇 [遠端電腦] 選項按鈕,然後選擇 [測試連線] 按鈕旁的省略符號按鈕。

    注意

    只有在您至少選取一個支援驗證的方案組態時,才可使用 [遠端電腦] 選項按鈕。 如需使用 WACK 測試應用程式的詳細資訊,請參閱 Windows 應用程式認證套件

  5. 在子網內指定裝置表單,或提供子網外部裝置的域名伺服器 (DNS) 名稱或IP位址。

  6. 如果裝置不需要您使用 Windows 認證來登入,請在 [驗證模式] 清單中選擇 [無]

  7. 選擇 [選取] 按鈕,然後選擇 [啟動 Windows 應用程式認證套件] 按鈕。 如果遠端工具在該裝置上執行,Visual Studio 會與裝置連線,接著執行驗證測試。 請參閱 Windows 應用程式認證套件測試

自動提交至 Microsoft Store

從 Visual Studio 2019 開始,您可以直接從 IDE 將產生的 .appxupload 檔案提交至 Microsoft Store,方法是選取 建立應用程式套件精靈 結尾處的 [Windows 應用程式認證套件驗證後,自動提交至 Microsoft Store] 選項。 此功能會利用 Azure Active Directory 來存取發佈應用程式所需的合作夥伴中心帳戶資訊。 若要使用這項功能,您必須將 Azure Active Directory 與您的合作夥伴中心帳戶建立關聯,並擷取提交所需的數個認證。

將 Azure Active Directory 與您的合作夥伴中心帳戶產生關聯

您必須先遵循合作夥伴中心儀表板中的這些步驟 (如果尚未這麼做),才能擷取自動提交至 Microsoft Store 所需的認證。

  1. 將合作夥伴中心帳戶與組織的 Azure Active Directory 產生關聯。 如果您的組織已經使用來自 Microsoft 的 Office 365 或其他商務服務,則您已有 Azure AD。 否則,您可以從合作夥伴中心免費建立新的 Azure AD 租用戶。

  2. 將 Azure AD 應用程式新增至您的合作夥伴中心帳戶。 此 Azure AD 應用程式代表您將用來存取開發人員中心帳戶提交的應用程式或服務。 您必須指派此應用程式為管理員角色。 如果這個應用程式已經在您的 Azure AD 目錄中,則可以在 [新增 Azure AD 應用程式] 頁面中加以選取,以新增至您的開發人員中心帳戶。 如果不是,可以在 [新增 Azure AD 應用程式] 頁面建立新的 Azure AD 應用程式。

擷取提交所需的認證

接下來,您可以擷取提交所需的合作夥伴中心認證,包括 Azure 租用戶識別碼用戶端識別碼用戶端金鑰

  1. 移至合作夥伴中心儀表板,然後使用您的 Azure AD 認證登入。

  2. 在合作夥伴中心儀表板中,選取接近儀表板右上角的齒輪圖示,然後選取 [開發人員設定]

  3. 在左側窗格的 [設定] 功能表上,按一下 [使用者]

  4. 按一下 Azure AD 應用程式的名稱,以移至應用程式的設定。 在此頁面上,複製 [租用戶識別碼] 和[用戶端識別碼] 值。

  5. 在 [金鑰] 區段中,按一下 [新增金鑰]。 在下一個畫面上,複製與用戶端密碼對應的金鑰值。 您離開這個頁面之後就無法再存取此資訊,因此請務必妥善保存。 如需詳細資訊,請參閱管理 Azure AD 應用程式的金鑰

在 Visual Studio 中設定自動提交至 Microsoft Store

完成上述步驟之後,您可以在 Visual Studio 2019 中設定自動提交至 Microsoft Store。

  1. 在 [建立應用程式套件精靈] 中,選取 [在 Windows 應用程式認證套件驗證之後自動提交至 Microsoft Store],然後按一下 [重新設定]

  2. 在 [設定 Microsoft Store 提交設定] 對話方塊中,輸入 Azure 租用戶識別碼、用戶端識別碼和用戶端金鑰。

    Configure Microsoft Store Submission settings

    重要

    您可以將認證儲存到設定檔,以供未來提交時使用

  3. 按一下 [確定]

提交作業會在 WACK 測試完成後開始。 您可以在 [驗證和發佈] 視窗中追蹤提交進度。

Verify and Publish progress