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

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

配置 MSIX 打包工具默认值

  • 使用每个包生成命令行 此设置使你能自动生成命令行模板文件,以便在以后通过命令行重新打包同一应用程序(例如新版本)时,可以获得该应用程序的预配置命令行模板文件。 你需要提供安装程序才能在工作流期间生成模板文件。
  • 默认为准备计算机选择所有修复 此设置允许预先选择所有建议的修复,以便在准备计算机阶段,只需选择禁用所有修复,而无需单独选择它们。
  • 强制实施 Microsoft Store 版本控制要求 如果计划通过 Microsoft Store 部署应用程序,应确保已选中此项,使其符合 Store 要求(这将影响程序包版本要求和最低操作系统版本支持)。 如果此选项未选中,则程序包将具有设置为 Windows 10 1709 的最低版本,并且你可完全控制包版本的 4 位数字。 如果此选项已选中,则程序包的最低版本将设置为 Windows 10 1809,且版本必须以 .0 结尾(例如 1.5.6.0)。
  • 生成包时添加包完整性 如果选择此选项,包完整性将自动添加到生成的所有包。 Windows 10 2004 及更高版本支持包完整性
  • 在生成包时添加对 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)来实现,或者在开始转换之前有创建检查点的情况下还原转换计算机。