应用功能清单

应用功能清单定义要包含在映像中的应用的位置。 与其他功能清单一样,应用功能清单需要包含在映像的 OEMInput.xml 文件的 <AdditionalFMs> 元素中,以便让应用功能清单中定义的应用包含在某个映像中。

对于第一个映像,可以使用 CreateWSKAppsFMUpdateWSKAppsFM将工作区的应用文件夹中的所有应用一次性添加到映像

示例 OEMAppsFM.xml 清单

<?xml version="1.0" encoding="utf-8"?>
<FeatureManifest 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns="http://schemas.microsoft.com/embedded/2004/10/ImageUpdate" Revision="1" SchemaVersion="1.2">
  <AppX>
    <AppXPackages>
      <PackageFile Path="%WSKWorkspaceRoot%\Apps\Calculator" Name="Microsoft.WindowsCalculator_8wekyb3d8bbwe.appxbundle" LicenseFile="Microsoft.WindowsCalculator_8wekyb3d8bbwe.xml" ID="Microsoft.WindowsCalculator_8wekyb3d8bbwe" Optional="false" />
      <PackageFile Path="%WSKWorkspaceRoot%\Apps\Frameworks" CPUType="x86" Name="Microsoft.VCLibs.x86.14.00.appx" ID="Microsoft.VCLibs.140.00_8wekyb3d8bbwe" Optional="false" />
      <PackageFile Path="%WSKWorkspaceRoot%\Apps\Frameworks" CPUType="amd64" Name="Microsoft.VCLibs.x64.14.00.appx" ID="Microsoft.VCLibs.140.00_8wekyb3d8bbwe" Optional="false" />
      <PackageFile Path="%WSKWorkspaceRoot%\Apps\Frameworks" CPUType="arm" Name="Microsoft.VCLibs.arm.14.00.appx" ID="Microsoft.VCLibs.140.00_8wekyb3d8bbwe" Optional="false" />
      <PackageFile Path="%WSKWorkspaceRoot%\Apps\ContosoApp" Name="Contoso.Sampleapp_8wekyb3d8bbwe.appxbundle" LicenseFile="Contoso.Sampleapp_8wekyb3d8bbwe.xml" ID="Contoso.Sampleapp_8wekyb3d8bbwe" Optional="false" />
    </AppXPackages>
  </AppX>
</FeatureManifest>

可选应用

Windows 系统工具包中的脚本会配置应用功能清单中的每个应用,以便让它们包含在某个映像中。 你可以修改应用功能清单,让某些应用必须专门添加到 OEMInput.xml,以便包含在映像中。

应用功能清单中包含的每个应用都有一个 Optional 属性,该属性控制是否将应用自动包含在映像中,或者是否需要通过将应用的 ID 添加到 OEMInput.xml 来手动将它包含在映像中。

如果对多个映像使用单个附件集,将应用标记为可选可以使应用包括在特定的映像配置中。 此方案中的应用功能清单可以包含附件集中所有的应用,同时还指定:

  • 要包含在所有映像中的应用基本集
  • 一组可选的应用,可以手动将它们添加到特定的 OEMInput.xml 文件

标记为可选的应用不会包含在任何映像中,除非在映像设计中专门包含它们。 这样,你就可以针对多个映像重复使用应用功能清单。

使用可选的应用

将应用指定为可选,并手动将其添加到映像:

  1. 选择要标记为可选的应用。

  2. 在应用功能清单中,将应用的 Optional 属性更改为 "true"。 这会将应用标记为可选,并且应用将不再包含在所有映像中。

    <PackageFile Path="%WSKWorkspaceRoot%\Apps\ContosoApp" Name="Contoso.Sampleapp_8wekyb3d8bbwe.appxbundle" LicenseFile="Contoso.Sampleapp_8wekyb3d8bbwe.xml" ID="Contoso.Sampleapp_8wekyb3d8bbwe" Optional="true" />
    
  3. 记下应用 ID,例如 ID="Contoso.Sampleapp_8wekyb3d8bbwe"。 请勿更改此 ID,否则映像将无法生成。

    如果已从 Microsoft Store 获取了该应用,可在应用许可中查找包系列名称。 使用文本编辑器打开许可文件,然后使用 PFM 标记之间的值。

  4. 通过将 ID 添加为 OEMInput.xml 中的 <AppXID> 值,将可选应用添加到映像中:

    <AppXOptionalPackages> 
      <AppXID>Contoso.Sampleapp_8wekyb3d8bbwe</AppXID>
    </AppXOptionalPackages> 
    

还可通过添加 CPUType="(arch)",将应用指定为特定于体系结构的应用。 生成映像时,将排除与体系结构类型不匹配的文件。

SetAppsRegion 命令行语法

SetAppsRegion -AppName <AppName> -Region <Region> [-OEMAppsFMPath <path>]
SetAppsRegion -AppName HelloWorld_1.0.0.0_x64.appx -Region en-us,de-de
参数 说明
-AppName 应用的文件名。 在应用的 <PackageFile> 元素中使用 Name 属性。
-Region 希望应用可用的区域。 如果要指定多个区域,请用 , 分隔区域:-Region en-us,de-de
-OEMAppsFMPath 应用功能清单的路径。 默认为 %WSKWorkspaceRoot%\FMFiles\OEMAppsFM.xml

另请参阅

驱动程序功能清单