什麼是 MSIX?

已完成

您正在協助 Contoso 確定是否應該使用 MSIX 應用程式連結技術部署應用程式。 在深入研究 MSIX 應用程式連結之前,您首先要探索 MSIX、MSIX 封裝和 MSIX 封裝工具的用途和優點。

MSIX 的用途和優點

MSIX 是一種 Windows 應用程式套件格式,為所有 Windows 應用程式提供新式封裝體驗。

您可以使用 MSIX 封裝格式準備應用程式,該格式使用容器技術來提高應用程式安裝和解除安裝的逼真度。 所有 MSIX 應用程式都會寫入其登錄和應用程式儲存資料夾,並且它們可以透過作業系統讀取全域登錄。

MSIX 的優點包括:

  • 可預測且安全的部署。 MSIX 應用程式使用容器技術,將應用程式與作業系統的其餘部分隔離,以確保安全性。
  • 徹底移除。 移除 MSIX 應用程式時,將移除所有應用程式資料。 登錄或作業系統的檔案系統中沒有剩餘資料。
  • 單一執行個體儲存空間。 MSIX 應用程式連結使用 MSIX 應用程式的一個執行個體將其傳遞到所有主機,而不需要佔用額外空間。
  • 抵禦竄改。 將 MSIX 封包展開為 MSIX 影像後,後者將是唯讀的,並被鎖定以供作業系統修改。

提示

使用 MSIX,您可以使用 Microsoft Store 封裝和散發 Win32 應用程式。

MSIX 封包中有什麼?

以 MSIX 格式封裝的應用程式安裝在 c:\Program Files\WindowsApps 資料夾中。 每個套件資料夾包含以下標準化檔案:

檔案 描述
應用程式承載 包含應用程式程式碼檔案和資產。
AppxBlockMap.xml 包含封裝內所有檔案的已驗證且安全清單。
AppxManifest.xml 透過設定與檔案的關聯來驅動安裝,並包含套件的身分識別及其相依性。
AppxSignature.p7x 包含安裝應用程式之前作業系統必須信任的套件之簽章。

提示

要解壓縮 MSIX 套件內容,請將 .msix 副檔名變更為 .zip,然後使用檔案總管解壓縮檔案。

MSIX 容器

以 MSIX 格式準備的應用程式在輕量容器中執行。 MSIX 應用程式寫入其自己的虛擬登錄和應用程式儲存資料夾。 所有 MSIX 應用程式處理序都在該容器中執行。

建立 MSIX 套件

可以使用以下兩種方法之一建立 MSIX 套件:

  • 重新封裝現有 Win32 安裝程式
  • 從原始程式碼產生 MSIX

MSIX 封裝工具

您可以使用 MSIX 封裝工具從以下任何安裝程式中建立 MSIX 應用程式封裝:

  • MSI
  • EXE
  • ClickOnce
  • App-V
  • 指令碼
  • 手動安裝

您可以從 Microsoft Store 或 Hyper-V 快速入門存取 MSIX 封裝工具。

您可以使用互動式 UI 或命令列將現有封裝轉換為 MSIX 封裝格式。 重要的是,在執行 MSIX 封裝工具之前,您需要:

  • 使用支援的 Windows 10 版本 (至少 1809)。
  • 在潔净的電腦上工作,無需在其上執行其他服務和應用程式。
  • 準備轉換環境,確定它與新建立的 MSIX 封裝所在的環境相似。
  • 請確定用於轉換之電腦上的結構與將部署應用程式之電腦上的結構相同。
  • 使用具有檢查點的虛擬機器,以便您輕鬆地測試和還原對封裝每次修改所做的變更。
  • 瞭解應用程式的相依性以正確準備 MSIX 封裝。

注意事項

從 Windows 10 Fall Creators Update (Windows 10 版本 1709) 開始,Microsoft 提供了可以用於 MSIX 封裝專案的 Hyper-V 快速建立虛擬環境。

在潔净的電腦上執行 MSIX 封裝工具時,將提示您選擇以下三個選項之一:

  • 應用程式封裝。 使用此選項可以從現有安裝程式或透過手動安裝應用程式承載來建立 MSIX 封裝。
  • 修改封裝。 使用此選項可以修改現有 MSIX 封裝。 此選項可能需要您完成初始封裝步驟。
  • 封裝編輯器。 使用此選項可以對現有封裝進行變更,而無需再次執行安裝程式。 例如,您可以編輯封裝清單。

M S I X 封裝工具的螢幕擷取畫面。

注意事項

MSIX 應用程式連結不支援修改封裝。

在 MSIX 封裝工具中,使用以下步驟將應用程式重新封裝至 MSIX:

  1. MSIX 封裝工具準備電腦。 在此步驟中,將安裝 MSIX 封裝驅動程式並停用 Windows Update。

  2. 選擇要封裝的安裝程式。 此步驟因您選擇轉換的安裝程式而异。 此步驟的最後一部分是使用以下選項之一對封裝進行簽章:

    • 使用 Device Guard 簽署進行簽章。
    • 使用憑證 (.pfx) 簽章。
    • 指定 .cer 檔案。 此選項不會對封裝進行簽章,但與將用於簽章憑證的主體相符。
  3. 詳細說明封裝資訊。 MSIX 封裝工具根據所使用的安裝程式嘗試自動填滿有關應用程式之資訊。 可以視需要使用您自己的值自訂輸入。

  4. 執行安裝程式。 該工具開始監視安裝階段並擷取所有安裝選項。 如果安裝程式需要重新啟動,可以重新啟動電腦並繼續轉換流程。

  5. 管理决定首次執行該工具時使用者體驗的工作。

  6. 檢閱服務報告。 此步驟用於在電腦上登錄服務的安裝程式。 支援的服務列在 Included 表格中。 不支援的服務出現在 Excluded 表格中。

  7. 建立封裝。 這是流程的最後一個階段,您可以在這裡提供儲存 MSIX 封裝的位置。

可使用命令列介面以自動化重新封裝應用程式的流程。 以下範例定義如何從命令列使用 MSIX 封裝工具:

 MsixPackagingTool.exe create-package --template c:\users\documents\ConversionTemplate.xml -v
 MSIXPackagingTool.exe create-package --template c:\users\documents\ConversionTemplate.xml --virtualMachinePassword pswd112893

注意事項

您可以在 MSIX 工具組的 scripts 資料夾中找到範例 PowerShell 和 Bash 指令碼,它們示範了如何自動化封裝、簽章、管理和散發 MSIX 封裝的流程。