Windows 通用版 OEM 包架构
可以使用通用包 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=""%ProgramFiles%\MediaPlayer\wmplayer.exe"" type="REG_EXPAND_SZ" />
</regKey>