通过任意桌面安装程序(MSI、EXE、ClickOnce 或 App-V)创建 MSIX 包

可以通过 MSIX 打包工具使用以下任何选项创建 MSIX 应用程序包:

  • MSI
  • EXE
  • ClickOnce
  • App-V
  • Script
  • 手动安装

本文档将指导你了解如何获取你拥有的任何现有资产,并将其转换为 MSIX。

在开始转换之前,我们建议你确保自己了解安装程序,以及它是否会转换。

我们还建议遵循以下最佳做法来为转换工作配置环境MSIX 打包工具

注意

MSIX 打包工具当前支持 APP-V 5.1。 如果具有 App-V 4.x 的包,建议使用源安装程序转换为 MSIX。

首次启动该工具时,系统会提示你同意发送遥测数据。 必须注意,共享的诊断数据仅来自应用,永远不会用于识别你的身份或与你联系。

创建应用程序包是最常用的选项。 使用此选项时,将会通过某个安装程序或者通过手动安装应用程序有效负载来创建 MSIX 包。

Pic 1

打包方法

选择适用于你的转换计算机的选项:

  • 如果已在干净的环境中工作,请选择“在此计算机上创建包”

  • 如果要连接到现有虚拟或远程计算机,请选择“在远程计算机上创建包”

  • 如果要执行转换操作的计算机上有本地虚拟机,请选择“在本地虚拟机上创建包”

    • 请注意,仅支持 Hyper-V 虚拟机,如果想要使用其他虚拟化产品,可以使用远程计算机选项进行连接。
  • 点击“下一步”

准备计算机

接下来,“准备计算机”页会提供用于准备要打包的计算机的选项。

“MSIX 打包工具驱动程序”是必需的,如果未启用该驱动程序,该工具会自动尝试启用它。 该工具首先会检查 DISM,以确定是否已安装该驱动程序。 如果遇到问题,请尝试检查故障排除文档,如果问题仍然存在,请提交反馈中心问题

注意

MSIX 打包工具驱动程序会监视系统,以捕获安装程序在系统上所做的更改,使 MSIX 打包工具能够基于这些更改创建包。

Windows 更新处于活动状态 在打包期间,我们将暂时禁用 Windows 更新,以免收集任何无关的数据。

  • “等待重新启动”复选框默认已禁用。 如果系统提示等待中的操作需要重新启动,则你需要手动重启计算机,然后再次启动该工具。 这只是建议的操作,而不是必需的。

  • [可选] 选中“Windows Search 处于活动状态”对应的复选框,如果你选择禁用搜索服务,请选择“禁用所选项”。

    • 这只是建议的操作,而不是必需的。
    • 禁用后,该工具会将状态字段更新为“已禁用”。
  • [可选] 选中“SMS 主机处于活动状态”对应的复选框,如果你选择禁用主机服务,请选择“禁用所选项”。

    • 这只是建议的操作,而不是必需的。
    • 禁用后,该工具会将状态字段更新为“已禁用”。

计算机准备完成后,单击“下一步”。

选择要打包的安装程序

首先需要了解要转换的安装程序会发生什么。 使用这些安装程序中的任何一个,可以在此处指定它来简化工作流,也可以在稍后在工作流中安装时手动运行它。

MSI 安装程序

如果要转换 .msi 安装程序,只需浏览它并指定 .msi。 如果你有随附的 .mst 或 .msp 文件,则可以在安装程序参数字段中指定。 此处指定 .msi 的好处之一是我们可以从中拉取所有包信息,从而节省下一步转换的时间。

App-V 安装程序

如果使用 App-V 进行转换,则这是一个非常简单的过程。 只需指定 App-V 文件,即可快速跟踪到创建 MSIX 页面。 这是因为包的清单只需转换为 MSIX 包,然后将其用作 MSIX。 此处的注意事项是,该工具仅支持 App-V 5.1 - 如果 App-V 版本为 4.x,我们建议你获取源安装程序,然后将其直接转换为 MSIX。

EXE 安装程序

如果要转换 .exe 安装程序,可以在此时指定安装程序。 由于缺少与 exe 的格式一致性,因此需要手动输入安装程序的包信息。

ClickOnce 安装程序

如果要转换 ClickOnce 安装程序,可以指定此时的安装程序。 与 .exe 一样,需要手动输入安装程序的包信息。

脚本

