Windows 通用版 OEM 包架构

可以使用通用包 OEM 包架构手动编辑你的包。

创建 Windows 通用版 OEM 包

架构

此处仅记录了常用元素和属性。

要获得完整架构,请运行“pkggen /universalbsp /wmxsd:.”,然后使用 Visual Studio 打开 WM0.XSD。

标识

属性 类型 必需 注释
owner string *
name string * *
命名空间 字符串 *
buildWow boolean 默认为 false,设置为 true 可生成 WOW 包
legacyName string * 使用指定的名称作为包名称将覆盖默认名称 (owner-namespace-name.cab)。
<identity name="FeatureName" namespace="FeatureArea" owner="OEM" buildWow="false"/>

onecorePackageInfo

属性 类型 必需 注释
targetPartition MainOS Data UpdateOS EFIESP PLAT * 如果未指定 onecorePackageInfo,则默认值为 MainOS
releaseType 生产测试 如果未指定 onecorePackageInfo,则默认值为 Production
<onecorePackageInfo targetPartition="MainOS" releaseType="Production"/>

文件

属性 类型 必需 注释
source string * *
destinationDir 字符串 * destinationDir 必须以以下内置运行时宏之一开头。
name 字符串 用于重命名源文件
buildFilter 字符串

destinationDir 的开头必须是:

  • $(runtime.bootDrive)
  • $(runtime.systemDrive)
  • $(runtime.systemRoot)
  • $(runtime.windows)
  • $(runtime.system32)
  • $(runtime.system)
  • $(runtime.drivers)
  • $(runtime.help)
  • $(runtime.inf)
  • $(runtime.fonts)
  • $(runtime.wbem)
  • $(runtime.appPatch)
  • $(runtime.sysWow64)
  • $(runtime.mui)
  • $(runtime.commonFiles)
  • $(runtime.commonFilesX86)
  • $(runtime.programFiles)
  • $(runtime.programFilesX86)
  • $(runtime.programData)
  • $(runtime.userProfile)
  • $(runtime.startMenu)
  • $(runtime.documentSettings)
  • $(runtime.sharedData)
  • $(runtime.apps)
  • $(runtime.clipAppLicenseInstall)
  • 如果未指定,则默认值为 $(runtime.system32)

要查看映射到这些位置的目录,请参阅 C:\Program Files (x86)\Windows Kits\10\tools\bin\i386\pkggen.cfg.xml。

<file buildFilter="(not build.isWow) and (build.arch = arm)" name="output.dll" source="$(_RELEASEDIR)\input.dll" destinationDir="$(runtime.system32)"/>

regKey

属性 类型 必需 注释
keyName string * * keyName 的开头必须为 $(hklm.system)、$(hklm.software)、$(hklm.hardware)、$(hklm.sam)、$(hklm.security)、$(hklm.bcd)、$(hklm.drivers)、$(hklm.svchost)、$(hklm.policies)、$(hklm.microsoft)、$(hklm.windows)、$(hklm.windowsnt)、$(hklm.currentcontrolset)、$(hklm.services)、$(hklm.control)、$(hklm.autologger)、$(hklm.enum)、$(hkcr.root)、$(hkcr.classes)、$(hkcu.root)、$(hkuser.default)
buildFilter 字符串

要查看映射到这些位置的注册表项,请参阅 C:\Program Files (x86)\Windows Kits\10\tools\bin\i386\pkggen.cfg.xml。

<regKey buildFilter="buildFilter1" keyName="keyName1">
  <regValue buildFilter="buildFilter1" name="name1" value="value1" type="REG_SZ" />
</regKey>

regValue

属性 类型 必需 说明
name 字符串 要指定的值的名称。 如果未指定,则项中的默认值将被覆盖
type 字符串 * 类型必须是以下之一:REG_SZ、REG_MULTI_SZ、REG_DWORD、REG_QWORD、REG_BINARY、REG_EXPAND_SZ
string
buildFilter 字符串
<regKey buildFilter="buildFilter1" keyName="keyName1">
  <regValue buildFilter="buildFilter1" name="name1" value="value1" type="REG_SZ" />
  <regValue buildFilter="buildFilter2" name="name2" value="value1,value2" type="REG_MULTI_SZ" />
  <regValue buildFilter="buildFilter3" name="name3" value="00000000FFFFFFFF" type="REG_QWORD" />
  <regValue buildFilter="buildFilter4" name="name4" value="FFFFFFFF" type="REG_DWORD" />
  <regValue buildFilter="buildFilter5" name="name5" value="0AFB2" type="REG_BINARY" />
  <regValue buildFilter="buildFilter6" name="name6" value="&quot;%ProgramFiles%\MediaPlayer\wmplayer.exe&quot;" type="REG_EXPAND_SZ" />
</regKey>