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

散發應用程式之前,您需要封裝它。 本文說明使用 Visual Studio 設定、建立及測試 MSIX 套件的程式。

應用程式套件類型

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

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

  • 應用程式套件上傳檔案 (.msixupload 或 .appxupload) - 僅適用于市集提交
    單一檔案,可以包含多個應用程式套件或單一應用程式套件組合以支援各種處理器架構。 應用程式套件上傳檔案也包含符號檔,以在 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 Native 相容性 (適用於 VB 和 C# 應用程式)。 在通用 Windows 平台中,有原生編譯器可改善您的應用程式的執行階段效能。 由於這項變更,您應該在此編譯環境中測試您的 app。 根據預設, 發行 組建組態會啟用 .NET 原生 工具鏈,因此請務必使用此 發行 組態來測試您的應用程式,並檢查您的應用程式是否如預期般運作。

設定您的專案

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

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

使用資訊清單設計工具設定套件

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

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

  3. 現在您可以決定如何設定您的 app。 每個索引標籤均包含可設定有關您的 app 的資訊以及必要的詳細資訊的連結。

    Visual Studio 中的資訊清單設計工具

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

    您可以從 [ 封裝] 索引 標籤輸入發佈資料。 從此處您可以選擇要用來登入您的 app 的憑證。 所有 MSIX 應用程式都必須使用憑證簽署。

    注意

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

    重要

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

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

  4. 在對您的 app 進行必要的編輯之後,請儲存 Package.appxmanifest 檔案。

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

產生應用程式套件

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

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

注意

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

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

  2. 以滑鼠右鍵按一下專案,然後選擇 [發佈- >建立應用程式套件] (Visual Studio 2019 16.3 版之前,[發佈] 功能表名為 [集) ]。

    導覽至 [建立應用程式套件] 的操作功能表

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

    [建立您的套件] 對話方塊視窗,顯示側載

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

    [建立您的套件] 對話方塊視窗,顯示 [簽署]

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

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

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

注意

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

使用安裝腳本安裝您的應用程式套件

  1. 開啟 *_Test 資料夾。

  2. 以滑鼠右鍵按一下 Add-AppDevPackage.ps1 檔案。 選擇 \[用 PowerShell 執行\],並依照提示進行。
    顯示瀏覽到 PowerShell 指令碼的檔案總管

    安裝完應用程式套件時,PowerShell 視窗會顯示此訊息:您的應用程式已順利安裝。

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

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

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

產生市集提交的應用程式套件上傳檔案

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

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

注意

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

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

注意

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

  1. 方案總管中,開啟 UWP app 專案的解決方案。

  2. 以滑鼠右鍵按一下專案,然後選擇 [發佈- >建立應用程式套件] (Visual Studio 2019 16.3 版之前,[發佈] 功能表名為 [集) ]。 如果此選項停用或未顯示,請確定專案是通用 Windows 專案。

    導覽至 [建立應用程式套件] 的操作功能表

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

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

    使用 Microsoft Store 顯示的 [建立您的套件] 對話方塊視窗

    如果您已經將專案與市集中的應用程式相關聯,您也可以選擇建立相關聯市集應用程式的套件。 如果您選擇 側載,Visual Studio 將不會針對合作夥伴中心提交產生應用程式套件上傳 (.msixupload 或 .appxupload) 檔案。 如果您只想建立非市集散發的 MSIX 套件或套件組合,則可以選取此選項。

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

    顯示選取 App 名稱的 [建立應用程式套件] 視窗

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

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

    顯示套件設定的 [建立應用程式套件] 視窗

  7. 在發佈應用程式之後,包含公用符號檔,以分析合作夥伴中心 的應用程式效能 。 設定任何其他詳細資料,例如版本編號或套件輸出位置。

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

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

    顯示驗證選項的 [套件建立完成] 視窗

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

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

    • 一或多個應用程式套件 (.msix 或 .appx) 或應用程式套件組合 (.msixbundle 或 .appxbundle) 。
    • .appxsym 檔案。 這是壓縮的 .pdb 檔案,其中包含用於合作夥伴中心 損毀分析 之應用程式的公用符號。 您可以省略此檔案,但如果您這麼做,您的應用程式將無法使用當機分析或偵錯資訊。
  2. 選取資料夾中的所有檔案,以滑鼠右鍵按一下檔案,然後選取 [傳送至- >Compressed (壓縮) 資料夾]。

  3. 將新 zip 檔案的副檔名名稱從 .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 測試 app 的詳細資訊,請參閱 Windows 應用程式認證套件

  5. 指定您的子網路內的裝置種類,或提供子網路以外的裝置的網域名稱伺服器 (DNS) 名稱或 IP 位址。

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

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

自動化市集提交

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

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

在擷取自動市集提交所需的認證之前,如果您尚未這麼做,您必須先遵循 合作夥伴中心儀表板 中的這些步驟。

  1. 將合作夥伴中心帳戶與組織的 Azure Active Directory 建立關聯。 如果您的組織已經使用 Office 365 或其他 Microsoft 所提供的商務服務,您就已經具備 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. 在 [ 金鑰 ] 區段中,按一下 [ 新增金鑰]。 在下一個畫面上,複製對應至用戶端密碼的 Key 值。 離開此頁面之後,您將無法再次存取此資訊,因此請務必不會遺失此資訊。 如需詳細資訊,請參閱管理 Azure AD 應用程式的金鑰 \(部分機器翻譯\)。

在 Visual Studio 中設定自動市集提交

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

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

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

    設定 Microsoft Store 提交設定

    重要

    您的認證可以儲存至您的設定檔,供未來提交使用

  3. 按一下 [確定]。

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

驗證和發佈進度