如果使用脚本安装应用程序,可以在此处指定命令行。 或者,可以将此字段留空,并在安装阶段手动运行脚本。

手动安装

如果要手动运行安装程序或手动执行安装程序的操作,可以将安装程序字段留空,并在安装阶段执行安装程序所需的操作。

如果尝试生成转换模板文件,则无法在不指定安装程序的情况下执行此操作。

如果有任何安装程序参数,则可以在提供的字段中输入所需的参数。 此字段接受任何字符串。

签名首选项

在“签名首选项”下,选择签名选项。 还可以在设置中将其设置为默认值,这将在每次转换时节省一些步骤。

  • “使用 Device Guard 签名进行签名” 此选项允许登录到已配置为与 Device Guard 签名一起使用的 Microsoft Active Directory 帐户,这是 Microsoft 提供的签名服务,无需提供自己的证书。 点击此处详细了解如何设置帐户和 Device Guard 签名。
  • “使用证书 (.pfx) 进行签名” 浏览并选择 .pfx 证书文件。 如果证书受密码保护,请在密码框中键入密码。
  • 指定 .cer 文件(不签名) 此选项允许指定 .cer 文件。 如果不想对包进行签名,但希望确保发布者信息与将用于签名的证书的使用者匹配,这非常有用。
  • “不对包签名” 如果稍后将对自己的包进行签名,请选择此选项。 注意:如果未签名,则无法安装 MSIX 包
  • 签名时,我们强烈建议将时间戳添加到证书,以便证书可以在其到期日期之后仍然有效。 接受的格式为 RFC 3161 时间戳服务器 URL

注意

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

单击“下一步”继续。

包信息

选择在现有虚拟机上打包应用程序后,必须提供有关应用的信息。 该工具会尝试根据安装程序提供的信息自动填充这些字段。 如果需要,始终可以选择更新条目。 带星号 * 的字段是必填的。 如果条目无效,系统会提供内联帮助。

  • 包名称:
    • 必填字段,对应于清单中的包标识名称,用于描述包的内容。
    • 不会向最终用户显示。
    • 区分大小写,不能包含空格。
    • 可以接受由字母数字、句点和短划线字符构成的,长度为 3 到 50 个字符的字符串。
    • 不能以句点结尾,且不能是以下值之一:“CON”、“PRN”、“AUX”、“NUL”、“COM1”、“COM2”、“COM3”、“COM4”、“COM5”、“COM6”、“COM7”、“COM8”、“COM9”、“LPT1”、“LPT2”、“LPT3”、“LPT4”、“LPT5”、“LPT6”、“LPT7”、“LPT8”和“LPT9”。
  • 包显示名称:
    • 必填字段,对应于清单中的包,在开始菜单和设置页中向用户显示友好的包名称。
    • 该字段接受长度为 1 到 256 个字符的字符串,并且可本地化。
  • 发布者名称:
    • 必填字段,对应于包,用于描述发布者信息。
    • “发布者”属性必须与用于对包签名的证书的发布者使用者信息相匹配。
    • 此字段接受长度为 1 到 8192 个字符且符合可分辨名称正则表达式的字符串:"(CN | L | O | OU | E | C | S | STREET | T | G | I | SN | DC | SERIALNUMBER | Description | PostalCode | POBox | Phone | X21Address | dnQualifier | (OID.(0 | [1-9][0-9])(.(0 | [1-9][0-9]))+))=(([^,+="<>#;])+ | ".")(, ((CN | L | O | OU | E | C | S | STREET | T | G | I | SN | DC | SERIALNUMBER | Description | PostalCode | POBox | Phone | X21Address | dnQualifier | (OID.(0 | [1-9][0-9])(.(0 | [1-9][0-9]))+))=(([^,+="<>#;])+ | ".")))*"。
  • 发布者显示名称:
    • 必填字段,对应于清单中的包,在应用安装程序和设置页中向用户显示友好的发布者名称。
    • 该字段接受长度为 1 到 256 个字符的字符串,并且可本地化。
  • 版本:
    • 必填字段,对应于清单中的包,用于描述包的版本号。
    • 此字段接受采用四部分表示法的版本字符串:"Major.Minor.Build.Revision"。
  • 说明:
    • 此字段可选。
  • 安装位置:
    • 这是安装程序要将应用程序有效负载复制到的位置(通常是 Programs Files 文件夹)。
    • 此字段是选填的,但在 Program Files 文件夹之外安装应用有效负载时建议填写。
    • 浏览到并选择文件夹路径。
    • 在执行每项应用程序安装操作时,请确保此文件与安装程序的安装位置相匹配。
  • 向此包添加对 MSIX Core 的支持。
    • 选中后,此检查框将显示一个下拉列表,该下拉列表允许你为要生成的包选择 MSIX Core 支持的 Windows 版本。

