适用于移动设备的可预装应用

将预装应用添加到移动映像

创建可预装应用的过程类似于创建标准应用。 在 Windows 10 开发人员中心,开发人员提交要预安装在 Windows 10 移动版映像上的应用。 提交应用后,你可以请求预安装包、下载它并将其添加到映像中,如本主题所述。

若要添加可预装应用,需要执行以下操作:

  • 请求预安装包
  • 为可预装应用创建 .provxml
  • 通过自定义应答文件将应用添加到映像中
  • 生成映像

请求预安装包

已将应用添加到开发人员中心的开发人员可以为应用请求预安装包。 然后,他们可以将预安装包直接提供给与他们合作的 OEM。 如果你是将此应用程序添加到 OS 映像的 OEM,应要求应用程序开发人员下载应用程序包,然后将下载的 zip 文件提供给你。 你不能直接访问他们的开发人员帐户。 获得预安装包后,可以继续执行其余步骤。 有关开发人员如何为 OEM 生成预安装包的详细信息,请参阅为 OEM 生成预安装包

为可预装应用创建 .provxml 文件

将预装应用添加到 Windows 10 移动版 OS 映像需要一个 .provxml 配置文件,以指定安装参数和 Windows 10 应用商店目录标识符。 具体来说,它应该指定 .appx 文件的路径、许可证文件的路径和应用商店目录 ID。 当应用连接到应用商店服务以检查更新时,将使用这些信息。 为了尽量减少出错的机会,开发人员门户为应用提供了相应的 XML。 以下是 .provxml 的外观示例。

<?xml version="1.0" encoding="UTF-8" ?>
<wap-provisioningdoc>
   <characteristic type="AppInstall">
      <characteristic type="AppXPackage">
         <parm name="ProductID" value="{09f2d20a-7076-4970-80ac-1bc24c171d2e}"/>
         <parm name="AppXPath" value="c:\Programs\CommonFiles\Xaps\SampleApp.appx"/>
         <parm name="LicensePath" value="c:\Programs\CommonFiles\Xaps\SampleAppLicense.xml"/>
         <parm name="InstanceID" value="{03e9a435-3000-11db-89ca-0019b92FFFFF}"/>
         <parm name="OfferID" value="{03e9a435-3000-11db-89ca-0019b92FFFFF}"/>
         <parm name="PayloadID" value="{03e9a435-3000-11db-89ca-0019b92FFFFF}"/>
         <parm name="UninstallDisabled" value="false"/>
         <parm name="FullyPreInstall" value="false"/>
         <parm name="ForceUpdate" value="false"/>
      </characteristic>
   </characteristic>
</wap-provisioningdoc>

注意

预装应用的 provxml 文件必须遵循规定的命名约定。 你必须使用 MPAP_name_index.provxml,其中 name 和 index 可以是任意字符串。 通常,name 是包含预装应用的更新包的名称,index 是一个字符串,用于区分具有相同名称的 provxml 文件。 通常,index 表示为一个数字,例如 01。

provxml 标志

以下标志可在 provxml 中使用。

标记 说明
UninstallDisabled 此标志控制用户是否可以卸载预装应用。 当设置为 FALSE(默认值)时,用户可以卸载预装应用。 设置为 TRUE 时,用户无法卸载应用。 此标志只能通过 provxml 设置,不能通过应用商店更新替代。 只有具有更新的 provxml 文件的设备更新才能更改此值。 理想情况下,为了维护用户体验,此标志应仅针对对手机功能至关重要的应用设置为 TRUE。
ForceUpdate 此标志允许 OS 更新映像中的应用在更新到 Windows 10 移动版之前,尝试覆盖已安装在手机上的应用的现有版本。 此标志的默认值为 FALSE。 请注意,由于应用更新是强制性的,如果已安装的应用是针对早期版本的 OS 开发的,则将此标志设置为 TRUE 可能会导致功能降级。 通常,仅当 Windows 10 移动版应用必须在更新后立即安装到手机上(即使这意味着对已安装的应用版本降级)时才应使用此标志。
FullyPreinstall 此标志控制应用是否在首次启动/更新期间绑定 MDIL,或者是否延迟到这些操作完成之后。 延迟 MDIL 绑定是未预先固定到“开始”菜单的应用的默认行为,它允许用户尽快返回到手机。 当绑定延迟到首次启动/更新完成后,应用图标将显示为灰色,状态为“正在安装”,并且在延迟绑定完成之前无法运行。 完成所有延迟绑定所需的时间取决于延迟预加载应用的数量和用户的活动。 标志行为如下所示:
  • true:MDIL 绑定发生在首次启动或更新完成之前。
  • false:如果应用预先固定到“开始”菜单,则在首次启动或更新完成之前执行 MDIL 绑定。 如果应用未预先固定到“开始”菜单,则 MDIL 绑定延迟到首次启动或更新完成后。
