Windows Universal OEM Package Schema
You can manually edit your packages using the Universal OEM Package Schema.
Creating Windows Universal OEM Packages
Schema
Only the common elements and attributes are documented here.
To get the full schema run "pkggen /universalbsp /wmxsd:.", then open WM0.XSD with Visual Studio.
identity
Attribute | Type | Required | Macro | Notes |
---|---|---|---|---|
owner | string | * | ||
name | string | * | * | |
namespace | string | * | ||
buildWow | boolean | Default = false, set to true to generate WOW packages | ||
legacyName | string | * | Uses the specified name as the package name overriding the default name (owner-namespace-name.cab). |
<identity name="FeatureName" namespace="FeatureArea" owner="OEM" buildWow="false"/>
onecorePackageInfo
Attribute | Type | Required | Macro | Notes |
---|---|---|---|---|
targetPartition | MainOS Data UpdateOS EFIESP PLAT | * | If onecorePackageInfo is not specified, Default = MainOS | |
releaseType | Production Test | If onecorePackageInfo is not specified, Default = Production |
<onecorePackageInfo targetPartition="MainOS" releaseType="Production"/>
file
Attribute | Type | Required | Macro | Notes |
---|---|---|---|---|
source | string | * | * | |
destinationDir | string | * | destinationDir must start with one of the following built in runtime macros below. | |
name | string | used to rename the source file | ||
buildFilter | string |
destinationDir must start with:
- $(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)
- If not specified, the default is $(runtime.system32)
To see the directories that map to these locations, see 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
Attribute | Type | Required | Macro | Notes |
---|---|---|---|---|
keyName | string | * | * | keyName must start with $(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 | string |
To see the registry keys that map to these locations, see 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
Attribute | Type | Required | Macro | Notes |
---|---|---|---|---|
name | string | Name of the value you are specifying. If not specified, the Default value in the key will be over-written | ||
type | string | * | type must be one of these: REG_SZ, REG_MULTI_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_EXPAND_SZ | |
value | string | |||
buildFilter | string |
<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>