從原始程式碼建立具有 MSIX 核心的 MSIX 套件

MSIX Core 會引進 MSIX 部署,以選取舊版的 Windows。 您可以使用 MSIX Core 安裝程式,使用 ClickOnce 建立應用程式。 這可讓使用者下載 setup.exe,並透過 MSIX Core 安裝程式安裝 MSIX 應用程式。

在網頁伺服器上裝載您的應用程式

若要讓應用程式準備好使用 MSIX Core 安裝程式啟動載入,您必須在網頁伺服器上裝載應用程式套件。 本節提供如何在 Azure 、網際網路資訊服務 (IIS) 和 Amazon Web Services (AWS) 設定 Web 應用程式的詳細 資料。

Azure

若要使用此選項,您必須擁有 Azure 訂用帳戶。 若要取得帳戶,請參閱 Azure 帳戶頁面

建立 Azure Web 應用程式

若要開始移至 [Azure 入口網站] 頁面 ,並遵循下列步驟:

  1. 按一下 [ 建立資源 ]。
  2. 按一下 [Web ],然後選取 [Web 應用程式 ]。
  3. 在 [實例詳細資料] 底 ,建立唯一的應用程式名稱,然後為您的應用程式選取適當的設定。 例如,您必須在程式碼或 Docker 容器 執行時間堆疊 之間進行 選擇。 否則,保留其他所有預設值。
  4. 按一下 [ 建立 ] 並完成精靈。

裝載應用程式套件和網頁

  1. 建立 Web 應用程式之後,請選取應用程式。
  2. 在 [開發工具] 底下,按一下 [App Service 編輯器]
  3. 在編輯器中,有預設 hostingstart.html 檔案。 以滑鼠右鍵按一下空白檔案總管,然後選取 [上傳檔案 ] 開始上傳您的應用程式套件。
  4. 再次以滑鼠右鍵按一下 [檔案總管] 面板的空白空間,然後選取 [ 新增檔案 ] 以建立新的檔案。 將您想要預設 HTML 頁面的檔案命名為 。

設定應用程式套件 MIME 類型的 Web 應用程式

將名為 Web.config 的新檔案新增至 Web 應用程式。 開啟 Web.config 檔案,並將下列 XML 新增至檔案。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <!--This is to allow the web server to serve resources with the appropriate file extensions-->
    <staticContent>
      <mimeMap fileExtension=".appx" mimeType="application/appx" />
      <mimeMap fileExtension=".msix" mimeType="application/msix" />
    </staticContent>
  </system.webServer>
</configuration>

Internet Information Services (IIS)

IIS 是選擇性的 Windows 功能。 若要安裝 IIS:

  1. 按一下 [ 開始 ] 並搜尋 [ 開啟或關閉 Windows 功能]。
  2. 選取 [網際網路資訊服務 ]。
  3. 也請確定您安裝 ASP.NET 4.5 或更高版本。 在 [ Windows 功能] 對話方塊中,展開 [網際網路資訊服務 - > World Wide Web Services - > Application Development Features ],然後選取大於或等於 ASP.NET 4.5 的 ASP.NET 版本
  4. 按一下 [ 確定 ] 開始安裝。

需要 Visual Studio 2017(或更新版本)和 Web 開發工具。 如果您已安裝 Visual Studio 2017 或更新版本,請確定您已安裝 ASP.NET 和 Web 開發工作負載。 否則,請從這裡 安裝 Visual Studio。

建置 Web 應用程式

以系統管理員身分啟動 Visual Studio,並使用空白專案範本建立新的 Visual C# Web 應用程式 專案。

使用 Web 應用程式設定 IIS

  1. 方案總管 中,以滑鼠右鍵按一下根專案,然後選取 [ 屬性 ]。
  2. 在 [屬性] 中,選取 [ Web] 索引卷 標。
  3. 在 [ 伺服器 ] 區段中,從下拉式功能表中選擇 [本機 IIS ],然後按一下 [ 建立虛擬目錄 ]。

將應用程式套件新增至 Web 應用程式

新增您要散發至 Web 應用程式的應用程式套件:

  1. 方案總管 中,以滑鼠右鍵按一下專案節點。
  2. 選取 [新增 - > 新增資料夾 ] 並命名資料夾 套件
  3. 若要將應用程式套件新增至資料夾,請以滑鼠右鍵按一下 packages 資料夾,然後選取 [新增 - > Existing Item ]。 流覽至應用程式套件位置。

建立網頁

根據您的需求,建立 HTML 頁面或任何其他 Web 應用程式。 新增 setup.exe 的連結。

設定應用程式套件 MIME 類型的 Web 應用程式

從方案總管開啟 Web.config 檔案,並在組態 > 專案內 < 新增下列 XML。

