配置设置

本主题介绍如何为工厂 OS 映像配置经典设置自定义项。 这些设置将包含在映像中,并应用于使用该映像刷写的所有设备。

生成设置自定义文件

使用 WSK 中的 CreateWSKCustomizationsXML 脚本生成设置自定义文件:

  1. 装载 WSK ISO 并以管理员身份打开 Windows 系统工具包环境:

    D:\SetWSKImagGenEnv.cmd
    
  2. 将工作区设置为工作区根:

    cd c:\workspace
    SetWSKWorkspaceRoot.cmd
    
  3. 生成自定义 XML 文件:

    CreateWSKCustomizationsXML
    
    • 你可以选择通过添加 -categorize 选项来创建一组自定义 XML 文件。 这会生成一组按类别划分的自定义 XML 文件:

      CreateWSKCustomizationsXML -Categorize
      
    • 你还可以进一步手动分隔每个自定义 XML,前提是你创建的自定义 XML 文件没有在多个自定义 XML 中重复相同的 <FeatureArea>

    CreateWSKCustomizationsXML 利用工作区配置文件来减少必需参数的数量。 可用的可选参数如下:

    参数 选项
    -Categorize 将 CustomizationXML 拆分成多个文件,每个自定义项都有一个文件。 如果未使用此选项,则会创建一个大型自定义文件
    -OutputFolder 指定在其中创建自定义 XML 的文件夹

    注意

    此脚本将覆盖输出目录中任何现有的自定义 XML 文件。 如果已有自定义 XML 文件,请在运行此脚本前对其进行备份,或使用 -OutputFolder 选项指定其他输出文件夹。

  4. 脚本运行后,工作区的 %WSKWorkspaceRoot%\OEMCustomization\CustomizationXML 中会有一个或多个设置配置文件。

自定义设置自定义文件

  1. 在文本编辑器中打开设置自定义文件。

  2. 设置 <Identity> 元素中的属性:

    <Identity OwnerName="OEMName" ReleaseType="Test" />
    
    属性 说明
    OwnerName 创建映像的实体的名称
    ReleaseType 这应与映像的 ReleaseTypeOEMinput 元素匹配。 有效值为 Test。 请参阅下文,了解如何选择正确的值。
  3. 配置设置。 每个设置都位于名为 <Customization> 的 XML 元素中。 <Customization> 元素如下所示:

    <Customization Name="SplitLayoutFile">
      <ReadOnlyMetadata Description="OEM/SV-owned split layout file. (File must be named DeviceLayoutOEM.xml)" Type="FILE" DefaultValue="" SupportedExtensions="xml" />
      <Value />
    </Customization>
    

    此示例显示了设置的各种属性,涵盖设置和可能值的相关信息。 它还有一个名为 <Value> 的空元素,你将使用它来配置设置。

  4. 通过修改要自定义的设置的 <Value> 元素来自定义设置。 完成后,保存 XML 文件。

    以下代码片段显示了使用 DeviceLayoutOEM.xml 文件路径填充的 SplitLayoutFile 设置。

    <Customization Name="SplitLayoutFile">
      <ReadOnlyMetadata Description="OEM/SV-owned split layout file. (File must be named DeviceLayoutOEM.xml)" Type="FILE" DefaultValue="" SupportedExtensions="xml" />
      <Value>%WSKWorkspaceRoot%\OEMCustomization\DeviceLayout\DeviceLayoutOEM.xml</Value>
    </Customization>
    

生成设置自定义包并将其添加到 OEMInput 文件

注意

