Provisioning XML Document for Registry Configuration Service Provider (Compact 2013)
3/26/2014
Configuration Manager uses this XML document to change registry settings on a Windows Embedded Compact powered device.
Syntax
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="<RegistryPath>">
<parm name="<ParmName>" value="<ParmValue>" datatype="<DataType>" />
<parm-query name="<ParmName>" />
<noparm name="<ParmName>" />
</characteristic>
<characteristic-query type="<RegistryPath>" />
<nocharacteristic type="<RegistryPath>" />
</characteristic>
</wap-provisioningdoc>
Elements
Element name |
Description |
Attributes |
---|---|---|
characteristic |
Groups settings for a configuration service provider |
ValueDescription
RegistryIndicates the root characteristic element for the Registry configuration service provider.
<Registry_path>The registry path to the registry key.
|
parm |
Metadata that describes a device setting. |
|
parm-query |
Specifies a request for the current value of a setting. |
|
noparm |
In a request document, the setting to remove. |
|
nocharacteristic |
In a request document, the settings to be removed from the device. |
|
characteristic-query |
Use this element to query the setting values specified by the characteristic in the type attribute. |
|
Remarks
To change registry settings on the device, you can write a provisioning file that you customize for the Registry configuration service provider. However, the Registry configuration service provider supports only a subset of elements and its own attribute values for the characteristic and parm elements.
For more information about elements, see Provisioning XML Document.
Although you can update the registry by using .reg files, we recommend that you update the registry by using this XML document.
You cannot query the registry at the top level. All parameters must be queried individually.
You must use a datatype attribute with each parm element that represents a registry setting. The following table shows the possible values for datatype.
datatype value |
Registry type |
Description |
---|---|---|
integer |
REG_DWORD |
Integer. A query of this parameter returns an integer type. |
Boolean |
REG_DWORD |
Integer value of 1 or 0 (zero). A query of this parameter returns an integer type. |
float |
REG_SZ |
Float. A query of this parameter returns a string type. |
string |
REG_SZ |
String. A query of this parameter returns a string type. |
multiplestring |
REG_MULTI_SZ |
Multiple strings are separated by  and ended with two  - for example:
A query of this parameter returns a multiplestring type. |
binary |
REG_BINARY |
Base64 encoded. A query of this parameter returns a binary type. |
time |
FILETIME in REG_BINARY |
The time format conforms to the ISO 8601 standard, with the date portion optional. If you omit the date portion, also omit the "T" delimiter. A query of this parameter returns a binary type. |
date |
FILETIME in REG_BINARY |
The date format conforms to the ISO 8601 standard, with the time portion optional. If you omit the time portion of the date, also omit the "T" delimiter. A query of this parameter returns a binary type. |
Example
The following example code adds a registry key (HKEY_CURRENT_USER\Software\Microsoft\TestKey3), adds values to the key, and then modifies one of the values (TestValue).
Note
For readability, the following code example does not contain security checking or error handling. Do not use the following code in a production environment.
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKCU\Software\Microsoft\TestKey3">
<parm name="TestValue" value="5" datatype="integer" />
<parm name="TestValueBoolean" value="1" datatype="boolean" />
<!-- boolean is stored as an integer in the registry -->
<parm name="TestValueString" value="testtesttest"
datatype="string" />
<parm name="TestValueDateTime1" value="2001-10-20"
datatype="date" />
<!-- time contains the time and time zone -->
<parm name="TestValueDateTime2" value="16:55:04-08"
datatype="time" />
<parm name="TestValueString2"
value="string1string2string3" datatype="multiplestring" />
<!-- multiple strings are separated by  -->
<!-- multiple strings are ended with two  -->
<parm name="TestValueInteger"
value="5iAGkAbgBhAHIAeQAgAGIAbABvAG" datatype="binary" />
</characteristic>
</characteristic>
</wap-provisioningdoc>