适用于 MSIX 打包工具的最佳做法

如果尚未配置环境进行转换,可以遵循我们的环境最佳做法建议,然后返回此处设置 MSIX 打包工具。 在开始任何转换之前,我们建议在 MSIX 打包工具中配置设置,以便每次简化工作流。 启动 MSIX 打包工具,然后转到 (页面右上方的"设置"齿轮,) 工具默认值。

配置 MSIX 打包工具默认值

  • 使用每个包生成命令行 此设置可让你自动生成一个命令行模板文件,以便以后通过命令行重新打包同一应用程序 (例如新版本) ,就可以为该应用程序预配置命令行模板文件。 需要提供安装程序才能在工作流期间生成模板文件。
  • 为准备计算机默认选择所有修补程序 此设置允许预先选择所有建议的修补程序,这样,在准备计算机阶段,只需选择禁用所有修复,而无需单独选择它们。
  • 强制执行Microsoft Store版本控制要求 如果打算通过 Microsoft Store 部署应用程序,应确保选中此选项,以便它符合存储要求 (这将影响包版本要求和最低 OS 版本支持) 。 如果未选中此选项,则包的最低版本将设置为 Windows 10 1709,并且你可以完全控制包版本的 4 位数字。 如果选中此选项,则包的最低版本将设置为 Windows 10 1809,并且版本必须以 .0 结尾 (例如 1.5.6.0) 。
  • 生成包时添加包完整性 如果选择此选项,包完整性将自动添加到生成的所有包中。 2004 和更高版本Windows 10包完整性。
  • 生成包时添加对 MSIX Core 的支持 使用此选项,可以将 MSIX Core 支持添加到生成的每个包。 选择后,这将提供一个下拉列表,用于指定要Windows版本。
  • 默认保存位置 指定将保存生成的包和关联文件的默认保存位置。
  • 默认安装程序浏览位置 指定要转换的安装程序的默认位置。
  • 服务器端口号 指定 MSIX 打包工具的服务器端口号。 如果打算使用远程计算机 进行转换,则 这一点十分相关
  • 环境首选项 为每个转换指定默认环境。
  • 签名首选项 在转换应用程序时,指定用于签名的默认选项。 需要为 MSIX 包签名才能安装它。 可以从几个用于签名首选项的选项中进行选择。
    • 使用 Device Guard 签名 签名 - 如果企业中没有受信任的证书,建议使用此选项。 在选择此选项之前 ,Device Guard 签名 需要执行一些步骤来启用该设置。
    • 使用证书 (.pfx) 签名 - 如果企业中已有一个受信任的证书,我们建议使用此选项。
    • 指定 .cer 文件 (不对) 签名 - 如果不希望在转换时签名,但想要确保在签名时发布者信息有效,可以选择此选项。
    • 不要对包进行签名。 - 如果要使用另一种方法对包进行签名,或在生成包后的稍后时间,可以选择此选项。 我们还建议将时间戳服务器 URL 添加到签名首选项 (在适用) ,以便即使证书过期,也可以安装应用程序。

备注

不支持使用 SHA1 证书对 MSIX 包格式应用程序进行签名。

其他设置

  • 文件和注册表排除项 虽然我们有一组默认的排除项,但我们建议查看并添加或删除任何排除项以满足特定需求。
  • 安装程序退出代码 如果你有特定的安装程序退出代码,并且想要在转换期间触发重启,可以在此处指定这些代码。 默认情况下,我们已添加常见警报,但如果从不想触发重启,可以将其删除。 请注意,如果使用 UI,打包工具永远不会自动触发重启,但如果使用的是命令行选项,则会自动触发重启。

还可按照这些说明导入或导出设置以 共享

重新打包过程中的最佳做法

使用 MSIX 打包工具时,我们还建议在重新打包过程中执行一些最佳做法:

  • 打包 ClickOnce 安装程序时,有必要将快捷方式发送到桌面(如果安装程序尚未执行该操作)。 一般情况下,始终记得为主应用可执行文件将快捷方式发送到桌面是很好的做法。
  • 当创建修改包时,需要在工具 UI 中声明父应用程序的包名称(标识名称),以便该工具在修改包的清单中设置正确的包依赖项。
  • 在"准备计算机 " 页中执行准备步骤是可选的,但强烈建议这样做,因为这有助于减少包中任何多余的数据。
  • 必须签名包才能安装它,但我们还建议为证书设置时间戳,以便即使证书过期,也可以安装应用程序。
  • 在"包信息"页中声明 安装位置字段是可选的 。 请确保此路径与应用程序安装程序的安装位置相匹配。

测试 MSIX 包的最佳实践

建议在干净环境中转换后测试 MSIX 包,如我们在环境设置过程中指定。 应在未安装以前安装程序的不同计算机上测试 MSIX 包,以确保在部署 MSIX 包时,它具有它所需的所有组件,并且不会从以前的安装程序中选取任何内容。 这可以通过新虚拟机(例如快速创建 VM)实现,或者通过还原转换计算机(如果在开始转换之前创建了检查点)实现。