SMI Attributes

The following table lists the values and descriptions of various attributes that apply to settings.

Attribute Value(s) Description
type xsd:int
xsd:byte
xsd:short
xsd:boolean
xsd:long
xsd:unsignedByte
xsd:unsignedShort
xsd:unsignedInt
xsd:unsignedLong
xsd:integer
xsd:positiveInteger
xsd:nonNegativeInteger
xsd:negativeInteger
xsd:nonPositiveInteger
xsd:string
xsd:hexBinary
Indicates the setting type.
displayName string Represents friendly name of a setting.
description string Indicates the description of a setting.
default Depends on the setting Indicates the default value that is assigned to a setting on install.
scope "perUser" Indicates that the setting is unique for each user on the system. If a user changes a perUser setting, then no other user on the system will notice the change. Settings that reside in HKEY_CURRENT_USER are generally "perUser" settings. The setting is installed in user space and there is one for each user.
scope "allUsers" Indicates that setting is shared globally by all users of the application. If one user changes a shared setting, then all users are affected, as they all see the change. Settings that reside in HKEY_LOCAL_MACHINE are usually "allUsers" settings. The setting is installed in a shared space and there is only one value shared between all users.
subscope See below. Some settings have a strong binding to an instance of the operating system (or the computer in many cases). IP address is a classic example. Other settings such as user preference are generally independent of the operating system (computer). This attribute indicates if a setting has a strong binding to this instance of the operating system or not.
subscope "machineSpecific" Indicates that this setting strongly binds to the instance of the operating system (and the computer in many cases). If this setting is roamed to a different computer it will not have meaning.
subscope "machineIndependent" Indicates that the setting has no strong binding to the computer or this operating system instance.
visible True
False
Indicates if a setting is visible by a management tool such as image manager. This attribute can also used to indicate if a setting can be overridden by the use of an unattend (answer) file.
accessControl A security descriptor definition language (SDDL) value. Describes the access control of a setting.
changeImpact See below. Indicates the type of system response that should be invoked when the value of a setting is changed.
changeImpact "systemRestart" Restart the system when this setting value changes.
changeImpact "processRestart" Restart the process that uses this setting when this setting value changes.
changeImpact "notSpecified" The impact of this setting has not been defined. This is the default value for this attribute.
changeImpact "noImpact" There is no impact when this setting value changes.
readOnly True
False
True indicates that the setting is displayed to users, but cannot be changed by them. False indicates that the setting is displayed to users and may be modified by users with appropriate permission.
xsd:nillable True
False
True indicates that the setting may exist even without a value. False indicates that the setting cannot exist without a value.
handler Format: "type(location)" Indicates where the setting is stored.
handler "regKey('HKEY_LOCAL_MACHINE\System\CurrentControlSet')" Indicates that the setting is in location HKEY_LOCAL_MACHINE\System\CurrentControlSet
in the registry.
handler "ini('$(runtime.system32)\mapisvc.inf')" Indicates that the setting is located in $(runtime.system32)\mapisvc.inf.
legacyName String. For example:"Content Type" If present, the value of this attribute represents the name in the legacy store (registry or .ini file).
legacyType "REG_DWORD"
"REG_DWORD_LITTLE_ENDIAN"
"REG_DWORD_BIG_ENDIAN"
"REG_EXPAND_SZ"
"REG_MULTI_SZ"
"REG_QWORD"
"REG_QWORD_LITTLE_ENDIAN"
"REG_SZ"
Indicate the legacy type of a setting. For more information about registry value types, see Registry Value Types.
migrate "no"
"yes"
"yesCreateOnly"
Indicates if a setting can be migrated. A value "no" indicates that the element or object should not be migrated. A value "yes" indicates that the element or object can be migrated using default conflict resolution rules. The rules are that the source has priority if there is a conflict in the value of the setting. A value of "yesCreateOnly" indicates that the setting should migrate only if it does not already exist on the destination.
xsd:minOccurs Common values: "0"
"1"
Indicates the minimum number of instances of this setting. A value of "0" indicates that the setting is optional. A value of "1" indicates that the setting is mandatory.
xsd:maxOccurs Common values: "1"
"unbounded"
Indicates the maximum number of instances of this setting. A value of "1" indicates that at most, one instance of this setting may exist. It is the value on scalar and complex settings. A value of "unbounded" denotes that any number of instances of this setting may exist. It is the value on list settings.
dataOnly True
False
True indicates that this is a data only setting, which means that it does not require code to be run to activate its value. False indicates that this setting has a matched API or executable that must be run for its value to be fully-enabled. Unattend settings commonly have the attribute value False.
passes "windowsPE"
"offlineServicing"
The value indicates the pass during which the setting will be applied.