如何在设备进入市场后支持 OEM 生成的电源预配包

在设备映像中包含电源配置预配包之前,请考虑在设备进入市场后更新 OEM 生成的电源预配包的机制。 下面是有关映像配置和更新的其他说明。

  1. OEM 生成的电源预配包需要从 PBR 迁移中排除,以避免重复条目,请参阅排除文件和设置

    • 若要测试排除文件是否成功,需要有实现了 PBR 的工厂映像。 %WINDIR%\Provisioning\Packages 文件夹中也应只有一个 OEM 生成的电源预配包。

    示例:

    <migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/MyFileExclusions">
      <component type="Documents" context="System">
        <displayName>File exclusions</displayName>
        <role role="Data">
          <rules>       
            <unconditionalExclude>
              <objectSet>
                <pattern type="File">%SystemDrive%\Windows\Provisioning\Packages* [*]</pattern>
              </objectSet>
            </unconditionalExclude>
          </rules>
        </role>
      </component>
    </migration>
    
  2. 由 OEM 生成的电源预配包配置的自定义项将需要由 OEM 来进行维护。 因此,你应该确保具有以后更新这些自定义项的机制。

    • 包的更新由驱动程序包和 Windows 更新处理

    • 你将需要确保设备上有电源组件的现有设备驱动程序,并且 INF 文件设置为复制 PPKG

    • 请按照本文档中的说明来创作 INF 文件

      示例:

      [SourceDisksNames]
      1 = %DiskId1%
      
      [SourceDisksFiles]
      ContosoPowerCustomization.ppkg = 1
      ContosoPowerCustomizationWithDataClass.xml = 1
      ; other driver package files omitted from example for brevity
      
      [DestinationDirs]
      PowerCustomization.CopyList =10,Provisioning\Package
      ; other CopyFiles sections in DestinationDirs omitted from example for brevity
      
      ; Manufacturer and Models sections omitted for brevity. Assume Models section indicates a DDInstall section of ContosoInstallSection
      
      [ContosoInstallSection]
      CopyFiles=PowerCustomization.CopyList
      
      [PowerCustomization.CopyList]
      ContosoPowerCustomization.ppkg
      ContosoPowerCustomizationWithDataClass.xml
      
    • 工厂映像上需要预先加载驱动程序包,这样,如果将来更新 Windows 更新中的驱动程序包,系统将会扫描和查找此驱动程序包的更新版本,以便进行下载和安装。

    • 你应该使用与测试预发布系统或驱动程序包的驱动程序包更新相同的机制,通过 Windows 更新来测试该更新机制。

    • 如果你有用于更新由 OEM 生成的电源预配包的替代机制,请确保该机制在运行下压按钮重置来测试最终用户方案后在工厂映像上以及在设备包上都有效。

注意

根据设计,将 PPKG 复制到指定位置时,不会应用预配包。 而是在发生以下事件时应用 PPKG:

  • 在系统空闲时 OS 重启后
  • 在系统处于空闲状态时用户登录之后

电源预配包需要 SYSTEM 权限,否则预配将失败并显示 HRESULT=0xc0000061, STATUS_PRIVILEGE_NOT_HELD 错误。 当系统空闲时,预配引擎将在 OS 重启后应用具有正确上下文的电源预配包。