MSIX 打包工具的已知问题和故障排除提示

本文描述使用 MSIX 打包工具将应用转换为 MSIX 时存在的已知问题,并提供故障排除提示供用户参考。 如果需要在 断开连接的环境中获取 .Msix 打包工具或驱动程序,请查看其他文档。

已知问题

获取 .MSIX 打包工具的最新预览版本

如果已选择加入我们的 预览体验计划,请确保具有正确版本的 .Msix 打包工具:

  • 请参阅 .MSIX 打包工具中的 " 关于 " 部分,查看你所在的版本。
  • 在此处 确定最新的有问必答预览版本,并确认已安装该版本的 .Msix 打包工具。
  • 请确保注册了试验的 MSA 是登录到 Microsoft Store 的帐户。
  • 通过计算机上的 Microsoft Store 手动更新 .msix 打包工具。 如果此选项可供你使用,请打开应用商店,转到 " 下载" 和 "更新",然后单击 " 获取更新"。 或者,搜索 .MSIX 打包工具,然后在 "产品" 页上,您可以提示它进行更新。
  • 若要安装 .MSIX 打包工具以供脱机使用,请按照 以下说明进行操作 ,以确保通过脱机过程获得最新的应用。

如果你有兴趣加入我们的预览体验计划,请单击 此处

.MSIX 打包工具驱动程序

.msix 打包工具驱动程序作为点播 (FOD) 包的功能提供 Windows 更新。 如果在计算机上禁用 Windows 更新服务,或者 Windows 有问必答航班环设置与计算机的操作系统内部版本不匹配,则将无法安装它。

如果在获取驱动程序时遇到问题,或者正在脱机环境中工作,则可以在 此处找到下载驱动程序的链接。

如果已下载驱动程序,并且在包转换过程中遇到问题,则可能是以下问题之一。

网络连接问题

以下错误代码可能表示遇到连接问题:

  • -2145107924 (0x8024402c)
  • -2145107945 (0x80244017)
  • -2145123272 (0x80240438)

Windows服务器更新服务 (WSUS) 、Configuration Manager 或影响 Windows 更新连接的组策略

以下错误代码可能表示计算机上的策略 Windows 更新连接:-2145124306 (0x8024002e) 。

如果你收到此错误代码,可能需要检查你的 环境设置和策略

驱动程序需要重新安装

在这种情况下,.MSIX 打包工具会在错误消息中通知你,驱动程序需要重新启动。 重新启动计算机,然后重新开始转换以解决此问题。

启动 .MSIX 打包工具驱动程序时出错0x80131500

如果在转换过程中遇到此错误,请在检查日志文件时找到如下所示的条目:

[Error] Error monitoring: Insufficient system resources exist to complete the requested service

此错误发生在工具启动新的系统事件跟踪会话时,但您已经超出了 Windows 可以在整个系统范围内创建的最大会话数。 如果超过默认限制 (64) 会遇到 ERROR_NO_SYSTEM_RESOURCES 错误,这将导致驱动程序失败。

解决方案是通过执行以下步骤来停止一些现有的事件跟踪会话:

  1. 打开 ""开始"菜单",并查找 "性能监视器"。
  2. 右键单击该程序,然后选择 "> 以管理员身份运行"。
  3. 在树菜单中,选择 "数据收集器集-> 事件跟踪会话"。
  4. 右键单击列表中的某些现有会话,然后选择 "停止"。

现在,可以重试通过 .MSIX 打包工具执行转换。

最低版本

需要注意一些功能,这些功能会自动更改 .MSIX 包中的最小版本支持。

强制 Microsoft store 版本控制要求

如果使用早于 1.2019.701.0.msix 打包工具版本转换现有的安装程序,则该工具将强制实施 Microsoft Store 版本控制要求,或使用其他工具创建未将最低版本设置为 10.0.16299.0 (Windows 10 版本 1709) 的包。 这会在将应用部署到 Windows 10 版本1709或更高版本时导致错误消息。

若要解决此问题,请打开 .Msix 打包工具 并通过 包编辑器 编辑应用。 打开清单并将元素的 MinVersion 属性设置 TargetDeviceFamily 为 "10.0.16299.0"。

<Dependencies>
    <TargetDeviceFamily> Name="Windows.Desktop" MinVersion="10.0.16299.0" MaxVersionTested = "10.0.17763.0" />
</Dependencies>

.MSIX 服务

在 .MSIX 打包工具的1.2019.1220.0 版本中,我们添加了有关 使用服务创建 .msix 包的支持。 由于服务支持的操作系统限制,.MSIX 打包工具会自动将 .MSIX 包支持的最低版本更改为10.0.19025.0。 这意味着,你不能在低于 Windows 10 版本2004的操作系统上安装具有服务的 .msix,但可以使用 .msix 打包工具向下创建 .msix 来 Windows 10 1809。 如果需要在较低的操作系统上安装此应用,请相应地更新最小版本,但请注意,对服务的支持将不起作用。

框架和驱动程序

如果应用需要框架,请确保在转换的监视阶段安装框架。 浏览日志以确保发生这种情况。 如果你的应用程序需要安装驱动程序,则需要评估是否需要此驱动程序才能正常运行。 .MSIX 当前不支持驱动程序安装。

远程计算机

如果正在使用远程 VM 进行转换时遇到问题,请参阅 远程计算机转换的设置说明

转换过程中的问题

  • 某些安装程序可能会转换失败并出现退出代码 259。 这表示安装程序衍生了一个线程,但未等待该线程完成。 换而言之,主线程已完成安装,但它衍生了一个仍在运行的线程,因此退出并返回了错误 259。 我们建议对 setup.exe 使用适当的安装选项。

签名过程中的问题

错误的 PE 证书 (0x800700C1)

当包包含具有损坏证书的二进制文件时,会出现此问题。 若要解决此问题,请使用 dumpbin.exe /headers 命令转储文件头,并检查是否有错误的元素。 手动重写标头以解决问题。 通常,.MSIX 打包工具会自动检测错误的标头。 如果此问题仍然存在,请提供文件反馈。 可在此处找到详细信息。

Device Guard 签名

请确保按照下列步骤操作,并在适用于企业的 Microsoft Store 中分配适当的角色。

证书已过期

  • 在对包进行签名时使用时间戳。
  • 您可以使用有效的签名或时间戳证书来让步。

您可以使用 批处理转换脚本来让步您的应用程序。

疑难解答

日志文件

不管转换是否成功,每次转换都会生成日志文件。 可在以下位置找到这些日志文件:

%localappdata%\packages\Microsoft.MsixPackagingTool_8wekyb3d8bbwe\LocalState\DiagOutputDir\

将会写入故障代码,指示转换期间出现的任何故障点。 错误代码易于理解。

来自远程设备或 VM 的日志文件

如果在远程设备或 VM 上执行转换,我们建议复制该设备提供的日志文件,并将其附加为反馈项的一部分。 这有助于我们更有效地诊断和解决问题。

可在以下位置找到远程转换生成的日志:%localappdata%\packages\Microsoft.MsixPackagingTool_8wekyb3d8bbwe\LocalState\DiagOutputDir\<Logs_#>\RemoteServer\Log.txt

如果你可以共享整个日志文件夹,该文件夹将包含本地客户端和远程服务器上发生的操作,则更有利。

常见问题

Makepri.exe/Manifest 转换错误

当包的清单出现问题时,会出现此错误。 若要确定问题,请切换到 "包编辑器" 并打开清单。 打开清单时,可以确定问题并提供正确的修补程序。

找不到文件

该文件可以是打开的或不存在的。 若要解决此问题,请添加相应的文件或关闭当前正在使用的文件。 请注意,如果打开, File not Found 将不会收到错误。 相反,你收到 或 Access Denied File in Use 错误。

文件类型关联

与 FTA 的文件类型关联 (因) 包而异。 MSIX 打包工具支持双击安装的文件关联。 例如,如果应用具有上下文菜单,则不会自动添加它,因此需要手动将其添加到清单。 有关 示例,请参阅 desktop4:FileExplorerContextMenus 清单元素。

具有参数的快捷方式

MSIX 当前不支持具有参数的快捷方式。 如果检测到安装程序包含这些参数,MSIX 将创建一个没有参数的磁贴。

安装目录

对于使用辅助驱动器执行应用转换的人来说,这更常见。 如果选择更改安装位置,它会更改所有文件的根目录。 这意味着 MSIX 打包工具需要知道所有这些文件的去向,并且将在转换期间捕获这些文件。

可以通过使用包支持框架写入来安装目录修补程序来解决此问题。 在 MSIX 工具中,我们默认已添加此功能,该功能允许此功能降低至 1809。 如果应用程序在 1709 中未运行且在 1809 中,则可能是问题。

发送反馈

发送反馈的最佳方式是通过 反馈中心。

  1. 打开“反馈中心”或按 Windows 键 + F
  2. 提供标题和必要的步骤以重现问题。
  3. 在“类别”下选择“应用”,然后选择“MSIX 打包工具”。
  4. 附加与转换相关的任何日志文件。 可以在上面提供的文件夹中找到日志。
  5. 附加转换的 MSIX 包(如果可能)。
  6. 单击“提交” 。

也可以直接在 MSIX 打包工具中向我们发送反馈,方法是转到“设置”下的“反馈”选项卡。

备注

可能需要等待 24 小时,我们才能收到你的反馈。 因此,如果使用 VM 来转换包,可能需要在转换后,持续打开 VM 并使其保持当前状态 24 小时。 此外,还可以手动将转换日志附加到反馈。