blob: 77d10d6442a306f2863404862f5aa7c671694b47 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:html="http://www.w3.org/1999/xhtml" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" targetNamespace="http://schemas.microsoft.com/wix/UtilExtension" xmlns="http://schemas.microsoft.com/wix/UtilExtension">
<xs:annotation>
<xs:documentation>
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
The source code schema for the Windows Installer XML Toolset Utility Extension.
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" />
<xs:element name="CloseApplication">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
</xs:appinfo>
<xs:documentation>Closes applications or schedules a reboot if application cannot be closed.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:annotation>
<xs:documentation>
Condition that determines if the application should be closed. Must be blank or evaluate to true
for the application to be scheduled for closing.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the close application (primary key).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Target" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the exectuable to be closed. This should only be file name.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Description to show if application is running and needs to be closed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" type="xs:integer">
<xs:annotation>
<xs:documentation>Optionally orders the applications to be closed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CloseMessage" type="YesNoType">
<xs:annotation>
<xs:documentation>Optionally sends a close message to the application. Default is no.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ElevatedCloseMessage" type="YesNoType">
<xs:annotation>
<xs:documentation>Optionally sends a close message to the application from deffered action without impersonation. Default is no.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RebootPrompt" type="YesNoType">
<xs:annotation>
<xs:documentation>Optionally prompts for reboot if application is still running. Default is yes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Property" type="xs:string">
<xs:annotation>
<xs:documentation>Property to be set if application is still running. Useful for launch conditions or to conditionalize custom UI to ask user to shut down apps.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="EventSource">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>Creates an event source.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="CategoryCount" type="xs:integer">
<xs:annotation>
<xs:documentation>
The number of categories in CategoryMessageFile. CategoryMessageFile
must be specified too.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CategoryMessageFile" type="xs:string">
<xs:annotation>
<xs:documentation>
Name of the category message file. CategoryCount must be specified too.
Note that this is a formatted field, so you can use [#fileId] syntax to
refer to a file being installed. It is also written as a REG_EXPAND_SZ
string, so you can use %environment_variable% syntax to refer to a file
already present on the user's machine.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="EventMessageFile" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
Name of the event message file.
Note that this is a formatted field, so you can use [#fileId] syntax to
refer to a file being installed. It is also written as a REG_EXPAND_SZ
string, so you can use %environment_variable% syntax to refer to a file
already present on the user's machine.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyPath" type="YesNoType">
<xs:annotation>
<xs:documentation>
Marks the EventSource registry as the key path of the component it belongs to.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Log" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the event source's log.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the event source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ParameterMessageFile" type="xs:string">
<xs:annotation>
<xs:documentation>
Name of the parameter message file.
Note that this is a formatted field, so you can use [#fileId] syntax to
refer to a file being installed. It is also written as a REG_EXPAND_SZ
string, so you can use %environment_variable% syntax to refer to a file
already present on the user's machine.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SupportsErrors" type="YesNoType">
<xs:annotation>
<xs:documentation>
Equivalent to EVENTLOG_ERROR_TYPE.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SupportsFailureAudits" type="YesNoType">
<xs:annotation>
<xs:documentation>
Equivalent to EVENTLOG_AUDIT_FAILURE.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SupportsInformationals" type="YesNoType">
<xs:annotation>
<xs:documentation>
Equivalent to EVENTLOG_INFORMATION_TYPE.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SupportsSuccessAudits" type="YesNoType">
<xs:annotation>
<xs:documentation>
Equivalent to EVENTLOG_AUDIT_SUCCESS.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SupportsWarnings" type="YesNoType">
<xs:annotation>
<xs:documentation>
Equivalent to EVENTLOG_WARNING_TYPE.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="FileShare">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>Creates a file share out of the component's directory.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="FileSharePermission" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>ACL permission</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the file share (primary key).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Name of the file share.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Description of the file share.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="FileSharePermission">
<xs:annotation>
<xs:documentation>
Sets ACLs on a FileShare. This element has no Id attribute.
The table and key are taken from the parent element.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="User" use="required" type="xs:string"></xs:attribute>
<!-- Common ACLs -->
<xs:attribute name="Read" type="YesNoType"></xs:attribute>
<xs:attribute name="Delete" type="YesNoType"></xs:attribute>
<xs:attribute name="ReadPermission" type="YesNoType"></xs:attribute>
<xs:attribute name="ChangePermission" type="YesNoType"></xs:attribute>
<xs:attribute name="TakeOwnership" type="YesNoType"></xs:attribute>
<!-- Folder and File ACLs -->
<xs:attribute name="ReadAttributes" type="YesNoType"></xs:attribute>
<xs:attribute name="WriteAttributes" type="YesNoType"></xs:attribute>
<xs:attribute name="ReadExtendedAttributes" type="YesNoType"></xs:attribute>
<xs:attribute name="WriteExtendedAttributes" type="YesNoType"></xs:attribute>
<xs:attribute name="Synchronize" type="YesNoType"></xs:attribute>
<!-- Folder only ACLs -->
<xs:attribute name="CreateFile" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CreateChild" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DeleteChild" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Traverse" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- Generic ACLs, mapped by system to appropriate permissions -->
<xs:attribute name="GenericAll" type="YesNoType"></xs:attribute>
<xs:attribute name="GenericExecute" type="YesNoType"></xs:attribute>
<xs:attribute name="GenericWrite" type="YesNoType"></xs:attribute>
<xs:attribute name="GenericRead" type="YesNoType">
<xs:annotation>
<xs:documentation>specifying this will fail to grant read access</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Group">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
</xs:appinfo>
<xs:documentation>
Finds user groups on the local machine or specified Active Directory domain. The local machine will be
searched for the group first then fallback to looking in Active Directory. This element is not capable
of creating new groups but can be used to add new or existing users to an existing group.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier in your installation package for this group.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>A <html:a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</html:a> string that contains the name of the group to be found.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Domain" type="xs:string">
<xs:annotation>
<xs:documentation>An optional <html:a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</html:a> string that specifies the domain for the group.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="GroupRef">
<xs:annotation>
<xs:documentation>Used to join a user to a group</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="InternetShortcut">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
<xse:howtoRef href="create_internet_shortcut.htm">How To: Create a shortcut to a webpage</xse:howtoRef>
</xs:appinfo>
<xs:documentation>Creates a shortcut to a URL.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Unique identifier in your installation package for this Internet shortcut.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Directory" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier reference to Directory element where shortcut is to be created. This attribute's value defaults to the parent Component directory.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The name of the shortcut file, which is visible to the user. (The .lnk
extension is added automatically and by default, is not shown to the user.)
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Target" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
URL that should be opened when the user selects the shortcut. Windows
opens the URL in the appropriate handler for the protocol specified
in the URL. Note that this is a formatted field, so you can use
[#fileId] syntax to refer to a file being installed (using the file:
protocol).
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Which type of shortcut should be created.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="url">
<xs:annotation>
<xs:documentation>Creates .url files using IUniformResourceLocatorW.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="link">
<xs:annotation>
<xs:documentation>Creates .lnk files using IShellLinkW (default).</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="PerformanceCategory">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
<xs:documentation>Used to create performance categories and configure performance counters.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="PerformanceCounter" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>Unique identifier in your installation package for this performance counter category.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Name for the performance counter category. If this attribute is not provided the Id attribute is used as the name of the performance counter category.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Help" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Optional help text for the performance counter category.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MultiInstance" type="YesNoType" use="optional">
<xs:annotation>
<xs:documentation>Flag that specifies whether the performance counter category is multi or single instanced. Default is single instance.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Library" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>DLL that contains the performance counter. The default is "netfxperf.dll" which should be used for all managed code performance counters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Open" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Function entry point in to the Library DLL called when opening the performance counter. The default is "OpenPerformanceData" which should be used for all managed code performance counters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Close" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Function entry point in to the Library DLL called when closing the performance counter. The default is "ClosePerformanceData" which should be used for all managed code performance counters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Collect" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Function entry point in to the Library DLL called when collecting data from the performance counter. The default is "CollectPerformanceData" which should be used for all managed code performance counters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultLanguage" type="PerformanceCounterLanguageType">
<xs:annotation>
<xs:documentation>Default language for the performance category and contained counters' names and help text.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="PerformanceCounter">
<xs:annotation>
<xs:documentation>Creates a performance counter in a performance category.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>Name for the performance counter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Help" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Optional help text for the performance counter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" type="PerformanceCounterTypesType">
<xs:annotation>
<xs:documentation>Type of the performance counter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" type="PerformanceCounterLanguageType" use="optional">
<xs:annotation>
<xs:documentation>Language for the peformance counter name and help. The default is to use the parent PerformanceCategory element's DefaultLanguage attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="PerfCounter">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
<xse:deprecated ref="PerformanceCounter" />
</xs:appinfo>
<xs:documentation>Used to install Perfmon counters.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Name" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="PerfCounterManifest">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
</xs:appinfo>
<xs:documentation>Used to install Perfmon Counter Manifests.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="ResourceFileDirectory" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>The directory that holds the resource file of the providers in the perfmon counter manifest. Often the resource file path cannot be determined until setup time. Put the directory here and during perfmon manifest registrtion the path will be updated in the registry. If not specified, Perfmon will look for the resource file in the same directory of the perfmon counter manifest file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="EventManifest">
<xs:annotation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
</xs:appinfo>
<xs:documentation>Used to install Event Manifests.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="MessageFile" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>The message file (including path) of all the providers in the event manifest. Often the message file path cannot be determined until setup time. Put your MessageFile here and the messageFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ParameterFile" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>The parameter file (including path) of all the providers in the event manifest. Often the parameter file path cannot be determined until setup time. Put your ParameterFile here and the parameterFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ResourceFile" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>The resource file (including path) of all the providers in the event manifest. Often the resource file path cannot be determined until setup time. Put your ResourceFile here and the resourceFileName attribute of the all the providers in the manifest will be updated with the path before it is registered. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="PermissionEx">
<xs:annotation>
<xs:documentation>
Sets ACLs on File, Registry, CreateFolder, or ServiceInstall. When under a Registry element, this cannot be used
if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute.
The table and key are taken from the parent element. To use PermissionEx with an IA-64 MSI, you must
compile all of your source files with the "-arch ia64" switch, to ensure the IA-64 custom action is used, and not
the x64 custom action.
</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="CreateFolder" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Registry" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="RegistryKey" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="RegistryValue" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Domain" type="xs:string"></xs:attribute>
<xs:attribute name="User" use="required" type="xs:string"></xs:attribute>
<!-- Common ACLs -->
<xs:attribute name="Read" type="YesNoType"></xs:attribute>
<xs:attribute name="Delete" type="YesNoType"></xs:attribute>
<xs:attribute name="ReadPermission" type="YesNoType"></xs:attribute>
<xs:attribute name="ChangePermission" type="YesNoType"></xs:attribute>
<xs:attribute name="TakeOwnership" type="YesNoType"></xs:attribute>
<!-- Folder and File ACLs -->
<xs:attribute name="ReadAttributes" type="YesNoType"></xs:attribute>
<xs:attribute name="WriteAttributes" type="YesNoType"></xs:attribute>
<xs:attribute name="ReadExtendedAttributes" type="YesNoType"></xs:attribute>
<xs:attribute name="WriteExtendedAttributes" type="YesNoType"></xs:attribute>
<xs:attribute name="Synchronize" type="YesNoType"></xs:attribute>
<!-- Folder only ACLs -->
<xs:attribute name="CreateFile" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CreateChild" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DeleteChild" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to delete a directory and all the files it contains, including read-only files. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Traverse" type="YesNoType">
<xs:annotation>
<xs:documentation>For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. Only valid under a 'CreateFolder' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- File only ACLs -->
<xs:attribute name="Append" type="YesNoType"></xs:attribute>
<xs:attribute name="Execute" type="YesNoType"></xs:attribute>
<!-- File and Registry ACLs -->
<xs:attribute name="Write" type="YesNoType"></xs:attribute>
<!-- Registry only ACLs -->
<xs:attribute name="CreateSubkeys" type="YesNoType"></xs:attribute>
<xs:attribute name="EnumerateSubkeys" type="YesNoType"></xs:attribute>
<xs:attribute name="Notify" type="YesNoType"></xs:attribute>
<xs:attribute name="CreateLink" type="YesNoType"></xs:attribute>
<!-- Generic ACLs, mapped by system to appropriate permissions -->
<xs:attribute name="GenericAll" type="YesNoType"></xs:attribute>
<xs:attribute name="GenericExecute" type="YesNoType"></xs:attribute>
<xs:attribute name="GenericWrite" type="YesNoType"></xs:attribute>
<xs:attribute name="GenericRead" type="YesNoType">
<xs:annotation>
<xs:documentation>specifying this will fail to grant read access</xs:documentation>
</xs:annotation>
</xs:attribute>
<!-- Service only ACLs -->
<xs:attribute name="ServiceQueryConfig" type="YesNoType">
<xs:annotation>
<xs:documentation>Required to call the QueryServiceConfig and QueryServiceConfig2 functions to query the service configuration. Only valid under a 'ServiceInstall' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceChangeConfig" type="YesNoType">
<xs:annotation>
<xs:documentation>Required to call the ChangeServiceConfig or ChangeServiceConfig2 function to change the service configuration. Only valid under a 'ServiceInstall' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceQueryStatus" type="YesNoType">
<xs:annotation>
<xs:documentation>Required to call the QueryServiceStatus function to ask the service control manager about the status of the service. Only valid under a 'ServiceInstall' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceEnumerateDependents" type="YesNoType">
<xs:annotation>
<xs:documentation>Required to call the EnumDependentServices function to enumerate all the services dependent on the service. Only valid under a 'ServiceInstall' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceStart" type="YesNoType">
<xs:annotation>
<xs:documentation>Required to call the StartService function to start the service. Only valid under a 'ServiceInstall' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceStop" type="YesNoType">
<xs:annotation>
<xs:documentation>Required to call the ControlService function to stop the service. Only valid under a 'ServiceInstall' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServicePauseContinue" type="YesNoType">
<xs:annotation>
<xs:documentation>Required to call the ControlService function to pause or continue the service. Only valid under a 'ServiceInstall' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceInterrogate" type="YesNoType">
<xs:annotation>
<xs:documentation>Required to call the ControlService function to ask the service to report its status immediately. Only valid under a 'ServiceInstall' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceUserDefinedControl" type="YesNoType">
<xs:annotation>
<xs:documentation>Required to call the ControlService function to specify a user-defined control code. Only valid under a 'ServiceInstall' parent.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="RestartResource">
<xs:annotation>
<xs:documentation>Registers a resource with the Restart Manager.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string">
<xs:annotation>
<xs:documentation>The unique identifier for this resource. A unique identifier will
be generated automatically if not specified.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Path" type="xs:string">
<xs:annotation>
<xs:documentation>The full path to the process module to register with the Restart Manager.
This can be a formatted value that resolves to a full path.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProcessName" type="xs:string">
<xs:annotation>
<xs:documentation>The name of a process to register with the Restart Manager.
This can be a formatted value that resolves to a process name.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ServiceName" type="xs:string">
<xs:annotation>
<xs:documentation>The name of a Windows service to register with the Restart Manager.
This can be a formatted value that resolves to a service name.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ServiceConfig">
<xs:annotation>
<xs:documentation>Service configuration information for failure actions.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="ServiceInstall" />
<xse:remarks>
<html:dl>
<html:dd>Nesting a ServiceConfig element under a ServiceInstall element will result in the service being installed to be configured.</html:dd>
<html:dd>Nesting a ServiceConfig element under a component element will result in an already installed service to be configured. If the service does not exist prior to the install of the MSI package, the install will fail.</html:dd>
</html:dl>
</xse:remarks>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="ServiceName" type="xs:string">
<xs:annotation>
<xs:documentation>Required if not under a ServiceInstall element.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FirstFailureActionType" use="required">
<xs:annotation>
<xs:documentation>Action to take on the first failure of the service.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="none" />
<xs:enumeration value="reboot" />
<xs:enumeration value="restart" />
<xs:enumeration value="runCommand" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="SecondFailureActionType" use="required">
<xs:annotation>
<xs:documentation>Action to take on the second failure of the service.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="none" />
<xs:enumeration value="reboot" />
<xs:enumeration value="restart" />
<xs:enumeration value="runCommand" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ThirdFailureActionType" use="required">
<xs:annotation>
<xs:documentation>Action to take on the third failure of the service.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="none" />
<xs:enumeration value="reboot" />
<xs:enumeration value="restart" />
<xs:enumeration value="runCommand" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ResetPeriodInDays" type="xs:integer">
<xs:annotation>
<xs:documentation>Number of days after which to reset the failure count to zero if there are no failures.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RestartServiceDelayInSeconds" type="xs:integer">
<xs:annotation>
<xs:documentation>If any of the three *ActionType attributes is "restart", this specifies the number of seconds to wait before doing so.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProgramCommandLine" type="xs:string">
<xs:annotation>
<xs:documentation>If any of the three *ActionType attributes is "runCommand", this specifies the command to run when doing so.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RebootMessage" type="xs:string">
<xs:annotation>
<xs:documentation>If any of the three *ActionType attributes is "reboot", this specifies the message to broadcast to server users before doing so.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="User">
<xs:annotation>
<xs:documentation>User for all kinds of things. When it is not nested under a component it is included in the MSI so it can be referenced by other elements such as the User attribute in the AppPool element. When it is nested under a Component element, the User will be created on install and can also be used for reference.</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Module" />
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" />
<xse:seeAlso ref="Group" />
<xse:seeAlso ref="GroupRef" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="GroupRef" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required" />
<xs:attribute name="Name" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>A <a href="http://msdn2.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</a> string that contains the name of the user account.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Domain" type="xs:string">
<xs:annotation>
<xs:documentation>A <a href="http://msdn2.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</a> string that contains the local machine or Active Directory domain for the user.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Password" type="xs:string">
<xs:annotation>
<xs:documentation>Usually a Property that is passed in on the command-line to keep it more secure.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PasswordNeverExpires" type="YesNoType">
<xs:annotation>
<xs:documentation>The account's password never expires. Equivalent to UF_DONT_EXPIRE_PASSWD.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CanNotChangePassword" type="YesNoType">
<xs:annotation>
<xs:documentation>The user cannot change the account's password. Equivalent to UF_PASSWD_CANT_CHANGE.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RemoveOnUninstall" type="YesNoType">
<xs:annotation>
<xs:documentation>Indicates whether the user account should be removed or left behind on uninstall.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FailIfExists" type="YesNoType">
<xs:annotation>
<xs:documentation>Indicates if the install should fail if the user already exists.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LogonAsService" type="YesNoType">
<xs:annotation>
<xs:documentation>Indicates whether or not the user can logon as a serivce. User creation can be skipped if all that is desired is to set this access right on the user.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UpdateIfExists" type="YesNoType">
<xs:annotation>
<xs:documentation>Indicates if the user account properties should be updated if the user already exists.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PasswordExpired" type="YesNoType">
<xs:annotation>
<xs:documentation>Indicates whether the user must change their password on their first login.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Disabled" type="YesNoType">
<xs:annotation>
<xs:documentation>The account is disabled. Equivalent to UF_ACCOUNTDISABLE.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CreateUser" type="YesNoType">
<xs:annotation>
<xs:documentation>Indicates whether or not to create the user. User creation can be skipped if all that is desired is to join a user to groups.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="XmlFile">
<xs:annotation>
<xs:documentation>
Adds or removes .xml file entries. If you use the XmlFile element you must reference WixUtilExtension.dll as it contains the XmlFile custom actions.
</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for xml file modification.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ElementPath" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>The XPath of the element to be modified. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="File" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Path of the .xml file to configure.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of XML node to set/add to the specified element. Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
The value to be written. See the <html:a href="http://msdn.microsoft.com/library/aa368609(VS.85).aspx" target="_blank">Formatted topic</html:a> for information how to escape square brackets in the value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Action" use="required">
<xs:annotation>
<xs:documentation>The type of modification to be made to the XML file when the component is installed.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="createElement">
<xs:annotation>
<xs:documentation>Creates a new element under the element specified in ElementPath. The Name attribute is required in this case and specifies the name of the new element. The Value attribute is not necessary when createElement is specified as the action. If the Value attribute is set, it will cause the new element's text value to be set.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="deleteValue">
<xs:annotation>
<xs:documentation>Deletes a value from the element specified in the ElementPath. If Name is specified, the attribute with that name is deleted. If Name is not specified, the text value of the element specified in the ElementPath is deleted. The Value attribute is ignored if deleteValue is the action specified.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="setValue">
<xs:annotation>
<xs:documentation>Sets a value in the element specified in the ElementPath. If Name is specified, and attribute with that name is set to the value specified in Value. If Name is not specified, the text value of the element is set. Value is a required attribute if setValue is the action specified.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="bulkSetValue">
<xs:annotation>
<xs:documentation>Sets all the values in the elements that match the ElementPath. If Name is specified, attributes with that name are set to the same value specified in Value. If Name is not specified, the text values of the elements are set. Value is a required attribute if setBulkValue is the action specified.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Permanent" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies whether or not the modification should be removed on uninstall. This has no effect on uninstall if the action was deleteValue.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PreserveModifiedDate" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies wheter or not the modification should preserve the modified date. Preserving the modified date will allow the file to be patched if no other modifications have been made.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" use="optional" type="xs:integer">
<xs:annotation>
<xs:documentation>Specifies the order in which the modification is to be attempted on the XML file. It is important to ensure that new elements are created before you attempt to add an attribute to them.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SelectionLanguage">
<xs:annotation>
<xs:documentation>
Specify whether the DOM object should use XPath language or the old XSLPattern language (default) as the query language.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="XPath" />
<xs:enumeration value="XSLPattern" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="XmlConfig">
<xs:annotation>
<xs:documentation>
Adds or removes .xml file entries. If you use the XmlConfig element you must reference WixUtilExtension.dll as it contains the XmlConfig custom actions.
</xs:documentation>
<xs:appinfo>
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
</xs:appinfo>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="XmlConfig" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for xml file modification.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Action">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="create" />
<xs:enumeration value="delete" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ElementId" type="xs:string">
<xs:annotation>
<xs:documentation>The Id of another XmlConfig to add attributes to. In this case, the 'Action' 'Node' and 'On' attributes must be left unspecified.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ElementPath" type="xs:string">
<xs:annotation>
<xs:documentation>The XPath of the parent element being modified. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="File" use="required" type="xs:string">
<xs:annotation>
<xs:documentation>Path of the .xml file to configure.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of XML node to set/add to the specified element. Not setting this attribute causes the element's text value to be set. Otherwise this specified the attribute name that is set.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Node">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="element" />
<xs:enumeration value="value" />
<xs:enumeration value="document" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="On">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="install" />
<xs:enumeration value="uninstall" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="PreserveModifiedDate" type="YesNoType">
<xs:annotation>
<xs:documentation>Specifies wheter or not the modification should preserve the modified date. Preserving the modified date will allow the file to be patched if no other modifications have been made.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Sequence" use="optional" type="xs:integer">
<xs:annotation>
<xs:documentation>Specifies the order in which the modification is to be attempted on the XML file. It is important to ensure that new elements are created before you attempt to add an attribute to them.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
The value to be written. See the <html:a href="http://msdn.microsoft.com/library/aa368609(VS.85).aspx" target="_blank">Formatted topic</html:a> for information how to escape square brackets in the value.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VerifyPath" type="xs:string">
<xs:annotation>
<xs:documentation>The XPath to the element being modified. This is required for 'delete' actions. For 'create' actions, VerifyPath is used to decide if the element already exists. Note that this is a formatted field and therefore, square brackets in the XPath must be escaped. In addition, XPaths allow backslashes to be used to escape characters, so if you intend to include literal backslashes, you must escape them as well by doubling them in this attribute. The string is formatted by MSI first, and the result is consumed as the XPath.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="YesNoType">
<xs:annotation>
<xs:documentation>Values of this type will either be "yes" or "no".</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="no" />
<xs:enumeration value="yes" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PerformanceCounterLanguageType">
<xs:annotation>
<xs:documentation>Enumeration of valid languages for performance counters.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="afrikaans" />
<xs:enumeration value="albanian" />
<xs:enumeration value="arabic" />
<xs:enumeration value="armenian" />
<xs:enumeration value="assamese" />
<xs:enumeration value="azeri" />
<xs:enumeration value="basque" />
<xs:enumeration value="belarusian" />
<xs:enumeration value="bengali" />
<xs:enumeration value="bulgarian" />
<xs:enumeration value="catalan" />
<xs:enumeration value="chinese" />
<xs:enumeration value="croatian" />
<xs:enumeration value="czech" />
<xs:enumeration value="danish" />
<xs:enumeration value="divehi" />
<xs:enumeration value="dutch" />
<xs:enumeration value="english" />
<xs:enumeration value="estonian" />
<xs:enumeration value="faeroese" />
<xs:enumeration value="farsi" />
<xs:enumeration value="finnish" />
<xs:enumeration value="french" />
<xs:enumeration value="galician" />
<xs:enumeration value="georgian" />
<xs:enumeration value="german" />
<xs:enumeration value="greek" />
<xs:enumeration value="gujarati" />
<xs:enumeration value="hebrew" />
<xs:enumeration value="hindi" />
<xs:enumeration value="hungarian" />
<xs:enumeration value="icelandic" />
<xs:enumeration value="indonesian" />
<xs:enumeration value="italian" />
<xs:enumeration value="japanese" />
<xs:enumeration value="kannada" />
<xs:enumeration value="kashmiri" />
<xs:enumeration value="kazak" />
<xs:enumeration value="konkani" />
<xs:enumeration value="korean" />
<xs:enumeration value="kyrgyz" />
<xs:enumeration value="latvian" />
<xs:enumeration value="lithuanian" />
<xs:enumeration value="macedonian" />
<xs:enumeration value="malay" />
<xs:enumeration value="malayalam" />
<xs:enumeration value="manipuri" />
<xs:enumeration value="marathi" />
<xs:enumeration value="mongolian" />
<xs:enumeration value="nepali" />
<xs:enumeration value="norwegian" />
<xs:enumeration value="oriya" />
<xs:enumeration value="polish" />
<xs:enumeration value="portuguese" />
<xs:enumeration value="punjabi" />
<xs:enumeration value="romanian" />
<xs:enumeration value="russian" />
<xs:enumeration value="sanskrit" />
<xs:enumeration value="serbian" />
<xs:enumeration value="sindhi" />
<xs:enumeration value="slovak" />
<xs:enumeration value="slovenian" />
<xs:enumeration value="spanish" />
<xs:enumeration value="swahili" />
<xs:enumeration value="swedish" />
<xs:enumeration value="syriac" />
<xs:enumeration value="tamil" />
<xs:enumeration value="tatar" />
<xs:enumeration value="telugu" />
<xs:enumeration value="thai" />
<xs:enumeration value="turkish" />
<xs:enumeration value="ukrainian" />
<xs:enumeration value="urdu" />
<xs:enumeration value="uzbek" />
<xs:enumeration value="vietnamese" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PerformanceCounterTypesType">
<xs:annotation>
<xs:documentation>Enumeration of valid types for performance counters.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="averageBase" />
<xs:enumeration value="averageCount64" />
<xs:enumeration value="averageTimer32" />
<xs:enumeration value="counterDelta32" />
<xs:enumeration value="counterTimerInverse" />
<xs:enumeration value="sampleFraction" />
<xs:enumeration value="timer100Ns" />
<xs:enumeration value="counterTimer" />
<xs:enumeration value="rawFraction" />
<xs:enumeration value="timer100NsInverse" />
<xs:enumeration value="counterMultiTimer" />
<xs:enumeration value="counterMultiTimer100Ns" />
<xs:enumeration value="counterMultiTimerInverse" />
<xs:enumeration value="counterMultiTimer100NsInverse" />
<xs:enumeration value="elapsedTime" />
<xs:enumeration value="sampleBase" />
<xs:enumeration value="rawBase" />
<xs:enumeration value="counterMultiBase" />
<xs:enumeration value="rateOfCountsPerSecond64" />
<xs:enumeration value="rateOfCountsPerSecond32" />
<xs:enumeration value="countPerTimeInterval64" />
<xs:enumeration value="countPerTimeInterval32" />
<xs:enumeration value="sampleCounter" />
<xs:enumeration value="counterDelta64" />
<xs:enumeration value="numberOfItems64" />
<xs:enumeration value="numberOfItems32" />
<xs:enumeration value="numberOfItemsHEX64" />
<xs:enumeration value="numberOfItemsHEX32" />
</xs:restriction>
</xs:simpleType>
</xs:schema>