如果在从应用安装程序文件安装应用程序时发现任何问题,本主题将提供一些可能有所帮助的故障排除指南。
先决条件
若要能够在 Windows 10 中旁加载应用,用户设备必须满足以下要求:
Windows 10:
- 用于对包进行签名的证书必须由设备信任。 有关更多详细信息,请参阅下面的 “受信任的证书 ”部分。
- Windows 10 版本必须支持
.appinstaller
文件架构和分发协议。
Windows 10 1909 及更早版本:
- 必须为设备启用开发人员模式或旁加载应用。 有关详细信息,请参阅启用设备进行开发。
常见问题
首次在用户计算机中旁加载应用程序时,存在一些常见问题。 接下来的几个部分介绍了最常见的问题及其解决方案。
Windows 版本
每个 Windows 10 版本都改进了旁加载体验,下表中展示了每个主要版本中都有哪些功能可用。 如果你尝试使用 Windows 10 版本中不支持的方法旁加载应用,则会出现部署错误。
版本 | 旁加载说明 |
---|---|
版本 17134(2018 年 4 月更新,版本 1803) | 可以通过 UNC/共享文件夹访问.appinstaller 文件。 可配置的更新检查也可用。 |
内部版本 16299(Fall Creators Update 版本 1709) | 引入了 .appinstaller 该文件以向应用提供自动更新。 此版本仅支持 HTTP 终结点。 更新检查不可配置,每 24 小时进行一次。 |
内部版本 15063(Creators Update 版本 1703) | 应用安装程序应用可以从应用商店下载应用依赖项(仅在发布模式下)。 |
内部版本 14393(周年更新版本 1607) | 引入了应用安装程序应用以安装.appx和 .appxbundle 文件,不支持 .appinstaller 文件。 |
版本 10586 (11 月更新, 版本 1511) | 旁加载只能通过 PowerShell 的 Add-AppxPackage 命令实现。 |
内部版本 10240(Windows 10 版本 1507) | 旁加载只能通过 PowerShell 的 Add-AppxPackage 命令实现。 |
受信任的证书
应用包必须使用设备信任的证书进行签名。 默认情况下,常见的证书颁发机构提供的证书在 Windows作系统中受信任。
但是,如果用于对应用包进行签名的证书不受信任,或者是开发期间使用的本地生成的/自签名证书,则应用安装程序可能会报告该包不受信任,并会阻止其安装:
若要解决此问题,具有设备本地管理员权限的用户必须使用 计算机证书 工具将证书导入以下容器之一:
- 本地计算机:受信任人员
- 本地计算机:受信任的根颁发机构(不建议)
重要
不要将包签名证书导入到用户证书存储中。 验证包标识时,应用安装程序不会搜索用户证书。
通过从“开始”菜单进行搜索,可以轻松找到计算机证书管理工具:
成功导入签名证书后,重新运行应用安装程序将显示包受信任且可安装:
未安装依赖项
Windows 10 应用程序可以基于用于生成应用的应用程序平台具有框架依赖项。 如果使用 C# 或 VB,应用将需要 .NET 运行时和 .NET 框架包。 C++应用程序需要 VCLibs。
重要
如果应用包是在发布模式配置中生成的,则框架依赖项将从 Microsoft 应用商店获取。 但是,如果应用是在调试模式配置中生成的,则会从文件中指定的 .appinstaller
位置获取依赖项。
文件不可访问
从 HTTP 终结点安装时,请务必验证是否可访问所有必需的文件。 验证此方法的最简单方法是遵循 Visual Studio 生成的 HTML 页面中提供的链接。 必须检查这些文件:
- 在 Visual Studio 生成的页面上的
.appinstaller
位置找到一个Additional Links > App Installer File
文件 -
.appx
、.appxbundle
、.misx
或msixbundle
文件,位于Visual Studio生成的页面Additional Links > Package Bundle
处
注释
根据您的配置,部署中可能涉及多个.appx
、.appxbundle
、.misx
或msixbundle
文件。 确保所有项均可访问。
使用错误的 MIME 类型提供的文件
从 HTTP 终结点进行安装时,Web 服务器必须在 标头中为所有文件配置Content-Type
。
无 Content-Length 标头时提供的文件
从 HTTP 终结点安装时,所有响应都需要包含正确的 Content-Length
标头。 其中包括 GET
以及 HEAD
请求。 确保所有这些项都正确指定其 Content-Length
。 未能这样做可能会导致类似 App installation failed with error message: Appinstaller operation failed with error code 0x80072F76. Detail: Unknown error (0x80072f76)
或其他错误。
应用安装失败,出现错误消息:参数不正确
由于目前不支持虚荣 URL,因此在使用 ms-appinstaller
协议时,源参数必须以结尾 .appinstaller
。 是否重定向到以.appinstaller
结尾的文件并不重要。 这也将以同样的方式失败。 解决此问题的唯一方法是确保原始 URL 以 .appinstaller
结尾。
隔离应用安装程序问题
如果应用安装程序无法安装应用,这些步骤将帮助确定安装问题。
验证应用包文件安装
将应用包文件下载到本地文件夹,并尝试使用 Add-AppxPackage PowerShell 命令进行安装。
将
.appinstaller
文件下载到本地文件夹,并尝试使用Add-AppxPackage -Appinstaller
PowerShell 命令进行安装。
应用安装程序事件日志
应用部署基础结构发出日志,这些日志通常用于通过 Windows 事件查看器调试安装问题: Application and Services Logs -> Microsoft -> Windows -> AppxDeployment-Server
在此文件夹中创建了其他日志文件: %LocalAppData%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir