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

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

已知问题

获取 MSIX 打包工具的最新预览体验版

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

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

如果你有兴趣加入我们的预览体验计划,请转到成为 MSIX 打包工具预览体验成员!

MSIX 打包工具驱动程序

MSIX 打包工具驱动程序以按需功能 (FOD) 包的形式从 Windows 更新交付。 如果计算机上禁用了 Windows 更新服务,或者 Windows 预览体验成员外部测试圈设置与计算机的操作系统版本不匹配,则无法安装该服务。

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

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

网络连接问题

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

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

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

以下错误代码可能指示计算机上的策略正在影响 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.0MSIX 打包工具版本转换现有安装程序,该工具已强制实施 Microsoft Store 版本控制要求,或使用其他工具创建未将最低版本设置为 10.0.16299.0(Windows 10 版本 1709)的包。 将应用部署到 Windows 10 版本 1709 或更高版本时,这将导致错误消息。

若要解决此问题,请打开“MSIX 打包工具”并通过“包编辑器”编辑应用。 打开清单并将 TargetDeviceFamily 元素的 MinVersion 属性设置为 "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 包的支持。 由于支持服务的 OS 限制,MSIX 打包工具会将自动带有服务的 MSIX 包中支持的最低版本更改为 10.0.19025.0。 这意味着不能在低于 Windows 10 版本 2004 的操作系统上安装具有服务的 MSIX,但可以使用 MSIX 打包工具将该 MSIX 创建到 Windows 10 1809。 如果需要在较低版本的 OS 上安装此应用,请适当地更新最低版本,但请注意,对服务的支持将不起作用。

框架和驱动程序

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

远程计算机

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

转换期间的问题

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

签名期间的问题

错误的 PE 证书 (0x800700C1)

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

Device Guard 签名

请确保遵循这些步骤,并在适用于企业的 Microsoft Store 中分配适当的角色。

证书已过期

  • 对包进行签名时使用时间戳。
  • 可以使用有效的签名或时间戳证书弃用。

可以在 MSIX 工具包 - 脚本中使用批处理转换脚本来弃用应用。

疑难解答

日志文件

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

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

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

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

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

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

如果可以共享包含本地客户端以及远程服务器上发生的操作的整个 Logs 文件夹,则可为我们提供更大的便利。

常见问题

MakePri/清单翻译错误

当包的清单出现问题时,会发生此错误。 若要确定问题,请转到“包编辑器”并打开清单。 打开清单时,可以识别问题并提供正确的修补措施。

找不到文件

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

文件类型关联

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

带参数的快捷方式

MSIX 打包工具将捕获所有用户级快捷方式以及参数。 如果未正确检测到这些快捷方式,可以手动将其添加到清单。 有关更多详细信息,请参阅 desktop7:Shortcut

安装目录

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

可以使用包支持框架写入来修复此问题,以安装目录修补工具。 在 MSIX 工具中,我们默认将其添加为一项功能,允许此动作直至 1809 版本。 如果应用程序在 1709 版本中不生效,而在 1809 版本生效,则可能是问题。

发送反馈

发送反馈的最适当方式是通过反馈中心

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

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

注意

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