<system.webServer>
  <!--This is to allow the web server to serve resources with the appropriate file extensions-->
  <staticContent>
    <mimeMap fileExtension=".appx" mimeType="application/appx" />
    <mimeMap fileExtension=".msix" mimeType="application/msix" />
  </staticContent>
</system.webServer>

Amazon Web Services (AWS)

若要使用此選項,您必須具有 AWS 成員資格。 如需詳細資訊,請參閱 AWS 帳戶詳細資料

建立 Amazon S3 貯體,並上傳 MSIX 套件和網頁

Amazon Simple 儲存體 Service (S3) 是 AWS 供應專案,可用來收集、儲存和分析資料。 S3 貯體是裝載 Windows 10 應用程式套件和網頁以進行散發的便利方式。

  1. 登入 AWS。 在 [服務 ] 底下 尋找 S3
  2. 選取 [建立貯體],然後輸入 網站的貯 體名稱 。 請遵循對話方塊提示來設定屬性和許可權。 若要確保您的 Windows 10 應用程式可以從您的網站散發,請為您的貯體啟用讀取和寫入 許可權,然後選取 [ 授與此貯 體公用讀取 許可權]。 按一下 [ 建立貯體 ] 以完成此步驟。
  3. 當您完成時,請將 MSIX 套件和網頁上傳至 S3 貯體。

設定應用程式套件 MIME 類型的 Web 應用程式

使用 S3 瀏覽器之類的 Web 服務介面來新增新的 預設 HTTP 標頭

  1. 流覽至 [ 工具 ],然後選取 [ 預設 HTTP 標頭 ]。
  2. 在 [ 預設 HTTP 標頭] 對話方塊中,按一下 [ 新增 ]。
  3. 在 [ 新增預設 HTTP 標頭 ] 對話方塊中,指定貯體名稱、檔案名、標頭名稱和標頭值,然後按一下 [ 新增標頭 ]。
    • 貯體名稱 :msix-packages
    • 檔案名 :*.msix
    • 標頭名稱 :Content-Type
    • 標頭值 :application/msix

注意

 AWS 有一些嚴格的指導方針,您必須遵循。 例如,Bucket 名稱必須是唯一的,因此如果您使用上述範例,則必須變更 Bucket 名稱。

使用 MSIX Core 安裝程式來建置 ClickOnce 應用程式

尋找您的應用程式應用程式 ClickOnce setup.exe。 這是指 Git 專案的複製、透過 Visual Studio 專案建置和發佈。

執行 URL 命令以建立新的 setup.exe

請確定您已遵循指示,在 Visual Studio 中複製、建置和發佈 MSIX Core 解決方案。 如需參考,您可以在這裡找到 GitHub 專案

流覽至您發佈 setup.exe 檔案的目錄,然後執行此命令:

.\setup.exe -url=<location of your msix in the webservice>

例如:

.\setup.exe -url="https://appinstallerdemo.azurewebsites.net/MSIXCore/msixmgrWrapper.application?https://appinstallerdemo.azurewebsites.net/MSIXCore/notepadplus.msix#"

簽署應用程式

因為上一個步驟建立了新的 setup.exe,您必須再次簽署應用程式,以確認您是應用程式的信任發行者,以及建立應用程式的完整性。 您可以使用 SignTool 並提供您的憑證。

將應用程式散發給使用者

您現在可以指向在其網站上具有連結或下載按鈕的新 setup.exe。 MSIX Core 是以 Windows 10 版本 1703 和更早版本的使用者為目標。 應用程式 安裝程式 是 Windows 1709 或更新版本上 MSIX 套件的理想安裝程式。 應用程式安裝程式會針對取用者端的磁碟空間進行優化,並可直接從 HTTP 位置安裝應用程式。 MSIX Core 會偵測取用者是否在 Windows 1709 或更新版本上,並將其重新導向至應用程式安裝程式。

在 Microsoft Edge 上 ,您可以呼叫 getHostEnvironmentValue() 方法,而 傳回值中的 os-build 欄位將會指定使用者的 OS 版本。 然後,您可以從這裡提示安裝程式使用 MSIX Core(適用于 Windows 10 版本 1703 和更早版本)或應用程式安裝程式(適用于 Windows 10 版本 1709 和更新版本)。

使用者體驗

使用者只要從開發人員的網頁下載並執行 setup.exe。

  • 如果使用者執行 setup.exe 時尚未安裝 MSIX Core 安裝程式,則使用者會看到 ClickOnce 提示,然後按一下 [安裝 ] 以安裝 MSIX Core 安裝程式。 安裝程式會自動啟動並顯示開發人員查詢字串中指定的 MSIX 套件安裝畫面,讓使用者可以安裝應用程式。
  • 如果使用者執行 setup.exe 時已安裝 MSIX Core 安裝程式,MSIX Core 安裝程式會自動啟動並顯示使用者安裝應用程式之查詢字串中指定的 MSIX 套件安裝畫面。