从 IIS 服务器分发 Windows 10 应用
04/23/2021
本文内容
本教程演示如何设置 IIS 服务器、验证 Web 应用能否托管应用包,以及如何有效地调用应用安装程序应用程序。
通过应用安装程序,开发人员和 IT 专业人员可以通过在各自的内容分发网络 (CDN) 上托管应用的方式来分发 Windows 10 应用。 这种方式适用于不希望或不需要将应用发布到 Microsoft Store,但仍希望利用 Windows 10 打包和部署平台的企业。
设置
若要成功完成本教程,需要以下各项:
Visual Studio 2017
Web 开发工具和 IIS
Windows 10应用包 - 要分发的应用包
可选:GitHub 上的初学者项目。 如果没有要处理的应用包,但仍想了解如何使用此功能,这非常有用。
步骤 1 - 安装 IIS 和 ASP.NET
Internet Information Services 是一项 Windows 功能,可通过 “开始”菜单。 在 “开始”菜单 搜索 "打开或关闭 Windows 功能"。
找到并选择 Internet Information Services 安装 IIS。
备注
无需选中"设置"下的所有Internet Information Services。 只有选中后 选择Internet Information Services就足够了 。
还需要安装 4.5 ASP.NET 4.5 或更高。 若要安装它,请找到 Internet Information Services -> World Wide Web Services -> 应用程序开发功能。 选择大于或 ASP.NET 4.5 的 ASP.NET 版本。
步骤 2 - Visual Studio 2017 和 Web 开发工具
安装Visual Studio 2017( 如果尚未安装)。 如果已安装 2017 Visual Studio,请确保已安装以下工作负载。 如果安装时工作负载不存在,请遵循从Visual Studio 安装程序 (找到的“开始”菜单) 。
在安装过程中 ,ASP.NET 和 Web 开发以及你感兴趣的任何其他工作负荷。
安装完成后,启动Visual Studio文件""新建项目" ( -> 创建新) 。
步骤 3 - 生成 Web 应用
以Visual Studio管理员角色启动 2017年 2 月,并创建一个包含空项目模板的新 Visual C# Web****应用程序项目。
步骤 4 - 使用 Web 应用配置 IIS
从解决方案资源管理器,右键单击根项目并选择"属性 "。
在 Web 应用属性中,选择 "Web" 选项卡。在"服务器" 部分中,从下拉菜单中选择"本地 IIS", 然后单击"创建虚拟目录"。
步骤 5 - 将应用包添加到 Web 应用程序
添加要分发到 Web 应用程序的应用包。 如果没有可用的应用包,可以使用 GitHub 上提供的初学者项目包中的应用包。 该应用包签名所用的证书 (MySampleApp.cer) 也随 GitHub 上的示例提供。 在安装应用之前,必须先将证书安装到设备 (步骤 9) 。
在初学者项目 Web 应用程序中,向 Web 应用添加了名为 "包 "的新文件夹,其中包含要分发的应用包。 若要在 Visual Studio 创建文件夹,请右键单击 解决方案资源管理器 中的项目节点,选择"添加新文件夹", -> 将其命名为 包。 若要将应用包添加到文件夹,请右键单击 包 文件夹并选择"添加 -> 现有项...", 然后浏览到应用包位置。
步骤 6 - 创建网页
此示例 Web 应用使用简单的 HTML。 你可随意根据需求生成 Web 应用。
右键单击"解决方案资源管理器"的根项目,选择 "添加新 项",然后 -> 从"Web"部分添加新 的 HTML 页面。
创建 HTML 页面后,右键单击"HTML"页解决方案资源管理器并选择"设为 起始页"。
双击 HTML 文件,在代码编辑器窗口中打开它。 在本教程中,只会使用网页中成功调用 应用安装程序 应用所需的 元素来Windows 10应用。
在网页中包括以下 HTML 代码。 成功调用 应用安装程序的关键在于使用向 OS 应用安装程序的自定义方案 ms-appinstaller:?source= :。 有关详细信息,请参阅下面的代码示例。
备注
确保自定义方案后指定的 URL 路径与 VS 解决方案的 Web 选项卡中的"项目 URL"匹配。
Install PageInstall My Sample App
步骤 7 - 为应用包 MIME 类型配置 Web 应用
从Web.config 资源管理器 中打开该扩展文件,在 元素中添加以下 行。
备注
在最新的 Microsoft Web 技术 .NET Core 上。 使用 .NET Core ASP 的网站生成web.config静态内容 mimeMap。 因此,需要正确配置将托管 MSIX 安装的 .NET Core 网站,需要在 Startup.cs 文件中修改 Configure 方法。 有关详细信息 ,请访问 .NET Core 文档。
步骤 8 - 为项目添加环回应用安装程序
由于网络隔离,Windows 10应用(应用安装程序)限制为使用 IP 环回地址(如 http://localhost/ )。 使用本地 IIS 服务器时,应用安装程序必须添加到环回免除列表中。
为此,请以管理员 角色打开 命令 提示符 并输入以下内容:
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 应用程序,如下图所示:
网页将在浏览器中打开:
单击网页中的链接,启动 应用安装程序 应用并安装Windows 10应用包。
对问题进行故障排除
权限不足
如果在 Visual Studio 中运行 Web 应用显示错误,例如"你没有足够的权限访问计算机上 IIS 网站",则需要以管理员Visual Studio运行该应用。 关闭当前实例Visual Studio以管理员角色重新打开它。
设置起始页
如果运行 Web 应用导致浏览器加载 HTTP 403.14 - 禁止访问错误,这是因为 Web 应用没有定义的起始页。 请参阅本教程中的步骤 6,了解如何定义起始页。