通常,此值应保留为默认值 (FALSE),除非应用必须在首次启动或 OS 更新后立即可以运行。 应将此标志设置为 TRUE 的一些示例情况如下:
  • OEM 扩展应用
  • 电话拨号器安装的应用
  • OEM 服务代理
  • 关键系统设置应用

将应用添加到映像

使用 customizations.xml 应答文件将预装应用添加到 OS 映像。 若要创建 customizations.xml 应答文件,请首先安装 Windows 配置设计器,然后创建预配程序包。 然后可以打开项目文件夹,找到 customizations.xml 文件。

若要在映像中包含预装应用,必须使用适当的定义属性将 Application 元素添加到 customizations.xml 文件。 以下代码示例演示如何将应用添加到自定义应答文件以进行预安装。

    <Applications>
      <Application License="$(CAFE_OUTPUT_DIR)\content\App_MobileTV_7e7cc86e_e1c0_476a_ac88_db3c9ffffabb\MobileTV_License.xml" ProvXML="$(CAFE_OUTPUT_DIR)\content\App_MobileTV_7e7cc86e_e1c0_476a_ac88_db3c9ffffabb\MPAP_MobileTV_01.provxml" Source="$(CAFE_OUTPUT_DIR)\content\App_MobileTV_7e7cc86e_e1c0_476a_ac88_db3c9ffffabb\MobileTV.xap"/>
      <Application License="$(CAFE_OUTPUT_DIR)\content\App_AudioSettings_373cb76e_7f6c_45aa_8633_b00e85c73261\audio_License.xml" ProvXML="$(CAFE_OUTPUT_DIR)\content\App_AudioSettings_373cb76e_7f6c_45aa_8633_b00e85c73261\MPAP_audio_01.provxml" Source="$(CAFE_OUTPUT_DIR)\content\App_AudioSettings_373cb76e_7f6c_45aa_8633_b00e85c73261\audio.appx"/>
      <Application License="$(CAFE_OUTPUT_DIR)\content\App_MicrosoftHealthApp_0168b504_ca18_46b8_b60a_0f6fdc271c81\MicrosoftHealthApp_License.xml" ProvXML="$(CAFE_OUTPUT_DIR)\content\App_MicrosoftHealthApp_0168b504_ca18_46b8_b60a_0f6fdc271c81\MPAP_MicrosoftHealthApp_01.provxml" Source="$(CAFE_OUTPUT_DIR)\content\App_MicrosoftHealthApp_0168b504_ca18_46b8_b60a_0f6fdc271c81\MicrosoftHealthApp.appxbundle"/>
    </Applications>

注意

provxml 文件必须放在“$(runtime.commonfiles)\Provisioning\OEM”目录中。 许可证文件和应用包(.xap 或 .appx)必须放在“$(runtime.commonfiles)\xaps”目录中

配置 customizations.xml 应答文件后,使用 Windows 配置设计器命令行界面生成映像。 有关说明,请参阅 Windows 配置设计器命令行界面

生成映像

按照使用 imggen 生成自定义移动映像中的步骤操作