安装

  • 现已进入安装阶段,该工具会监视并捕获应用程序安装操作。
  • 该工具将在之前指定的环境中启动安装程序,需要完成安装程序向导才能安装应用程序。
    • 请确保安装路径与前面在包信息页中定义的内容相匹配。
    • 可能需要在桌面上为新安装的应用程序创建一个快捷方式。
    • 完成应用程序安装向导后,请确保完成或关闭安装向导。
    • 如果需要运行多个安装程序,此时可以手动运行。
    • 如果应用需要其他必备组件,则你现在需要安装这些组件。
    • 如果应用程序需要 .Net 3.5/20,请将可选功能添加到 Windows。
  • 如果以前未指定安装程序,可在此处手动运行安装程序或脚本。
  • 如果安装程序需要重启,则可以执行手动重启,或使用“重启”按钮执行重启,并在重启后返回到转换过程中的此点。
  • 安装完应用程序后,单击“下一步”。

管理初始启动任务

此页显示工具捕获到的应用程序可执行文件。 我们建议启动应用程序至少一次,以捕获所有初始启动任务。

可以通过选择可执行文件,然后单击“运行”来启动可执行文件。 还可以通过选择它,然后单击“删除”来删除任何不必要的入口点。

如果有多个应用程序,请选中对应于主入口点的框。 如果在此处未看到应用程序 .exe,请手动浏览并运行它。 然后刷新列表

单击“下一步”。此时会出现一个弹出窗口,提示你确认已完成应用程序的安装和初始启动任务的管理。

  • 如果已完成,请单击“是,继续”。
  • 如果尚未完成,请单击“否,未完成”。 随后你会返回到上一页,可在其中启动应用程序、安装或复制其他文件和 DLL/可执行文件。

服务报表

从 MSIX 打包工具的 1.2019.1220.0 版本开始,可以使用服务转换安装程序,因此我们添加了“服务”报表页。 如果未检测到任何服务,你仍将看到此页面,但它将为空,其中包含一条消息,指出页面顶部未检测到任何服务。

“服务”报表页列出了转换过程中在安装程序中检测到的服务。 包含所需的所有信息且受支持的服务将显示在“包含”表中。 需要其他信息、需要修复或不受支持的服务将显示在“排除”表中。

若要修复服务或查看有关服务的其他数据,请双击表中的服务条目以查看弹出窗口,其中包含有关该服务的详细信息。 如果需要,可以编辑其中一些信息。

  • “项名”:服务的名称。 该项不能编辑。
  • “说明”:服务条目的说明。
  • “显示名称”:服务的显示名称。
  • “图像路径”:服务可执行文件的位置。 该项不能编辑。
  • “启动帐户”:服务的启动帐户。
  • “启动类型”:服务的启动类型。 支持“自动”、“手动”和“禁用”
  • “参数”:服务启动时要运行的参数。
  • “依赖项”:服务的依赖项。

修复服务后,可以将其移动到“包含”表,也可以选择将其保留在“排除”表中(如果不希望它在最终包中)。 有关详细信息,请查看服务文档

创建包

  • 提供用于保存 MSIX 包的位置。
  • 默认情况下,包保存在本地应用数据文件夹中。
  • 可以在“设置”菜单中定义默认保存位置。
  • 如果要生成转换模板文件,同时不希望该模板文件位于 MSIX 包所在的同一位置,还可以为该模板文件指定不同的保存位置。
  • 在保存 MSIX 包之前若要继续编辑包的内容和属性,可以选择“包编辑器”转到包编辑器。
  • 单击“创建”以创建 MSIX 包。

创建包后,会出现一个弹出窗口。 此弹出窗口中包含保存位置,链接到新建包的文件位置。 它还包含指向 MSIX 打包工具日志文件位置的链接。 可以关闭此弹出窗口并重定向到欢迎页。 还可以选择“包编辑器”来查看和修改包的内容与属性。