为了更快地进行自定义测试,生成自定义包后,可以将它们直接添加到测试映像

  1. 以管理员身份打开 Windows 系统工具包环境

  2. 设置工作区根:

    cd c:\workspace
    SetWSKWorkspaceRoot.cmd
    
  3. WSK 中的 CreateWSKCustomizationsFM 脚本会生成设置包和包含设置包的设置自定义功能清单。 然后,该脚本将自定义功能清单添加到 OEMInput 文件。 默认情况下,CreateWSKCustomizationsFM 将处理工作区的 %WSKWorkspaceRoot%\OEMCustomization\CustomizationXML 文件夹中的所有自定义 XML 文件。

    CreateWSKCustomizationsFM
    

    注意

    此命令不再接受 -OEMInput-OEMName-Architecture 参数。

    • 如果创建了一组已分类的自定义文件,请使用 -customizationXML 选项指向保存自定义 XML 文件的文件夹。 例如:

      CreateWSKCustomizationsFM -customizationXML %WSKWorkspaceRoot%\OEMCustomization\CustomizationXML
      

    CreateWSKCustomizationsFM 利用工作区配置文件来减少必需参数的数量。 你可以将以下可选参数与 CreateWSKCustomizationsFM 结合使用:

    参数 选项
    -OEMPackagesFolder 指定存储自定义包的文件夹路径。 此文件夹中的所有自定义包都将包含在功能清单中。 默认路径为 %WSKWorkspaceRoot%\OEMCustomization\CustomizationXML
    -Version 用于添加一个追加到包名称的版本号。 格式为 xxxx.y.z.z。 默认值为 1000.0.0.0
    -FMFile 用于指定自定义功能清单文件(定义自定义设置)的路径。 此 FM 会添加到 OEMInput 文件中,这样这些设置就会包含在映像中。 默认值为 %WSKWorkspaceRoot%\FMFiles\OEMCustomizationsFM.xml
    -CustomizationXML CustomizationXML 文件或包含自定义文件的文件夹的路径。 如果指定文件夹路径,则所有自定义设置 xml 文件都会得到处理,并会输出单个设置 FM。 如果未指定此选项,则默认路径为 %WSKWorkspaceRoot%\OEMCustomization\CustomizationXML.xml
  4. 验证 OEMCustomizationsFM.xml 文件是否在 OEMInput 文件中。 你将在 <AdditionalFMs> 元素中找到它:

    <AdditionalFMs>
    ...
      <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\OEMAppsFM.xml</AdditionalFM>
      <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\OEMDriversFM.xml</AdditionalFM>
      <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\OEMCustomizationsFM.xml</AdditionalFM>
    </AdditionalFMs>
    
  5. 生成映像。 生成映像时,已配置的设置将在映像中设置。

    注意

    可以将自定义包直接添加到映像,以便在测试时更快进行迭代。 有关详细信息,请参阅修补工厂 OS 映像以进行测试

设置自定义文件架构

设置自定义文件由多个元素组成,这些元素将设置分类为不同的组。 每个组内的设置都是相关的。 每个设置都具有显示如何配置每个设置的属性。 若要配置设置,请在要自定义的设置的 <Value> 元素中添加值。

<?xml version="1.0" encoding="utf-8"?>
<CustomizationFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SchemaVersion="1.0" BuildArch=" " Product=" " BuildInfo=" " xmlns="http://schemas.microsoft.com/embedded/2004/10/ImageUpdate">
  <Identity OwnerName="" ReleaseType="" />
  <Categories>
    <Category Name="Default">
      <FeatureAreas>
        <FeatureArea Name="Area1">
          <Customizations>
            <Customization Name="Example1">
              <ReadOnlyMetadata Description="Attributes in this element describe values for configuring this setting" Type="REG_DWORD" DefaultValue="1" Minimum="0" Maximum="1" />
              <Value />
            </Customization>
            <Customization Name="Example2">
              <ReadOnlyMetadata Description="Set the value element to configure settings" Type="REG_SZ" DefaultValue="" />
              <Value />
            </Customization>
          </Customizations>
        </FeatureArea>
      </FeatureAreas>
    </Category>
    <Category Name="Category2">
      <FeatureAreas>
        <FeatureArea Name="Area2">
          <Customizations>
            <Customization Name="Example3">
              <ReadOnlyMetadata Description="Set the value element to configure settings" Type="REG_SZ" DefaultValue="" />
              <Value />
            </Customization>
          </Customizations>
        </FeatureArea>
      </FeatureAreas>
    </Category>
  </Categories>
</CustomizationFile>

审核映像中的设置

生成映像时,工作区输出文件夹将包含一个提供设置相关信息的日志。 有关详细信息,请参阅 WCOSCustomizationReport.xml