共用方式為


從 IIS 伺服器散發 Windows 10 應用程式

本教學課程示範如何設定 IIS 伺服器、確認 Web 應用程式可以裝載應用程式套件,以及有效地叫用和使用應用程式安裝程式。

應用程式安裝程式應用程式可讓開發人員和 IT 專業人員將 Windows 10 應用程式裝載在自己的內容傳遞網路 (CDN) 上來散發 Windows 10 應用程式。 這適用于不想要或需要將其應用程式發佈到 Microsoft Store 的企業,但仍想要利用 Windows 10 封裝和部署平臺。

設定

若要順利完成本教學課程,您需要下列專案:

  1. Visual Studio 2017
  2. Web 開發工具和 IIS
  3. Windows 10 應用程式套件 - 您要散發的應用程式套件

選擇性: GitHub 上的入門專案 。 如果您沒有應用程式套件可供使用,但仍想要瞭解如何使用此功能,這會很有説明。

步驟 1 - 安裝 IIS 和 ASP.NET

網際網路資訊服務 是可透過[開始] 功能表安裝的 Windows 功能。 在 [開始] 功能表 搜尋 [ 開啟或關閉 Windows 功能]。

尋找並選取 [網際網路資訊服務 ] 以安裝 IIS。

注意

您不需要選取 [網際網路資訊服務] 底下的所有核取方塊。 當您檢查 網際網路資訊服務 時,只有選取的已選取專案已足夠。

您也需要安裝 ASP.NET 4.5 或更高版本。 若要安裝,請找出 網際網路資訊服務 - > 萬維 Web 服務 - > 應用程式開發功能 。 選取大於或等於 ASP.NET 4.5 的 ASP.NET 版本。

Screenshot of installing ASP.NET feature

步驟 2 - 安裝 Visual Studio 2017 和 Web 開發工具

如果您尚未安裝 Visual Studio 2017 ,請加以安裝。 如果您已經有 Visual Studio 2017,請確定已安裝下列工作負載。 如果您的安裝上沒有工作負載,請遵循使用 Visual Studio 安裝程式 (從 [開始] 功能表 找到)。

在安裝期間,選取 [ASP.NET 和 Web 開發 ],以及您感興趣的任何其他工作負載。

安裝完成後,請啟動 Visual Studio 並建立新的專案( 檔案 - > New 專案 )。

步驟 3 - 建置 Web 應用程式

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

Screenshot of creating a new web project

步驟 4 - 使用 Web 應用程式設定 IIS

從方案總管,以滑鼠右鍵按一下根專案,然後選取 [ 屬性 ]。

在 Web 應用程式屬性中,選取 [Web] 索引 標。在 [ 伺服器 ] 區段中,從下拉式功能表中選擇 [本機 IIS ],然後按一下 [ 建立虛擬目錄 ]。

Screenshot of web tab in project properties

步驟 5 - 將應用程式套件新增至 Web 應用程式

新增您要散發至 Web 應用程式的應用程式套件。 如果您沒有可用的應用程式套件,您可以使用 GitHub 上提供的 入門專案套件 一部分的應用程式套件。 套件已簽署的憑證 (MySampleApp.cer) 也會在 GitHub 上使用範例。 您必須先將憑證安裝到裝置,才能安裝應用程式(步驟 9)。

在入門專案 Web 應用程式中,新的資料夾已新增至名為 套件 的 Web 應用程式,其中包含要散發的應用程式套件。 若要在 Visual Studio 中建立資料夾,請以滑鼠右鍵按一下 方案總管 中的專案節點,選取 [新增 - > 新增資料夾 ] 並將其命名為 套件 。 若要將應用程式套件新增至資料夾,請以滑鼠右鍵按一下 packages 資料夾,然後選取 [新增 - > Existing Item...] ,然後流覽至應用程式套件位置。

Screenshot of adding a package

步驟 6 - 建立網頁

此範例 Web 應用程式會使用簡單的 HTML。 您可以視需要免費建置 Web 應用程式。

以滑鼠右鍵按一下 [方案總管] 的根專案,選取 [新增 - > 新增專案 ],然後從 [Web ] 區段新增 HTML 頁面

建立 HTML 頁面之後,以滑鼠右鍵按一下方案總管中的 HTML 頁面,然後選取 [ 設定為起始頁 ]。

按兩下 HTML 檔案,在程式碼編輯器視窗中開啟它。 在本教學課程中,只會使用網頁中必要元素,才能成功叫用應用程式安裝程式應用程式來安裝 Windows 10 應用程式。

在您的網頁中包含下列 HTML 程式碼。 成功叫用應用程式安裝程式的關鍵是使用應用程式安裝程式向 OS 註冊的自訂配置: ms-appinstaller:?source= 。 如需詳細資訊,請參閱下面的程式碼範例。

注意

確定自訂配置之後指定的 URL 路徑符合 VS 解決方案 Web 索引標籤中的 [專案 URL]。

<html>
<head>
    <meta charset="utf-8" />
    <title> Install Page </title>
</head>
<body>
    <a href="ms-appinstaller:?source=http://localhost/SampleWebApp/packages/MySampleApp.msixbundle"> Install My Sample App</a>
</body>
</html>

步驟 7 - 設定應用程式套件 MIME 類型的 Web 應用程式

從方案總管開啟 Web.config 檔案,並在 元素中 <configuration> 新增下列幾行。

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

注意

在最新的 Microsoft Web 技術 .NET Core 上。 使用 .NET Core ASP 的網站建置會忽略 web.config 靜態內容 mimeMap。 因此,您必須正確設定 .NET Core 網站,以裝載 MSIX 安裝,您需要在 Startup.cs 檔案中修改 Configure 方法。 如需詳細資訊,請流覽 .NET Core 檔

步驟 8 - 新增應用程式安裝程式的回送豁免

由於網路隔離,應用程式安裝程式等 Windows 10 應用程式受限於使用 IP 回送位址,例如 http://localhost/. 使用本機 IIS 伺服器時,應用程式安裝程式必須新增至回送豁免清單。

若要這樣做,請以管理員istrator 開啟 命令提示字元 ,然後輸入下列命令:

CheckNetIsolation.exe LoopbackExempt -a -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

若要確認應用程式已新增至豁免清單,請使用下列命令在回送豁免清單中顯示應用程式:

CheckNetIsolation.exe LoopbackExempt -s

您應該會在清單中找到 microsoft.desktopappinstaller_8wekyb3d8bbwe

透過應用程式安裝程式進行應用程式安裝的本機驗證完成後,您可以透過下列方式移除您在此步驟中新增的回送豁免:

CheckNetIsolation.exe LoopbackExempt -d -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

步驟 9 - 執行 Web 應用程式

按一下 VS 功能區上的 [執行] 按鈕,建置並執行 Web 應用程式,如下圖所示:

Screenshot of running web app in Visual Studio

網頁將會在您的瀏覽器中開啟:

Screenshot of installing app from web page

按一下網頁中的連結以啟動應用程式安裝程式應用程式,並安裝您的 Windows 10 應用程式套件。

疑難排解問題

許可權不足

如果在 Visual Studio 中執行 Web 應用程式會顯示錯誤,例如「您沒有足夠的許可權存取您電腦上的 IIS 網站」,您必須以系統管理員身分執行 Visual Studio。 關閉目前的 Visual Studio 實例,然後以系統管理員身分重新開啟它。

設定起始頁

如果執行 Web 應用程式會導致瀏覽器載入 HTTP 403.14 - 禁止錯誤,這是因為 Web 應用程式沒有定義的起始頁。 請參閱本教學課程中的步驟 6,以瞭解如何定義起始頁。