aboutsummaryrefslogtreecommitdiff
path: root/src/xsd/util.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'src/xsd/util.xsd')
-rw-r--r--src/xsd/util.xsd2570
1 files changed, 2570 insertions, 0 deletions
diff --git a/src/xsd/util.xsd b/src/xsd/util.xsd
new file mode 100644
index 00000000..c0a9e44a
--- /dev/null
+++ b/src/xsd/util.xsd
@@ -0,0 +1,2570 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4
5<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
6 xmlns:xse="http://wixtoolset.org/schemas/XmlSchemaExtension"
7 xmlns:html="http://www.w3.org/1999/xhtml"
8 xmlns:wxs="http://wixtoolset.org/schemas/v4/wxs"
9 targetNamespace="http://wixtoolset.org/schemas/v4/wxs/util"
10 xmlns="http://wixtoolset.org/schemas/v4/wxs/util">
11 <xs:annotation>
12 <xs:documentation>
13 The source code schema for the WiX Toolset Utility Extension.
14 </xs:documentation>
15 </xs:annotation>
16
17 <xs:import namespace="http://wixtoolset.org/schemas/v4/wxs" />
18
19 <xs:element name="CloseApplication">
20 <xs:annotation>
21 <xs:appinfo>
22 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
23 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
24 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
25 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
26 </xs:appinfo>
27 <xs:documentation>Closes applications or schedules a reboot if application cannot be closed.</xs:documentation>
28 </xs:annotation>
29 <xs:complexType>
30 <xs:choice minOccurs="0" maxOccurs="unbounded">
31 <xs:any namespace="##other" processContents="lax">
32 <xs:annotation>
33 <xs:documentation>
34 Extensibility point in the WiX XML Schema. Schema extensions can register additional
35 elements at this point in the schema.
36 </xs:documentation>
37 </xs:annotation>
38 </xs:any>
39 </xs:choice>
40 <xs:attribute name="Id" type="xs:string">
41 <xs:annotation>
42 <xs:documentation>Identifier for the close application (primary key). If the Id is not specified, one will be generated.</xs:documentation>
43 </xs:annotation>
44 </xs:attribute>
45 <xs:attribute name="Target" type="xs:string" use="required">
46 <xs:annotation>
47 <xs:documentation>Name of the exectuable to be closed. This should only be the file name.</xs:documentation>
48 </xs:annotation>
49 </xs:attribute>
50 <xs:attribute name="Condition" type="xs:string">
51 <xs:annotation>
52 <xs:documentation>
53 Condition that determines if the application should be closed. Must be blank or evaluate to true
54 for the application to be scheduled for closing.
55 </xs:documentation>
56 </xs:annotation>
57 </xs:attribute>
58 <xs:attribute name="Description" type="xs:string">
59 <xs:annotation>
60 <xs:documentation>Description to show if application is running and needs to be closed.</xs:documentation>
61 </xs:annotation>
62 </xs:attribute>
63 <xs:attribute name="Sequence" type="wxs:Integer">
64 <xs:annotation>
65 <xs:documentation>Optionally orders the applications to be closed.</xs:documentation>
66 </xs:annotation>
67 </xs:attribute>
68 <xs:attribute name="CloseMessage" type="wxs:YesNoTypeUnion">
69 <xs:annotation>
70 <xs:documentation>Optionally sends a close message to the application. Default is no.</xs:documentation>
71 </xs:annotation>
72 </xs:attribute>
73 <xs:attribute name="EndSessionMessage" type="wxs:YesNoTypeUnion">
74 <xs:annotation>
75 <xs:documentation>Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application. Default is "no".</xs:documentation>
76 </xs:annotation>
77 </xs:attribute>
78 <xs:attribute name="ElevatedCloseMessage" type="wxs:YesNoTypeUnion">
79 <xs:annotation>
80 <xs:documentation>Optionally sends a close message to the application from deffered action without impersonation. Default is no.</xs:documentation>
81 </xs:annotation>
82 </xs:attribute>
83 <xs:attribute name="ElevatedEndSessionMessage" type="wxs:YesNoTypeUnion">
84 <xs:annotation>
85 <xs:documentation>Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application from a deffered action without impersonation. Default is "no".</xs:documentation>
86 </xs:annotation>
87 </xs:attribute>
88 <xs:attribute name="RebootPrompt" type="wxs:YesNoTypeUnion">
89 <xs:annotation>
90 <xs:documentation>
91 Optionally prompts for reboot if application is still running.
92 The TerminateProcess attribute must be "no" or not specified if this attribute is "yes".
93 The default is "yes".
94 </xs:documentation>
95 </xs:annotation>
96 </xs:attribute>
97 <xs:attribute name="PromptToContinue" type="wxs:YesNoTypeUnion">
98 <xs:annotation>
99 <xs:documentation>
100 When this attribute is set to "yes", the user will be prompted when the application is still running. The Description attribute must contain the message to
101 display in the prompt. The prompt occurs before executing any of the other options and gives the options to "Abort", "Retry", or "Ignore". Abort will cancel
102 the install. Retry will attempt the check again and if the application is still running, prompt again. "Ignore" will continue and execute any other options
103 set on the CloseApplication element. The default is "no".
104 </xs:documentation>
105 </xs:annotation>
106 </xs:attribute>
107 <xs:attribute name="Property" type="xs:string">
108 <xs:annotation>
109 <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>
110 </xs:annotation>
111 </xs:attribute>
112 <xs:attribute name="TerminateProcess" type="wxs:Integer">
113 <xs:annotation>
114 <xs:documentation>
115 Attempts to terminates process and return the attribute value as the process's exit code if the application is still running after sending any requested close and/or end session messages.
116 If this attribute is specified, the RebootPrompt attribute must be "no".
117 </xs:documentation>
118 </xs:annotation>
119 </xs:attribute>
120 <xs:attribute name="Timeout" type="wxs:Integer">
121 <xs:annotation>
122 <xs:documentation>
123 Optional time in seconds to wait for the application to exit after the close and/or end session messages. If the application is still running after the timeout then
124 the RebootPrompt or TerminateProcess attributes will be considered. The default value is "5" seconds.
125 </xs:documentation>
126 </xs:annotation>
127 </xs:attribute>
128 <xs:anyAttribute namespace="##other" processContents="lax">
129 <xs:annotation>
130 <xs:documentation>
131 Extensibility point in the WiX XML Schema. Schema extensions can register additional
132 attributes at this point in the schema.
133 </xs:documentation>
134 </xs:annotation>
135 </xs:anyAttribute>
136 </xs:complexType>
137 </xs:element>
138
139 <xs:element name="ComponentSearch">
140 <xs:annotation>
141 <xs:documentation>Describes a component search.</xs:documentation>
142 <xs:appinfo>
143 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
144 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
145 </xs:appinfo>
146 </xs:annotation>
147 <xs:complexType>
148 <xs:choice minOccurs="0" maxOccurs="unbounded">
149 <xs:any namespace="##other" processContents="lax">
150 <xs:annotation>
151 <xs:documentation>
152 Extensibility point in the WiX XML Schema. Schema extensions can register additional
153 elements at this point in the schema.
154 </xs:documentation>
155 </xs:annotation>
156 </xs:any>
157 </xs:choice>
158 <xs:attributeGroup ref="SearchCommonAttributes" />
159 <xs:attribute name="Guid" type="xs:string" use="required">
160 <xs:annotation>
161 <xs:documentation>Component to search for.</xs:documentation>
162 </xs:annotation>
163 </xs:attribute>
164 <xs:attribute name="ProductCode" type="xs:string">
165 <xs:annotation>
166 <xs:documentation>Optional ProductCode to determine if the component is installed.</xs:documentation>
167 </xs:annotation>
168 </xs:attribute>
169 <xs:attribute name="Result">
170 <xs:annotation>
171 <xs:documentation>
172 Rather than saving the matching key path into the variable, a ComponentSearch can save an attribute of the component instead.
173 </xs:documentation>
174 </xs:annotation>
175 <xs:simpleType>
176 <xs:restriction base="xs:NMTOKEN">
177 <xs:enumeration value="directory">
178 <xs:annotation>
179 <xs:documentation>Saves the parent directory for the component's file key path; other types of key path are returned unmodified.</xs:documentation>
180 </xs:annotation>
181 </xs:enumeration>
182 <xs:enumeration value="keyPath">
183 <xs:annotation>
184 <xs:documentation>Saves the key path of the component if installed. This is the default.</xs:documentation>
185 </xs:annotation>
186 </xs:enumeration>
187 <xs:enumeration value="state">
188 <xs:annotation>
189 <xs:documentation>Saves the state of the component: absent (2), locally installed (3), will run from source (4), or installed in default location (either local or from source) (5)</xs:documentation>
190 </xs:annotation>
191 </xs:enumeration>
192 </xs:restriction>
193 </xs:simpleType>
194 </xs:attribute>
195 <xs:anyAttribute namespace="##other" processContents="lax">
196 <xs:annotation>
197 <xs:documentation>
198 Extensibility point in the WiX XML Schema. Schema extensions can register additional
199 attributes at this point in the schema.
200 </xs:documentation>
201 </xs:annotation>
202 </xs:anyAttribute>
203 </xs:complexType>
204 </xs:element>
205
206 <xs:element name="ComponentSearchRef">
207 <xs:annotation>
208 <xs:documentation>References a ComponentSearch.</xs:documentation>
209 <xs:appinfo>
210 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
211 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
212 </xs:appinfo>
213 </xs:annotation>
214 <xs:complexType>
215 <xs:choice minOccurs="0" maxOccurs="unbounded">
216 <xs:any namespace="##other" processContents="lax">
217 <xs:annotation>
218 <xs:documentation>
219 Extensibility point in the WiX XML Schema. Schema extensions can register additional
220 elements at this point in the schema.
221 </xs:documentation>
222 </xs:annotation>
223 </xs:any>
224 </xs:choice>
225 <xs:attribute name="Id" type="xs:string" use="required" />
226 <xs:anyAttribute namespace="##other" processContents="lax">
227 <xs:annotation>
228 <xs:documentation>
229 Extensibility point in the WiX XML Schema. Schema extensions can register additional
230 attributes at this point in the schema.
231 </xs:documentation>
232 </xs:annotation>
233 </xs:anyAttribute>
234 </xs:complexType>
235 </xs:element>
236
237 <xs:element name="DirectorySearch">
238 <xs:annotation>
239 <xs:documentation>Describes a directory search.</xs:documentation>
240 <xs:appinfo>
241 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
242 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
243 </xs:appinfo>
244 </xs:annotation>
245 <xs:complexType>
246 <xs:choice minOccurs="0" maxOccurs="unbounded">
247 <xs:any namespace="##other" processContents="lax">
248 <xs:annotation>
249 <xs:documentation>
250 Extensibility point in the WiX XML Schema. Schema extensions can register additional
251 elements at this point in the schema.
252 </xs:documentation>
253 </xs:annotation>
254 </xs:any>
255 </xs:choice>
256 <xs:attributeGroup ref="SearchCommonAttributes" />
257 <xs:attribute name="Path" type="xs:string">
258 <xs:annotation>
259 <xs:documentation>Directory path to search for.</xs:documentation>
260 </xs:annotation>
261 </xs:attribute>
262 <xs:attribute name="DisableFileRedirection" type="wxs:YesNoTypeUnion">
263 <xs:annotation>
264 <xs:documentation>When set to "yes" and the running bundle is 32-bit, Wow64DisableWow64FsRedirection is called before starting the search.</xs:documentation>
265 </xs:annotation>
266 </xs:attribute>
267 <xs:attribute name="Result">
268 <xs:annotation>
269 <xs:documentation>
270 Rather than saving the matching directory path into the variable, a DirectorySearch can save an
271 attribute of the matching directory instead.
272 </xs:documentation>
273 </xs:annotation>
274 <xs:simpleType>
275 <xs:restriction base="xs:NMTOKEN">
276 <xs:enumeration value="exists">
277 <xs:annotation>
278 <xs:documentation>Saves true if a matching directory is found; false otherwise.</xs:documentation>
279 </xs:annotation>
280 </xs:enumeration>
281 </xs:restriction>
282 </xs:simpleType>
283 </xs:attribute>
284 <xs:anyAttribute namespace="##other" processContents="lax">
285 <xs:annotation>
286 <xs:documentation>
287 Extensibility point in the WiX XML Schema. Schema extensions can register additional
288 attributes at this point in the schema.
289 </xs:documentation>
290 </xs:annotation>
291 </xs:anyAttribute>
292 </xs:complexType>
293 </xs:element>
294
295 <xs:element name="DirectorySearchRef">
296 <xs:annotation>
297 <xs:documentation>References a DirectorySearch.</xs:documentation>
298 <xs:appinfo>
299 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
300 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
301 </xs:appinfo>
302 </xs:annotation>
303 <xs:complexType>
304 <xs:choice minOccurs="0" maxOccurs="unbounded">
305 <xs:any namespace="##other" processContents="lax">
306 <xs:annotation>
307 <xs:documentation>
308 Extensibility point in the WiX XML Schema. Schema extensions can register additional
309 elements at this point in the schema.
310 </xs:documentation>
311 </xs:annotation>
312 </xs:any>
313 </xs:choice>
314 <xs:attribute name="Id" type="xs:string" use="required" />
315 <xs:anyAttribute namespace="##other" processContents="lax">
316 <xs:annotation>
317 <xs:documentation>
318 Extensibility point in the WiX XML Schema. Schema extensions can register additional
319 attributes at this point in the schema.
320 </xs:documentation>
321 </xs:annotation>
322 </xs:anyAttribute>
323 </xs:complexType>
324 </xs:element>
325
326 <xs:element name="EventSource">
327 <xs:annotation>
328 <xs:appinfo>
329 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
330 </xs:appinfo>
331 <xs:documentation>Creates an event source.</xs:documentation>
332 </xs:annotation>
333 <xs:complexType>
334 <xs:choice minOccurs="0" maxOccurs="unbounded">
335 <xs:any namespace="##other" processContents="lax">
336 <xs:annotation>
337 <xs:documentation>
338 Extensibility point in the WiX XML Schema. Schema extensions can register additional
339 elements at this point in the schema.
340 </xs:documentation>
341 </xs:annotation>
342 </xs:any>
343 </xs:choice>
344 <xs:attribute name="CategoryCount" type="wxs:Integer">
345 <xs:annotation>
346 <xs:documentation>
347 The number of categories in CategoryMessageFile. CategoryMessageFile
348 must be specified too.
349 </xs:documentation>
350 </xs:annotation>
351 </xs:attribute>
352 <xs:attribute name="CategoryMessageFile" type="xs:string">
353 <xs:annotation>
354 <xs:documentation>
355 Name of the category message file. CategoryCount must be specified too.
356 Note that this is a formatted field, so you can use [#fileId] syntax to
357 refer to a file being installed. It is also written as a REG_EXPAND_SZ
358 string, so you can use %environment_variable% syntax to refer to a file
359 already present on the user's machine.
360 </xs:documentation>
361 </xs:annotation>
362 </xs:attribute>
363 <xs:attribute name="EventMessageFile" type="xs:string" use="required">
364 <xs:annotation>
365 <xs:documentation>
366 Name of the event message file.
367 Note that this is a formatted field, so you can use [#fileId] syntax to
368 refer to a file being installed. It is also written as a REG_EXPAND_SZ
369 string, so you can use %environment_variable% syntax to refer to a file
370 already present on the user's machine.
371 </xs:documentation>
372 </xs:annotation>
373 </xs:attribute>
374 <xs:attribute name="KeyPath" type="wxs:YesNoTypeUnion">
375 <xs:annotation>
376 <xs:documentation>
377 Marks the EventSource registry as the key path of the component it belongs to.
378 </xs:documentation>
379 </xs:annotation>
380 </xs:attribute>
381 <xs:attribute name="Log" type="xs:string" use="required">
382 <xs:annotation>
383 <xs:documentation>Name of the event source's log. The "Security" log is not support.</xs:documentation>
384 </xs:annotation>
385 </xs:attribute>
386 <xs:attribute name="Name" type="xs:string" use="required">
387 <xs:annotation>
388 <xs:documentation>Name of the event source.</xs:documentation>
389 </xs:annotation>
390 </xs:attribute>
391 <xs:attribute name="ParameterMessageFile" type="xs:string">
392 <xs:annotation>
393 <xs:documentation>
394 Name of the parameter message file.
395 Note that this is a formatted field, so you can use [#fileId] syntax to
396 refer to a file being installed. It is also written as a REG_EXPAND_SZ
397 string, so you can use %environment_variable% syntax to refer to a file
398 already present on the user's machine.
399 </xs:documentation>
400 </xs:annotation>
401 </xs:attribute>
402 <xs:attribute name="SupportsErrors" type="wxs:YesNoTypeUnion">
403 <xs:annotation>
404 <xs:documentation>
405 Equivalent to EVENTLOG_ERROR_TYPE.
406 </xs:documentation>
407 </xs:annotation>
408 </xs:attribute>
409 <xs:attribute name="SupportsFailureAudits" type="wxs:YesNoTypeUnion">
410 <xs:annotation>
411 <xs:documentation>
412 Equivalent to EVENTLOG_AUDIT_FAILURE.
413 </xs:documentation>
414 </xs:annotation>
415 </xs:attribute>
416 <xs:attribute name="SupportsInformationals" type="wxs:YesNoTypeUnion">
417 <xs:annotation>
418 <xs:documentation>
419 Equivalent to EVENTLOG_INFORMATION_TYPE.
420 </xs:documentation>
421 </xs:annotation>
422 </xs:attribute>
423 <xs:attribute name="SupportsSuccessAudits" type="wxs:YesNoTypeUnion">
424 <xs:annotation>
425 <xs:documentation>
426 Equivalent to EVENTLOG_AUDIT_SUCCESS.
427 </xs:documentation>
428 </xs:annotation>
429 </xs:attribute>
430 <xs:attribute name="SupportsWarnings" type="wxs:YesNoTypeUnion">
431 <xs:annotation>
432 <xs:documentation>
433 Equivalent to EVENTLOG_WARNING_TYPE.
434 </xs:documentation>
435 </xs:annotation>
436 </xs:attribute>
437 <xs:anyAttribute namespace="##other" processContents="lax">
438 <xs:annotation>
439 <xs:documentation>
440 Extensibility point in the WiX XML Schema. Schema extensions can register additional
441 attributes at this point in the schema.
442 </xs:documentation>
443 </xs:annotation>
444 </xs:anyAttribute>
445 </xs:complexType>
446 </xs:element>
447
448 <xs:element name="FileSearch">
449 <xs:annotation>
450 <xs:documentation>Describes a file search.</xs:documentation>
451 <xs:appinfo>
452 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
453 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
454 </xs:appinfo>
455 </xs:annotation>
456 <xs:complexType>
457 <xs:choice minOccurs="0" maxOccurs="unbounded">
458 <xs:any namespace="##other" processContents="lax">
459 <xs:annotation>
460 <xs:documentation>
461 Extensibility point in the WiX XML Schema. Schema extensions can register additional
462 elements at this point in the schema.
463 </xs:documentation>
464 </xs:annotation>
465 </xs:any>
466 </xs:choice>
467 <xs:attributeGroup ref="SearchCommonAttributes" />
468 <xs:attribute name="Path" type="xs:string">
469 <xs:annotation>
470 <xs:documentation>File path to search for.</xs:documentation>
471 </xs:annotation>
472 </xs:attribute>
473 <xs:attribute name="DisableFileRedirection" type="wxs:YesNoTypeUnion">
474 <xs:annotation>
475 <xs:documentation>When set to "yes" and the running bundle is 32-bit, Wow64DisableWow64FsRedirection is called before starting the search.</xs:documentation>
476 </xs:annotation>
477 </xs:attribute>
478 <xs:attribute name="Result">
479 <xs:annotation>
480 <xs:documentation>
481 Rather than saving the matching file path into the variable, a FileSearch can save an attribute of the matching file instead.
482 </xs:documentation>
483 </xs:annotation>
484 <xs:simpleType>
485 <xs:restriction base="xs:NMTOKEN">
486 <xs:enumeration value="exists">
487 <xs:annotation>
488 <xs:documentation>Saves true if a matching file is found; false otherwise.</xs:documentation>
489 </xs:annotation>
490 </xs:enumeration>
491 <xs:enumeration value="version">
492 <xs:annotation>
493 <xs:documentation>Saves the version information for files that have it (.exe, .dll); zero-version (0.0.0.0) otherwise.</xs:documentation>
494 </xs:annotation>
495 </xs:enumeration>
496 </xs:restriction>
497 </xs:simpleType>
498 </xs:attribute>
499 <xs:anyAttribute namespace="##other" processContents="lax">
500 <xs:annotation>
501 <xs:documentation>
502 Extensibility point in the WiX XML Schema. Schema extensions can register additional
503 attributes at this point in the schema.
504 </xs:documentation>
505 </xs:annotation>
506 </xs:anyAttribute>
507 </xs:complexType>
508 </xs:element>
509
510 <xs:element name="FileSearchRef">
511 <xs:annotation>
512 <xs:documentation>References a FileSearch.</xs:documentation>
513 <xs:appinfo>
514 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
515 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
516 </xs:appinfo>
517 </xs:annotation>
518 <xs:complexType>
519 <xs:choice minOccurs="0" maxOccurs="unbounded">
520 <xs:any namespace="##other" processContents="lax">
521 <xs:annotation>
522 <xs:documentation>
523 Extensibility point in the WiX XML Schema. Schema extensions can register additional
524 elements at this point in the schema.
525 </xs:documentation>
526 </xs:annotation>
527 </xs:any>
528 </xs:choice>
529 <xs:attribute name="Id" type="xs:string" use="required" />
530 <xs:anyAttribute namespace="##other" processContents="lax">
531 <xs:annotation>
532 <xs:documentation>
533 Extensibility point in the WiX XML Schema. Schema extensions can register additional
534 attributes at this point in the schema.
535 </xs:documentation>
536 </xs:annotation>
537 </xs:anyAttribute>
538 </xs:complexType>
539 </xs:element>
540
541 <xs:element name="FileShare">
542 <xs:annotation>
543 <xs:appinfo>
544 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
545 </xs:appinfo>
546 <xs:documentation>Creates a file share out of the component's directory.</xs:documentation>
547 </xs:annotation>
548 <xs:complexType>
549 <xs:choice minOccurs="0" maxOccurs="unbounded">
550 <xs:element ref="FileSharePermission">
551 <xs:annotation>
552 <xs:documentation>At least one of these ACL permission must be specified.</xs:documentation>
553 </xs:annotation>
554 </xs:element>
555 <xs:any namespace="##other" processContents="lax">
556 <xs:annotation>
557 <xs:documentation>
558 Extensibility point in the WiX XML Schema. Schema extensions can register additional
559 elements at this point in the schema.
560 </xs:documentation>
561 </xs:annotation>
562 </xs:any>
563 </xs:choice>
564 <xs:attribute name="Id" type="xs:string">
565 <xs:annotation>
566 <xs:documentation>Identifier for the file share (primary key).</xs:documentation>
567 </xs:annotation>
568 </xs:attribute>
569 <xs:attribute name="Name" type="xs:string" use="required">
570 <xs:annotation>
571 <xs:documentation>Name of the file share.</xs:documentation>
572 </xs:annotation>
573 </xs:attribute>
574 <xs:attribute name="Description" type="xs:string">
575 <xs:annotation>
576 <xs:documentation>Description of the file share.</xs:documentation>
577 </xs:annotation>
578 </xs:attribute>
579 <xs:anyAttribute namespace="##other" processContents="lax">
580 <xs:annotation>
581 <xs:documentation>
582 Extensibility point in the WiX XML Schema. Schema extensions can register additional
583 attributes at this point in the schema.
584 </xs:documentation>
585 </xs:annotation>
586 </xs:anyAttribute>
587 </xs:complexType>
588 </xs:element>
589
590 <xs:element name="FileSharePermission">
591 <xs:annotation>
592 <xs:documentation>
593 Sets ACLs on a FileShare. This element has no Id attribute.
594 The table and key are taken from the parent element.
595 </xs:documentation>
596 </xs:annotation>
597 <xs:complexType>
598 <xs:choice minOccurs="0" maxOccurs="unbounded">
599 <xs:any namespace="##other" processContents="lax">
600 <xs:annotation>
601 <xs:documentation>
602 Extensibility point in the WiX XML Schema. Schema extensions can register additional
603 elements at this point in the schema.
604 </xs:documentation>
605 </xs:annotation>
606 </xs:any>
607 </xs:choice>
608 <xs:attribute name="User" use="required" type="xs:string"></xs:attribute>
609 <!-- Common ACLs -->
610 <xs:attribute name="Read" type="wxs:YesNoTypeUnion"></xs:attribute>
611 <xs:attribute name="Delete" type="wxs:YesNoTypeUnion"></xs:attribute>
612 <xs:attribute name="ReadPermission" type="wxs:YesNoTypeUnion"></xs:attribute>
613 <xs:attribute name="ChangePermission" type="wxs:YesNoTypeUnion"></xs:attribute>
614 <xs:attribute name="TakeOwnership" type="wxs:YesNoTypeUnion"></xs:attribute>
615 <!-- Folder and File ACLs -->
616 <xs:attribute name="ReadAttributes" type="wxs:YesNoTypeUnion"></xs:attribute>
617 <xs:attribute name="WriteAttributes" type="wxs:YesNoTypeUnion"></xs:attribute>
618 <xs:attribute name="ReadExtendedAttributes" type="wxs:YesNoTypeUnion"></xs:attribute>
619 <xs:attribute name="WriteExtendedAttributes" type="wxs:YesNoTypeUnion"></xs:attribute>
620 <xs:attribute name="Synchronize" type="wxs:YesNoTypeUnion"></xs:attribute>
621 <!-- Folder only ACLs -->
622 <xs:attribute name="CreateFile" type="wxs:YesNoTypeUnion">
623 <xs:annotation>
624 <xs:documentation>For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent.</xs:documentation>
625 </xs:annotation>
626 </xs:attribute>
627 <xs:attribute name="CreateChild" type="wxs:YesNoTypeUnion">
628 <xs:annotation>
629 <xs:documentation>For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent.</xs:documentation>
630 </xs:annotation>
631 </xs:attribute>
632 <xs:attribute name="DeleteChild" type="wxs:YesNoTypeUnion">
633 <xs:annotation>
634 <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>
635 </xs:annotation>
636 </xs:attribute>
637 <xs:attribute name="Traverse" type="wxs:YesNoTypeUnion">
638 <xs:annotation>
639 <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>
640 </xs:annotation>
641 </xs:attribute>
642 <!-- Generic ACLs, mapped by system to appropriate permissions -->
643 <xs:attribute name="GenericAll" type="wxs:YesNoTypeUnion"></xs:attribute>
644 <xs:attribute name="GenericExecute" type="wxs:YesNoTypeUnion"></xs:attribute>
645 <xs:attribute name="GenericWrite" type="wxs:YesNoTypeUnion"></xs:attribute>
646 <xs:attribute name="GenericRead" type="wxs:YesNoTypeUnion">
647 <xs:annotation>
648 <xs:documentation>specifying this will fail to grant read access</xs:documentation>
649 </xs:annotation>
650 </xs:attribute>
651 <xs:anyAttribute namespace="##other" processContents="lax">
652 <xs:annotation>
653 <xs:documentation>
654 Extensibility point in the WiX XML Schema. Schema extensions can register additional
655 attributes at this point in the schema.
656 </xs:documentation>
657 </xs:annotation>
658 </xs:anyAttribute>
659 </xs:complexType>
660 </xs:element>
661
662 <xs:element name="FormatFile">
663 <xs:annotation>
664 <xs:appinfo>
665 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="File" />
666 </xs:appinfo>
667 <xs:documentation>
668 Formats a file's contents at install time. The contents are formatted according to the rules of the
669 [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) data type.
670 </xs:documentation>
671 </xs:annotation>
672 <xs:complexType>
673 <xs:choice minOccurs="0" maxOccurs="unbounded">
674 <xs:any namespace="##other" processContents="lax">
675 <xs:annotation>
676 <xs:documentation>
677 Extensibility point in the WiX XML Schema. Schema extensions can register additional
678 elements at this point in the schema.
679 </xs:documentation>
680 </xs:annotation>
681 </xs:any>
682 </xs:choice>
683 <xs:attribute name="BinaryRef" type="xs:string" use="required">
684 <xs:annotation>
685 <xs:documentation>
686 The id of a Binary row that contains a copy of the file. The file in the Binary table overwrites whatever
687 file is installed by the parent component.
688 </xs:documentation>
689 </xs:annotation>
690 </xs:attribute>
691 <xs:anyAttribute namespace="##other" processContents="lax">
692 <xs:annotation>
693 <xs:documentation>
694 Extensibility point in the WiX XML Schema. Schema extensions can register additional
695 attributes at this point in the schema.
696 </xs:documentation>
697 </xs:annotation>
698 </xs:anyAttribute>
699 </xs:complexType>
700 </xs:element>
701
702 <xs:element name="Group">
703 <xs:annotation>
704 <xs:documentation>Group for all kinds of (usergroup) 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 GroupRef element under a User element (to add the User to the Group). When it is nested under a Component element, the Group will be created on install and can also be used for reference.</xs:documentation>
705 <xs:appinfo>
706 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
707 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
708 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
709 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
710 <xse:seeAlso ref="GroupRef" />
711 </xs:appinfo>
712 </xs:annotation>
713 <xs:complexType>
714 <xs:choice minOccurs="0" maxOccurs="unbounded">
715 <xs:element ref="GroupRef" minOccurs="0" maxOccurs="unbounded" />
716 <xs:any namespace="##other" processContents="lax">
717 <xs:annotation>
718 <xs:documentation>
719 Extensibility point in the WiX XML Schema. Schema extensions can register additional
720 elements at this point in the schema.
721 </xs:documentation>
722 </xs:annotation>
723 </xs:any>
724 </xs:choice>
725 <xs:attribute name="Id" type="xs:string">
726 <xs:annotation>
727 <xs:documentation>Unique identifier in your installation package for this group.</xs:documentation>
728 </xs:annotation>
729 </xs:attribute>
730 <xs:attribute name="Name" type="xs:string" use="required">
731 <xs:annotation>
732 <xs:documentation>A [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that contains the name of the group.</xs:documentation>
733 </xs:annotation>
734 </xs:attribute>
735 <xs:attribute name="Domain" type="xs:string">
736 <xs:annotation>
737 <xs:documentation>An optional [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that specifies the domain for the group.</xs:documentation>
738 </xs:annotation>
739 </xs:attribute>
740 <xs:attribute name="RemoveOnUninstall" type="wxs:YesNoTypeUnion">
741 <xs:annotation>
742 <xs:documentation>Indicates whether the group should be removed or left behind on uninstall.</xs:documentation>
743 </xs:annotation>
744 </xs:attribute>
745 <xs:attribute name="FailIfExists" type="wxs:YesNoTypeUnion">
746 <xs:annotation>
747 <xs:documentation>Indicates if the install should fail if the group already exists.</xs:documentation>
748 </xs:annotation>
749 </xs:attribute>
750 <xs:attribute name="UpdateIfExists" type="wxs:YesNoTypeUnion">
751 <xs:annotation>
752 <xs:documentation>Indicates if the group properties should be updated if the group already exists.</xs:documentation>
753 </xs:annotation>
754 </xs:attribute>
755 <xs:attribute name="CreateGroup" type="wxs:YesNoTypeUnion">
756 <xs:annotation>
757 <xs:documentation>Indicates whether or not to create the group. Group creation can be skipped if all that is desired is to add group memberships.</xs:documentation>
758 </xs:annotation>
759 </xs:attribute>
760 <xs:attribute name="Vital" type="wxs:YesNoTypeUnion">
761 <xs:annotation>
762 <xs:documentation>Indicates whether failure to create the group or add the group to another group fails the installation. The default value is "yes".</xs:documentation>
763 </xs:annotation>
764 </xs:attribute>
765 <xs:attribute name="Comment" type="xs:string">
766 <xs:annotation>
767 <xs:documentation>Optional comment to set on the group.</xs:documentation>
768 </xs:annotation>
769 </xs:attribute>
770 <xs:attribute name="RemoveComment" type="wxs:YesNoTypeUnion">
771 <xs:annotation>
772 <xs:documentation>Indicates whether remove the comment from the group. The default value is "no".</xs:documentation>
773 </xs:annotation>
774 </xs:attribute>
775 <xs:anyAttribute namespace="##other" processContents="lax">
776 <xs:annotation>
777 <xs:documentation>
778 Extensibility point in the WiX XML Schema. Schema extensions can register additional
779 attributes at this point in the schema.
780 </xs:documentation>
781 </xs:annotation>
782 </xs:anyAttribute>
783 </xs:complexType>
784 </xs:element>
785
786 <xs:element name="GroupRef">
787 <xs:annotation>
788 <xs:documentation>Used to join a user / group to a group</xs:documentation>
789 </xs:annotation>
790 <xs:complexType>
791 <xs:choice minOccurs="0" maxOccurs="unbounded">
792 <xs:any namespace="##other" processContents="lax">
793 <xs:annotation>
794 <xs:documentation>
795 Extensibility point in the WiX XML Schema. Schema extensions can register additional
796 elements at this point in the schema.
797 </xs:documentation>
798 </xs:annotation>
799 </xs:any>
800 </xs:choice>
801 <xs:attribute name="Id" type="xs:string" use="required" />
802 <xs:anyAttribute namespace="##other" processContents="lax">
803 <xs:annotation>
804 <xs:documentation>
805 Extensibility point in the WiX XML Schema. Schema extensions can register additional
806 attributes at this point in the schema.
807 </xs:documentation>
808 </xs:annotation>
809 </xs:anyAttribute>
810 </xs:complexType>
811 </xs:element>
812
813 <xs:element name="InternetShortcut">
814 <xs:annotation>
815 <xs:appinfo>
816 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
817 <xse:howtoRef href="files_and_registry/create_internet_shortcut.html">How To: Create a shortcut to a webpage</xse:howtoRef>
818 </xs:appinfo>
819 <xs:documentation>Creates a shortcut to a URL.</xs:documentation>
820 </xs:annotation>
821 <xs:complexType>
822 <xs:choice minOccurs="0" maxOccurs="unbounded">
823 <xs:any namespace="##other" processContents="lax">
824 <xs:annotation>
825 <xs:documentation>
826 Extensibility point in the WiX XML Schema. Schema extensions can register additional
827 elements at this point in the schema.
828 </xs:documentation>
829 </xs:annotation>
830 </xs:any>
831 </xs:choice>
832 <xs:attribute name="Id" type="xs:string">
833 <xs:annotation>
834 <xs:documentation>Unique identifier in your installation package for this Internet shortcut.</xs:documentation>
835 </xs:annotation>
836 </xs:attribute>
837 <xs:attribute name="Directory" type="xs:string">
838 <xs:annotation>
839 <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>
840 </xs:annotation>
841 </xs:attribute>
842 <xs:attribute name="Name" type="xs:string" use="required">
843 <xs:annotation>
844 <xs:documentation>
845 The name of the shortcut file, which is visible to the user. (The .lnk
846 extension is added automatically and by default, is not shown to the user.)
847 </xs:documentation>
848 </xs:annotation>
849 </xs:attribute>
850 <xs:attribute name="Target" type="xs:string" use="required">
851 <xs:annotation>
852 <xs:documentation>
853 URL that should be opened when the user selects the shortcut. Windows
854 opens the URL in the appropriate handler for the protocol specified
855 in the URL. Note that this is a formatted field, so you can use
856 [#fileId] syntax to refer to a file being installed (using the file:
857 protocol).
858 </xs:documentation>
859 </xs:annotation>
860 </xs:attribute>
861 <xs:attribute name="Type">
862 <xs:annotation>
863 <xs:documentation>Which type of shortcut should be created.</xs:documentation>
864 </xs:annotation>
865 <xs:simpleType>
866 <xs:restriction base="xs:NMTOKEN">
867 <xs:enumeration value="url">
868 <xs:annotation>
869 <xs:documentation>Creates .url files using IUniformResourceLocatorW.</xs:documentation>
870 </xs:annotation>
871 </xs:enumeration>
872 <xs:enumeration value="link">
873 <xs:annotation>
874 <xs:documentation>Creates .lnk files using IShellLinkW (default).</xs:documentation>
875 </xs:annotation>
876 </xs:enumeration>
877 </xs:restriction>
878 </xs:simpleType>
879 </xs:attribute>
880 <xs:attribute name="IconFile" type="xs:string">
881 <xs:annotation>
882 <xs:documentation>
883 Icon file that should be displayed. Note that this is a formatted field, so you can use
884 [#fileId] syntax to refer to a file being installed (using the file:
885 protocol).
886 </xs:documentation>
887 </xs:annotation>
888 </xs:attribute>
889 <xs:attribute name="IconIndex" type="wxs:Integer">
890 <xs:annotation>
891 <xs:documentation>
892 Index of the icon being referenced.
893 </xs:documentation>
894 </xs:annotation>
895 </xs:attribute>
896 <xs:anyAttribute namespace="##other" processContents="lax">
897 <xs:annotation>
898 <xs:documentation>
899 Extensibility point in the WiX XML Schema. Schema extensions can register additional
900 attributes at this point in the schema.
901 </xs:documentation>
902 </xs:annotation>
903 </xs:anyAttribute>
904 </xs:complexType>
905 </xs:element>
906
907 <xs:element name="PerformanceCategory">
908 <xs:annotation>
909 <xs:appinfo>
910 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
911 </xs:appinfo>
912 <xs:documentation>Used to create performance categories and configure performance counters.</xs:documentation>
913 </xs:annotation>
914 <xs:complexType>
915 <xs:choice minOccurs="0" maxOccurs="unbounded">
916 <xs:element ref="PerformanceCounter" />
917 <xs:any namespace="##other" processContents="lax">
918 <xs:annotation>
919 <xs:documentation>
920 Extensibility point in the WiX XML Schema. Schema extensions can register additional
921 elements at this point in the schema.
922 </xs:documentation>
923 </xs:annotation>
924 </xs:any>
925 </xs:choice>
926 <xs:attribute name="Id" type="xs:string">
927 <xs:annotation>
928 <xs:documentation>Unique identifier in your installation package for this performance counter category.</xs:documentation>
929 </xs:annotation>
930 </xs:attribute>
931 <xs:attribute name="Name" type="xs:string">
932 <xs:annotation>
933 <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>
934 </xs:annotation>
935 </xs:attribute>
936 <xs:attribute name="Help" type="xs:string">
937 <xs:annotation>
938 <xs:documentation>Optional help text for the performance counter category.</xs:documentation>
939 </xs:annotation>
940 </xs:attribute>
941 <xs:attribute name="MultiInstance" type="wxs:YesNoTypeUnion">
942 <xs:annotation>
943 <xs:documentation>Flag that specifies whether the performance counter category is multi or single instanced. Default is single instance.</xs:documentation>
944 </xs:annotation>
945 </xs:attribute>
946 <xs:attribute name="Library" type="xs:string">
947 <xs:annotation>
948 <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>
949 </xs:annotation>
950 </xs:attribute>
951 <xs:attribute name="Open" type="xs:string">
952 <xs:annotation>
953 <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>
954 </xs:annotation>
955 </xs:attribute>
956 <xs:attribute name="Close" type="xs:string">
957 <xs:annotation>
958 <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>
959 </xs:annotation>
960 </xs:attribute>
961 <xs:attribute name="Collect" type="xs:string">
962 <xs:annotation>
963 <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>
964 </xs:annotation>
965 </xs:attribute>
966 <xs:attribute name="DefaultLanguage" type="PerformanceCounterLanguageType">
967 <xs:annotation>
968 <xs:documentation>Default language for the performance category and contained counters' names and help text.</xs:documentation>
969 </xs:annotation>
970 </xs:attribute>
971 <xs:anyAttribute namespace="##other" processContents="lax">
972 <xs:annotation>
973 <xs:documentation>
974 Extensibility point in the WiX XML Schema. Schema extensions can register additional
975 attributes at this point in the schema.
976 </xs:documentation>
977 </xs:annotation>
978 </xs:anyAttribute>
979 </xs:complexType>
980 </xs:element>
981
982 <xs:element name="PerformanceCounter">
983 <xs:annotation>
984 <xs:documentation>Creates a performance counter in a performance category.</xs:documentation>
985 </xs:annotation>
986 <xs:complexType>
987 <xs:choice minOccurs="0" maxOccurs="unbounded">
988 <xs:any namespace="##other" processContents="lax">
989 <xs:annotation>
990 <xs:documentation>
991 Extensibility point in the WiX XML Schema. Schema extensions can register additional
992 elements at this point in the schema.
993 </xs:documentation>
994 </xs:annotation>
995 </xs:any>
996 </xs:choice>
997 <xs:attribute name="Name" type="xs:string">
998 <xs:annotation>
999 <xs:documentation>Name for the performance counter.</xs:documentation>
1000 </xs:annotation>
1001 </xs:attribute>
1002 <xs:attribute name="Help" type="xs:string">
1003 <xs:annotation>
1004 <xs:documentation>Optional help text for the performance counter.</xs:documentation>
1005 </xs:annotation>
1006 </xs:attribute>
1007 <xs:attribute name="Type" type="PerformanceCounterTypesType">
1008 <xs:annotation>
1009 <xs:documentation>Type of the performance counter.</xs:documentation>
1010 </xs:annotation>
1011 </xs:attribute>
1012 <xs:attribute name="Language" type="PerformanceCounterLanguageType">
1013 <xs:annotation>
1014 <xs:documentation>Language for the peformance counter name and help. The default is to use the parent PerformanceCategory element's DefaultLanguage attribute.</xs:documentation>
1015 </xs:annotation>
1016 </xs:attribute>
1017 <xs:anyAttribute namespace="##other" processContents="lax">
1018 <xs:annotation>
1019 <xs:documentation>
1020 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1021 attributes at this point in the schema.
1022 </xs:documentation>
1023 </xs:annotation>
1024 </xs:anyAttribute>
1025 </xs:complexType>
1026 </xs:element>
1027
1028 <xs:element name="PerfCounter">
1029 <xs:annotation>
1030 <xs:appinfo>
1031 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="File" />
1032 <xse:deprecated ref="PerformanceCounter" />
1033 </xs:appinfo>
1034 <xs:documentation>Used to install Perfmon counters.</xs:documentation>
1035 </xs:annotation>
1036 <xs:complexType>
1037 <xs:choice minOccurs="0" maxOccurs="unbounded">
1038 <xs:any namespace="##other" processContents="lax">
1039 <xs:annotation>
1040 <xs:documentation>
1041 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1042 elements at this point in the schema.
1043 </xs:documentation>
1044 </xs:annotation>
1045 </xs:any>
1046 </xs:choice>
1047 <xs:attribute name="Name" type="xs:string" />
1048 <xs:anyAttribute namespace="##other" processContents="lax">
1049 <xs:annotation>
1050 <xs:documentation>
1051 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1052 attributes at this point in the schema.
1053 </xs:documentation>
1054 </xs:annotation>
1055 </xs:anyAttribute>
1056 </xs:complexType>
1057 </xs:element>
1058
1059 <xs:element name="PerfCounterManifest">
1060 <xs:annotation>
1061 <xs:appinfo>
1062 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="File" />
1063 </xs:appinfo>
1064 <xs:documentation>
1065 Used to install Perfmon Counter Manifests.
1066 Note that this functionality cannot be used with major upgrades that are scheduled after the InstallExecute,
1067 InstallExecuteAgain, or InstallFinalize actions. For more information on major upgrade scheduling, see
1068 [RemoveExistingProducts Action](https://learn.microsoft.com/en-us/windows/win32/msi/removeexistingproducts-action).
1069 </xs:documentation>
1070 </xs:annotation>
1071 <xs:complexType>
1072 <xs:choice minOccurs="0" maxOccurs="unbounded">
1073 <xs:any namespace="##other" processContents="lax">
1074 <xs:annotation>
1075 <xs:documentation>
1076 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1077 elements at this point in the schema.
1078 </xs:documentation>
1079 </xs:annotation>
1080 </xs:any>
1081 </xs:choice>
1082 <xs:attribute name="ResourceFileDirectory" type="xs:string">
1083 <xs:annotation>
1084 <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>
1085 </xs:annotation>
1086 </xs:attribute>
1087 <xs:anyAttribute namespace="##other" processContents="lax">
1088 <xs:annotation>
1089 <xs:documentation>
1090 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1091 attributes at this point in the schema.
1092 </xs:documentation>
1093 </xs:annotation>
1094 </xs:anyAttribute>
1095 </xs:complexType>
1096 </xs:element>
1097
1098 <xs:element name="EventManifest">
1099 <xs:annotation>
1100 <xs:appinfo>
1101 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="File" />
1102 </xs:appinfo>
1103 <xs:documentation>Used to install Event Manifests.</xs:documentation>
1104 </xs:annotation>
1105 <xs:complexType>
1106 <xs:choice minOccurs="0" maxOccurs="unbounded">
1107 <xs:any namespace="##other" processContents="lax">
1108 <xs:annotation>
1109 <xs:documentation>
1110 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1111 elements at this point in the schema.
1112 </xs:documentation>
1113 </xs:annotation>
1114 </xs:any>
1115 </xs:choice>
1116 <xs:attribute name="MessageFile" type="xs:string">
1117 <xs:annotation>
1118 <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>
1119 </xs:annotation>
1120 </xs:attribute>
1121 <xs:attribute name="ParameterFile" type="xs:string">
1122 <xs:annotation>
1123 <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>
1124 </xs:annotation>
1125 </xs:attribute>
1126 <xs:attribute name="ResourceFile" type="xs:string">
1127 <xs:annotation>
1128 <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>
1129 </xs:annotation>
1130 </xs:attribute>
1131 <xs:anyAttribute namespace="##other" processContents="lax">
1132 <xs:annotation>
1133 <xs:documentation>
1134 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1135 attributes at this point in the schema.
1136 </xs:documentation>
1137 </xs:annotation>
1138 </xs:anyAttribute>
1139 </xs:complexType>
1140 </xs:element>
1141
1142 <xs:element name="PermissionEx">
1143 <xs:annotation>
1144 <xs:documentation>
1145 Sets ACLs on File, Registry, CreateFolder, or ServiceInstall. When under a Registry element, this cannot be used
1146 if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute.
1147 The table and key are taken from the parent element.
1148 </xs:documentation>
1149 <xs:appinfo>
1150 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="CreateFolder" />
1151 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="File" />
1152 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="RegistryKey" />
1153 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="RegistryValue" />
1154 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="ServiceInstall" />
1155 </xs:appinfo>
1156 </xs:annotation>
1157 <xs:complexType>
1158 <xs:choice minOccurs="0" maxOccurs="unbounded">
1159 <xs:any namespace="##other" processContents="lax">
1160 <xs:annotation>
1161 <xs:documentation>
1162 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1163 elements at this point in the schema.
1164 </xs:documentation>
1165 </xs:annotation>
1166 </xs:any>
1167 </xs:choice>
1168 <xs:attribute name="User" type="xs:string" use="required"></xs:attribute>
1169 <xs:attribute name="Domain" type="xs:string"></xs:attribute>
1170 <xs:attribute name="Inheritable" type="wxs:YesNoTypeUnion">
1171 <xs:annotation>
1172 <xs:documentation>Whether the permissions are inheritable. The default is "yes".</xs:documentation>
1173 </xs:annotation>
1174 </xs:attribute>
1175 <!-- Common ACLs -->
1176 <xs:attribute name="Read" type="wxs:YesNoTypeUnion"></xs:attribute>
1177 <xs:attribute name="Delete" type="wxs:YesNoTypeUnion"></xs:attribute>
1178 <xs:attribute name="ReadPermission" type="wxs:YesNoTypeUnion"></xs:attribute>
1179 <xs:attribute name="ChangePermission" type="wxs:YesNoTypeUnion"></xs:attribute>
1180 <xs:attribute name="TakeOwnership" type="wxs:YesNoTypeUnion"></xs:attribute>
1181 <!-- Folder and File ACLs -->
1182 <xs:attribute name="ReadAttributes" type="wxs:YesNoTypeUnion"></xs:attribute>
1183 <xs:attribute name="WriteAttributes" type="wxs:YesNoTypeUnion"></xs:attribute>
1184 <xs:attribute name="ReadExtendedAttributes" type="wxs:YesNoTypeUnion"></xs:attribute>
1185 <xs:attribute name="WriteExtendedAttributes" type="wxs:YesNoTypeUnion"></xs:attribute>
1186 <xs:attribute name="Synchronize" type="wxs:YesNoTypeUnion"></xs:attribute>
1187 <!-- Folder only ACLs -->
1188 <xs:attribute name="CreateFile" type="wxs:YesNoTypeUnion">
1189 <xs:annotation>
1190 <xs:documentation>For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent.</xs:documentation>
1191 </xs:annotation>
1192 </xs:attribute>
1193 <xs:attribute name="CreateChild" type="wxs:YesNoTypeUnion">
1194 <xs:annotation>
1195 <xs:documentation>For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent.</xs:documentation>
1196 </xs:annotation>
1197 </xs:attribute>
1198 <xs:attribute name="DeleteChild" type="wxs:YesNoTypeUnion">
1199 <xs:annotation>
1200 <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>
1201 </xs:annotation>
1202 </xs:attribute>
1203 <xs:attribute name="Traverse" type="wxs:YesNoTypeUnion">
1204 <xs:annotation>
1205 <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>
1206 </xs:annotation>
1207 </xs:attribute>
1208 <!-- File only ACLs -->
1209 <xs:attribute name="Append" type="wxs:YesNoTypeUnion"></xs:attribute>
1210 <xs:attribute name="Execute" type="wxs:YesNoTypeUnion"></xs:attribute>
1211 <!-- File and Registry ACLs -->
1212 <xs:attribute name="Write" type="wxs:YesNoTypeUnion"></xs:attribute>
1213 <!-- Registry only ACLs -->
1214 <xs:attribute name="CreateSubkeys" type="wxs:YesNoTypeUnion"></xs:attribute>
1215 <xs:attribute name="EnumerateSubkeys" type="wxs:YesNoTypeUnion"></xs:attribute>
1216 <xs:attribute name="Notify" type="wxs:YesNoTypeUnion"></xs:attribute>
1217 <xs:attribute name="CreateLink" type="wxs:YesNoTypeUnion"></xs:attribute>
1218 <!-- Generic ACLs, mapped by system to appropriate permissions -->
1219 <xs:attribute name="GenericAll" type="wxs:YesNoTypeUnion"></xs:attribute>
1220 <xs:attribute name="GenericExecute" type="wxs:YesNoTypeUnion"></xs:attribute>
1221 <xs:attribute name="GenericWrite" type="wxs:YesNoTypeUnion"></xs:attribute>
1222 <xs:attribute name="GenericRead" type="wxs:YesNoTypeUnion">
1223 <xs:annotation>
1224 <xs:documentation>specifying this will fail to grant read access</xs:documentation>
1225 </xs:annotation>
1226 </xs:attribute>
1227 <!-- Service only ACLs -->
1228 <xs:attribute name="ServiceQueryConfig" type="wxs:YesNoTypeUnion">
1229 <xs:annotation>
1230 <xs:documentation>Required to call the QueryServiceConfig and QueryServiceConfig2 functions to query the service configuration. Only valid under a 'ServiceInstall' parent.</xs:documentation>
1231 </xs:annotation>
1232 </xs:attribute>
1233 <xs:attribute name="ServiceChangeConfig" type="wxs:YesNoTypeUnion">
1234 <xs:annotation>
1235 <xs:documentation>Required to call the ChangeServiceConfig or ChangeServiceConfig2 function to change the service configuration. Only valid under a 'ServiceInstall' parent.</xs:documentation>
1236 </xs:annotation>
1237 </xs:attribute>
1238 <xs:attribute name="ServiceQueryStatus" type="wxs:YesNoTypeUnion">
1239 <xs:annotation>
1240 <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>
1241 </xs:annotation>
1242 </xs:attribute>
1243 <xs:attribute name="ServiceEnumerateDependents" type="wxs:YesNoTypeUnion">
1244 <xs:annotation>
1245 <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>
1246 </xs:annotation>
1247 </xs:attribute>
1248 <xs:attribute name="ServiceStart" type="wxs:YesNoTypeUnion">
1249 <xs:annotation>
1250 <xs:documentation>Required to call the StartService function to start the service. Only valid under a 'ServiceInstall' parent.</xs:documentation>
1251 </xs:annotation>
1252 </xs:attribute>
1253 <xs:attribute name="ServiceStop" type="wxs:YesNoTypeUnion">
1254 <xs:annotation>
1255 <xs:documentation>Required to call the ControlService function to stop the service. Only valid under a 'ServiceInstall' parent.</xs:documentation>
1256 </xs:annotation>
1257 </xs:attribute>
1258 <xs:attribute name="ServicePauseContinue" type="wxs:YesNoTypeUnion">
1259 <xs:annotation>
1260 <xs:documentation>Required to call the ControlService function to pause or continue the service. Only valid under a 'ServiceInstall' parent.</xs:documentation>
1261 </xs:annotation>
1262 </xs:attribute>
1263 <xs:attribute name="ServiceInterrogate" type="wxs:YesNoTypeUnion">
1264 <xs:annotation>
1265 <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>
1266 </xs:annotation>
1267 </xs:attribute>
1268 <xs:attribute name="ServiceUserDefinedControl" type="wxs:YesNoTypeUnion">
1269 <xs:annotation>
1270 <xs:documentation>Required to call the ControlService function to specify a user-defined control code. Only valid under a 'ServiceInstall' parent.</xs:documentation>
1271 </xs:annotation>
1272 </xs:attribute>
1273 <xs:anyAttribute namespace="##other" processContents="lax">
1274 <xs:annotation>
1275 <xs:documentation>
1276 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1277 attributes at this point in the schema.
1278 </xs:documentation>
1279 </xs:annotation>
1280 </xs:anyAttribute>
1281 </xs:complexType>
1282 </xs:element>
1283
1284 <xs:element name="ProductSearch">
1285 <xs:annotation>
1286 <xs:documentation>Describes a product search.</xs:documentation>
1287 <xs:appinfo>
1288 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
1289 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
1290 </xs:appinfo>
1291 </xs:annotation>
1292 <xs:complexType>
1293 <xs:choice minOccurs="0" maxOccurs="unbounded">
1294 <xs:any namespace="##other" processContents="lax">
1295 <xs:annotation>
1296 <xs:documentation>
1297 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1298 elements at this point in the schema.
1299 </xs:documentation>
1300 </xs:annotation>
1301 </xs:any>
1302 </xs:choice>
1303 <xs:attributeGroup ref="SearchCommonAttributes" />
1304 <xs:attribute name="Guid" type="xs:string">
1305 <xs:annotation>
1306 <xs:documentation>The Guid attribute has been deprecated; use the ProductCode or UpgradeCode attribute instead. If this attribute is used, it is assumed to be a ProductCode.</xs:documentation>
1307 </xs:annotation>
1308 </xs:attribute>
1309 <xs:attribute name="ProductCode" type="xs:string">
1310 <xs:annotation>
1311 <xs:documentation>The ProductCode to use for the search. This attribute must be omitted if UpgradeCode is specified.</xs:documentation>
1312 </xs:annotation>
1313 </xs:attribute>
1314 <xs:attribute name="UpgradeCode" type="xs:string">
1315 <xs:annotation>
1316 <xs:documentation>The UpgradeCode to use for the search. This attribute must be omitted if ProductCode is specified. Note that if multiple products are found, the highest versioned product will be used for the result.</xs:documentation>
1317 </xs:annotation>
1318 </xs:attribute>
1319 <xs:attribute name="Result">
1320 <xs:annotation>
1321 <xs:documentation>
1322 Rather than saving the product version into the variable, a ProductSearch can save another attribute of the matching product instead.
1323 </xs:documentation>
1324 </xs:annotation>
1325 <xs:simpleType>
1326 <xs:restriction base="xs:NMTOKEN">
1327 <xs:enumeration value="assignment">
1328 <xs:annotation>
1329 <xs:documentation>Saves the assignment type of the product: per-user (0), or per-machine (1).</xs:documentation>
1330 </xs:annotation>
1331 </xs:enumeration>
1332 <xs:enumeration value="language">
1333 <xs:annotation>
1334 <xs:documentation>Saves the language of a matching product if found; empty otherwise.</xs:documentation>
1335 </xs:annotation>
1336 </xs:enumeration>
1337 <xs:enumeration value="state">
1338 <xs:annotation>
1339 <xs:documentation>Saves the state of the product: advertised (1), absent (2), or locally installed (5).</xs:documentation>
1340 </xs:annotation>
1341 </xs:enumeration>
1342 <xs:enumeration value="version">
1343 <xs:annotation>
1344 <xs:documentation>Saves the version of a matching product if found; 0.0.0.0 otherwise. This is the default.</xs:documentation>
1345 </xs:annotation>
1346 </xs:enumeration>
1347 </xs:restriction>
1348 </xs:simpleType>
1349 </xs:attribute>
1350 <xs:anyAttribute namespace="##other" processContents="lax">
1351 <xs:annotation>
1352 <xs:documentation>
1353 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1354 attributes at this point in the schema.
1355 </xs:documentation>
1356 </xs:annotation>
1357 </xs:anyAttribute>
1358 </xs:complexType>
1359 </xs:element>
1360
1361 <xs:element name="ProductSearchRef">
1362 <xs:annotation>
1363 <xs:documentation>References a ProductSearch.</xs:documentation>
1364 <xs:appinfo>
1365 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
1366 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
1367 </xs:appinfo>
1368 </xs:annotation>
1369 <xs:complexType>
1370 <xs:choice minOccurs="0" maxOccurs="unbounded">
1371 <xs:any namespace="##other" processContents="lax">
1372 <xs:annotation>
1373 <xs:documentation>
1374 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1375 elements at this point in the schema.
1376 </xs:documentation>
1377 </xs:annotation>
1378 </xs:any>
1379 </xs:choice>
1380 <xs:attribute name="Id" type="xs:string" use="required" />
1381 <xs:anyAttribute namespace="##other" processContents="lax">
1382 <xs:annotation>
1383 <xs:documentation>
1384 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1385 attributes at this point in the schema.
1386 </xs:documentation>
1387 </xs:annotation>
1388 </xs:anyAttribute>
1389 </xs:complexType>
1390 </xs:element>
1391
1392 <xs:element name="RemoveFolderEx">
1393 <xs:annotation>
1394 <xs:appinfo>
1395 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
1396 <xse:msiRef table="RemoveFile" href="https://learn.microsoft.com/en-us/windows/win32/msi/removefile-table"/>
1397 <xse:remarks>
1398 <html:p>
1399 The custom action that implements RemoveFolderEx does so by writing temporary rows to the RemoveFile table
1400 for each subfolder of the root folder you specify. Because it might dramatically affect Windows Installer's
1401 [File Costing](https://learn.microsoft.com/en-us/windows/win32/msi/file-costing),
1402 the temporary rows must be written before the CostInitialize standard action. Unfortunately, MSI doesn't
1403 create properties for the Directory hierarchy in your package until later, in the CostFinalize action.
1404 </html:p>
1405 <html:p>
1406 An easy workaround for a typical use case of removing a folder during uninstall is to write the directory
1407 path to the registry and to load it during uninstall. See [The WiX toolset's "Remember Property" pattern](http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern)
1408 for an example.
1409 </html:p>
1410 <html:p>
1411 If you use custom actions to set properties, ensure that they are scheduled before the WixRemoveFoldersEx custom action.
1412 </html:p>
1413 </xse:remarks>
1414 </xs:appinfo>
1415 <xs:documentation>
1416 Remove a folder and all contained files and folders if the parent component is selected for installation or removal.
1417 The folder must be specified in the Property attribute as the name of a property that will have a value that resolves
1418 to the full path of the folder before the CostInitialize action. Note that Directory ids cannot be used.
1419 For more details, see the Remarks.
1420 </xs:documentation>
1421 </xs:annotation>
1422 <xs:complexType>
1423 <xs:choice minOccurs="0" maxOccurs="unbounded">
1424 <xs:any namespace="##other" processContents="lax">
1425 <xs:annotation>
1426 <xs:documentation>
1427 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1428 elements at this point in the schema.
1429 </xs:documentation>
1430 </xs:annotation>
1431 </xs:any>
1432 </xs:choice>
1433 <xs:attribute name="Id" type="xs:string">
1434 <xs:annotation>
1435 <xs:documentation>
1436 Primary key used to identify this particular entry. If this is not specified, a stable identifier
1437 will be generated at compile time based on the other attributes.
1438 </xs:documentation>
1439 </xs:annotation>
1440 </xs:attribute>
1441 <xs:attribute name="Condition" type="xs:string">
1442 <xs:annotation>
1443 <xs:documentation>
1444 Condition that determines if the folders should be removed. Must be blank or evaluate to true
1445 for the folder to be scheduled for removal.
1446 </xs:documentation>
1447 </xs:annotation>
1448 </xs:attribute>
1449 <xs:attribute name="Property" type="xs:string">
1450 <xs:annotation>
1451 <xs:documentation>
1452 The id of a property that resolves to the full path of the source directory. The property does not have
1453 to exist in the installer database at creation time; it could be created at installation time by a custom
1454 action, on the command line, etc. The property value can contain environment variables surrounded by
1455 percent signs such as from a REG_EXPAND_SZ registry value; environment variables will be expanded before
1456 being evaluated for a full path.
1457 </xs:documentation>
1458 </xs:annotation>
1459 </xs:attribute>
1460 <xs:attribute name="On">
1461 <xs:annotation>
1462 <xs:documentation>
1463 This value determines when the folder may be removed.
1464 </xs:documentation>
1465 </xs:annotation>
1466 <xs:simpleType>
1467 <xs:restriction base="xs:NMTOKEN">
1468 <xs:enumeration value="install">
1469 <xs:annotation>
1470 <xs:documentation>
1471 Removes the folder only when the parent component is being installed (msiInstallStateLocal or msiInstallStateSource).
1472 </xs:documentation>
1473 </xs:annotation>
1474 </xs:enumeration>
1475 <xs:enumeration value="uninstall">
1476 <xs:annotation>
1477 <xs:documentation>
1478 Removes the folder only when the parent component is being removed (msiInstallStateAbsent). This is the default if the On attribute is not specified.
1479 </xs:documentation>
1480 </xs:annotation>
1481 </xs:enumeration>
1482 <xs:enumeration value="both">
1483 <xs:annotation>
1484 <xs:documentation>
1485 Removes the folder when the parent component is being installed or removed.
1486 </xs:documentation>
1487 </xs:annotation>
1488 </xs:enumeration>
1489 </xs:restriction>
1490 </xs:simpleType>
1491 </xs:attribute>
1492 <xs:anyAttribute namespace="##other" processContents="lax">
1493 <xs:annotation>
1494 <xs:documentation>
1495 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1496 attributes at this point in the schema.
1497 </xs:documentation>
1498 </xs:annotation>
1499 </xs:anyAttribute>
1500 </xs:complexType>
1501 </xs:element>
1502
1503 <xs:element name="RestartResource">
1504 <xs:annotation>
1505 <xs:documentation>Registers a resource with the Restart Manager.</xs:documentation>
1506 <xs:appinfo>
1507 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
1508 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
1509 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
1510 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
1511 </xs:appinfo>
1512 </xs:annotation>
1513 <xs:complexType>
1514 <xs:choice minOccurs="0" maxOccurs="unbounded">
1515 <xs:any namespace="##other" processContents="lax">
1516 <xs:annotation>
1517 <xs:documentation>
1518 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1519 elements at this point in the schema.
1520 </xs:documentation>
1521 </xs:annotation>
1522 </xs:any>
1523 </xs:choice>
1524 <xs:attribute name="Id" type="xs:string">
1525 <xs:annotation>
1526 <xs:documentation>
1527 The unique identifier for this resource. A unique identifier will
1528 be generated automatically if not specified.
1529 </xs:documentation>
1530 </xs:annotation>
1531 </xs:attribute>
1532 <xs:attribute name="Path" type="xs:string">
1533 <xs:annotation>
1534 <xs:documentation>
1535 The full path to the process module to register with the Restart Manager.
1536 This can be a formatted value that resolves to a full path.
1537 </xs:documentation>
1538 </xs:annotation>
1539 </xs:attribute>
1540 <xs:attribute name="ProcessName" type="xs:string">
1541 <xs:annotation>
1542 <xs:documentation>
1543 The name of a process to register with the Restart Manager.
1544 This can be a formatted value that resolves to a process name.
1545 </xs:documentation>
1546 </xs:annotation>
1547 </xs:attribute>
1548 <xs:attribute name="ServiceName" type="xs:string">
1549 <xs:annotation>
1550 <xs:documentation>
1551 The name of a Windows service to register with the Restart Manager.
1552 This can be a formatted value that resolves to a service name.
1553 </xs:documentation>
1554 </xs:annotation>
1555 </xs:attribute>
1556 <xs:anyAttribute namespace="##other" processContents="lax">
1557 <xs:annotation>
1558 <xs:documentation>
1559 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1560 attributes at this point in the schema.
1561 </xs:documentation>
1562 </xs:annotation>
1563 </xs:anyAttribute>
1564 </xs:complexType>
1565 </xs:element>
1566
1567 <xs:element name="RegistrySearch">
1568 <xs:annotation>
1569 <xs:documentation>Describes a registry search.</xs:documentation>
1570 <xs:appinfo>
1571 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
1572 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
1573 </xs:appinfo>
1574 </xs:annotation>
1575 <xs:complexType>
1576 <xs:choice minOccurs="0" maxOccurs="unbounded">
1577 <xs:any namespace="##other" processContents="lax">
1578 <xs:annotation>
1579 <xs:documentation>
1580 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1581 elements at this point in the schema.
1582 </xs:documentation>
1583 </xs:annotation>
1584 </xs:any>
1585 </xs:choice>
1586 <xs:attributeGroup ref="SearchCommonAttributes" />
1587 <xs:attribute name="Bitness" type="wxs:BitnessTypeUnion">
1588 <xs:annotation>
1589 <xs:documentation>
1590 Overrides the default registry to search. The value `always64` will force
1591 the search to look in the 64-bit registry even when building for 32-bit.
1592 Simliarly, the value `always32` will force the search to look in the 32-bit
1593 registry even when building for 64-bit.
1594 The default value is `default` where the search will look in the same registry
1595 as the bitness of the package.
1596 </xs:documentation>
1597 </xs:annotation>
1598 </xs:attribute>
1599 <xs:attribute name="Root" use="required">
1600 <xs:annotation>
1601 <xs:documentation>Registry root hive to search under.</xs:documentation>
1602 </xs:annotation>
1603 <xs:simpleType>
1604 <xs:restriction base="xs:NMTOKEN">
1605 <xs:enumeration value="HKLM">
1606 <xs:annotation>
1607 <xs:documentation>HKEY_LOCAL_MACHINE</xs:documentation>
1608 </xs:annotation>
1609 </xs:enumeration>
1610 <xs:enumeration value="HKCU">
1611 <xs:annotation>
1612 <xs:documentation>HKEY_CURRENT_USER</xs:documentation>
1613 </xs:annotation>
1614 </xs:enumeration>
1615 <xs:enumeration value="HKCR">
1616 <xs:annotation>
1617 <xs:documentation>HKEY_CLASSES_ROOT</xs:documentation>
1618 </xs:annotation>
1619 </xs:enumeration>
1620 <xs:enumeration value="HKU">
1621 <xs:annotation>
1622 <xs:documentation>HKEY_USERS</xs:documentation>
1623 </xs:annotation>
1624 </xs:enumeration>
1625 </xs:restriction>
1626 </xs:simpleType>
1627 </xs:attribute>
1628 <xs:attribute name="Key" type="xs:string" use="required">
1629 <xs:annotation>
1630 <xs:documentation>Key to search for.</xs:documentation>
1631 </xs:annotation>
1632 </xs:attribute>
1633 <xs:attribute name="Value" type="xs:string">
1634 <xs:annotation>
1635 <xs:documentation>Optional value to search for under the given Key.</xs:documentation>
1636 </xs:annotation>
1637 </xs:attribute>
1638 <xs:attribute name="ExpandEnvironmentVariables" type="wxs:YesNoTypeUnion">
1639 <xs:annotation>
1640 <xs:documentation>Whether to expand any environment variables in REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ values.</xs:documentation>
1641 </xs:annotation>
1642 </xs:attribute>
1643 <xs:attribute name="Result">
1644 <xs:annotation>
1645 <xs:documentation>
1646 Rather than saving the matching registry value into the variable, a RegistrySearch can save an attribute of the matching entry instead.
1647 </xs:documentation>
1648 </xs:annotation>
1649 <xs:simpleType>
1650 <xs:restriction base="xs:NMTOKEN">
1651 <xs:enumeration value="exists">
1652 <xs:annotation>
1653 <xs:documentation>Saves true if a matching registry entry is found; false otherwise.</xs:documentation>
1654 </xs:annotation>
1655 </xs:enumeration>
1656 <xs:enumeration value="value">
1657 <xs:annotation>
1658 <xs:documentation>Saves the value of the registry key in the variable. This is the default.</xs:documentation>
1659 </xs:annotation>
1660 </xs:enumeration>
1661 </xs:restriction>
1662 </xs:simpleType>
1663 </xs:attribute>
1664 <xs:anyAttribute namespace="##other" processContents="lax">
1665 <xs:annotation>
1666 <xs:documentation>
1667 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1668 attributes at this point in the schema.
1669 </xs:documentation>
1670 </xs:annotation>
1671 </xs:anyAttribute>
1672 </xs:complexType>
1673 </xs:element>
1674
1675 <xs:element name="RegistrySearchRef">
1676 <xs:annotation>
1677 <xs:documentation>References a RegistrySearch.</xs:documentation>
1678 <xs:appinfo>
1679 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
1680 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
1681 </xs:appinfo>
1682 </xs:annotation>
1683 <xs:complexType>
1684 <xs:choice minOccurs="0" maxOccurs="unbounded">
1685 <xs:any namespace="##other" processContents="lax">
1686 <xs:annotation>
1687 <xs:documentation>
1688 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1689 elements at this point in the schema.
1690 </xs:documentation>
1691 </xs:annotation>
1692 </xs:any>
1693 </xs:choice>
1694 <xs:attribute name="Id" type="xs:string" use="required" />
1695 <xs:anyAttribute namespace="##other" processContents="lax">
1696 <xs:annotation>
1697 <xs:documentation>
1698 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1699 attributes at this point in the schema.
1700 </xs:documentation>
1701 </xs:annotation>
1702 </xs:anyAttribute>
1703 </xs:complexType>
1704 </xs:element>
1705
1706 <xs:element name="ServiceConfig">
1707 <xs:annotation>
1708 <xs:documentation>Service configuration information for failure actions.</xs:documentation>
1709 <xs:appinfo>
1710 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
1711 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="ServiceInstall" />
1712 <xse:remarks>
1713 Nesting a ServiceConfig element under a ServiceInstall element will result in the service being installed to be configured.
1714 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.
1715 </xse:remarks>
1716 </xs:appinfo>
1717 </xs:annotation>
1718 <xs:complexType>
1719 <xs:choice minOccurs="0" maxOccurs="unbounded">
1720 <xs:any namespace="##other" processContents="lax">
1721 <xs:annotation>
1722 <xs:documentation>
1723 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1724 elements at this point in the schema.
1725 </xs:documentation>
1726 </xs:annotation>
1727 </xs:any>
1728 </xs:choice>
1729 <xs:attribute name="ServiceName" type="xs:string">
1730 <xs:annotation>
1731 <xs:documentation>Required if not under a ServiceInstall element.</xs:documentation>
1732 </xs:annotation>
1733 </xs:attribute>
1734 <xs:attribute name="FirstFailureActionType" use="required">
1735 <xs:annotation>
1736 <xs:documentation>Action to take on the first failure of the service.</xs:documentation>
1737 </xs:annotation>
1738 <xs:simpleType>
1739 <xs:restriction base="xs:NMTOKEN">
1740 <xs:enumeration value="none" />
1741 <xs:enumeration value="reboot" />
1742 <xs:enumeration value="restart" />
1743 <xs:enumeration value="runCommand" />
1744 </xs:restriction>
1745 </xs:simpleType>
1746 </xs:attribute>
1747 <xs:attribute name="SecondFailureActionType" use="required">
1748 <xs:annotation>
1749 <xs:documentation>Action to take on the second failure of the service.</xs:documentation>
1750 </xs:annotation>
1751 <xs:simpleType>
1752 <xs:restriction base="xs:NMTOKEN">
1753 <xs:enumeration value="none" />
1754 <xs:enumeration value="reboot" />
1755 <xs:enumeration value="restart" />
1756 <xs:enumeration value="runCommand" />
1757 </xs:restriction>
1758 </xs:simpleType>
1759 </xs:attribute>
1760 <xs:attribute name="ThirdFailureActionType" use="required">
1761 <xs:annotation>
1762 <xs:documentation>Action to take on the third failure of the service.</xs:documentation>
1763 </xs:annotation>
1764 <xs:simpleType>
1765 <xs:restriction base="xs:NMTOKEN">
1766 <xs:enumeration value="none" />
1767 <xs:enumeration value="reboot" />
1768 <xs:enumeration value="restart" />
1769 <xs:enumeration value="runCommand" />
1770 </xs:restriction>
1771 </xs:simpleType>
1772 </xs:attribute>
1773 <xs:attribute name="ResetPeriodInDays" type="wxs:Integer">
1774 <xs:annotation>
1775 <xs:documentation>Number of days after which to reset the failure count to zero if there are no failures.</xs:documentation>
1776 </xs:annotation>
1777 </xs:attribute>
1778 <xs:attribute name="RestartServiceDelayInSeconds" type="wxs:Integer">
1779 <xs:annotation>
1780 <xs:documentation>If any of the three *ActionType attributes is "restart", this specifies the number of seconds to wait before doing so.</xs:documentation>
1781 </xs:annotation>
1782 </xs:attribute>
1783 <xs:attribute name="ProgramCommandLine" type="xs:string">
1784 <xs:annotation>
1785 <xs:documentation>If any of the three *ActionType attributes is "runCommand", this specifies the command to run when doing so. This value is formatted.</xs:documentation>
1786 </xs:annotation>
1787 </xs:attribute>
1788 <xs:attribute name="RebootMessage" type="xs:string">
1789 <xs:annotation>
1790 <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>
1791 </xs:annotation>
1792 </xs:attribute>
1793 <xs:anyAttribute namespace="##other" processContents="lax">
1794 <xs:annotation>
1795 <xs:documentation>
1796 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1797 attributes at this point in the schema.
1798 </xs:documentation>
1799 </xs:annotation>
1800 </xs:anyAttribute>
1801 </xs:complexType>
1802 </xs:element>
1803
1804 <xs:element name="TouchFile">
1805 <xs:annotation>
1806 <xs:documentation>Updates the last modified date/time of a file.</xs:documentation>
1807 <xs:appinfo>
1808 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
1809 </xs:appinfo>
1810 </xs:annotation>
1811 <xs:complexType>
1812 <xs:choice minOccurs="0" maxOccurs="unbounded">
1813 <xs:any namespace="##other" processContents="lax">
1814 <xs:annotation>
1815 <xs:documentation>
1816 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1817 elements at this point in the schema.
1818 </xs:documentation>
1819 </xs:annotation>
1820 </xs:any>
1821 </xs:choice>
1822 <xs:attribute name="Id" type="xs:string">
1823 <xs:annotation>
1824 <xs:documentation>Identifier for the touch file operation. If the identifier is not specified it will be generated.</xs:documentation>
1825 </xs:annotation>
1826 </xs:attribute>
1827 <xs:attribute name="Path" use="required" type="xs:string">
1828 <xs:annotation>
1829 <xs:documentation>Path of the file to update. This value is formatted.</xs:documentation>
1830 </xs:annotation>
1831 </xs:attribute>
1832 <xs:attribute name="OnInstall" type="wxs:YesNoTypeUnion">
1833 <xs:annotation>
1834 <xs:documentation>Specifies whether or not the modified time of the file should be updated on install. If the OnInstall, OnReinstall and OnUninstall attributes are all absent the default is 'yes'.</xs:documentation>
1835 </xs:annotation>
1836 </xs:attribute>
1837 <xs:attribute name="OnReinstall" type="wxs:YesNoTypeUnion">
1838 <xs:annotation>
1839 <xs:documentation>Specifies whether or not the modified time of the file should be updated on reinstall. If the OnInstall, OnReinstall and OnUninstall attributes are all absent the default is 'yes'.</xs:documentation>
1840 </xs:annotation>
1841 </xs:attribute>
1842 <xs:attribute name="OnUninstall" type="wxs:YesNoTypeUnion">
1843 <xs:annotation>
1844 <xs:documentation>Specifies whether or not the modified time of the file should be updated on uninstall. If the OnInstall, OnReinstall and OnUninstall attributes are all absent the default is 'no'.</xs:documentation>
1845 </xs:annotation>
1846 </xs:attribute>
1847 <xs:attribute name="Nonvital" type="wxs:YesNoTypeUnion">
1848 <xs:annotation>
1849 <xs:documentation>Indicates the installation will succeed even if the modified time of the file cannot be updated. The default is 'no'.</xs:documentation>
1850 </xs:annotation>
1851 </xs:attribute>
1852 <xs:anyAttribute namespace="##other" processContents="lax">
1853 <xs:annotation>
1854 <xs:documentation>
1855 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1856 attributes at this point in the schema.
1857 </xs:documentation>
1858 </xs:annotation>
1859 </xs:anyAttribute>
1860 </xs:complexType>
1861 </xs:element>
1862
1863 <xs:element name="User">
1864 <xs:annotation>
1865 <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>
1866 <xs:appinfo>
1867 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
1868 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
1869 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
1870 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
1871 <xse:seeAlso ref="Group" />
1872 <xse:seeAlso ref="GroupRef" />
1873 </xs:appinfo>
1874 </xs:annotation>
1875 <xs:complexType>
1876 <xs:choice minOccurs="0" maxOccurs="unbounded">
1877 <xs:element ref="GroupRef" minOccurs="0" maxOccurs="unbounded" />
1878 <xs:any namespace="##other" processContents="lax">
1879 <xs:annotation>
1880 <xs:documentation>
1881 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1882 elements at this point in the schema.
1883 </xs:documentation>
1884 </xs:annotation>
1885 </xs:any>
1886 </xs:choice>
1887 <xs:attribute name="Id" type="xs:string" />
1888 <xs:attribute name="Name" type="xs:string" use="required">
1889 <xs:annotation>
1890 <xs:documentation>A [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that contains the name of the user account.</xs:documentation>
1891 </xs:annotation>
1892 </xs:attribute>
1893 <xs:attribute name="Domain" type="xs:string">
1894 <xs:annotation>
1895 <xs:documentation>A [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that contains the local machine or Active Directory domain for the user.</xs:documentation>
1896 </xs:annotation>
1897 </xs:attribute>
1898 <xs:attribute name="Password" type="xs:string">
1899 <xs:annotation>
1900 <xs:documentation>Usually a Property that is passed in on the command-line to keep it more secure.</xs:documentation>
1901 </xs:annotation>
1902 </xs:attribute>
1903 <xs:attribute name="PasswordNeverExpires" type="wxs:YesNoTypeUnion">
1904 <xs:annotation>
1905 <xs:documentation>The account's password never expires. Equivalent to UF_DONT_EXPIRE_PASSWD.</xs:documentation>
1906 </xs:annotation>
1907 </xs:attribute>
1908 <xs:attribute name="CanNotChangePassword" type="wxs:YesNoTypeUnion">
1909 <xs:annotation>
1910 <xs:documentation>The user cannot change the account's password. Equivalent to UF_PASSWD_CANT_CHANGE.</xs:documentation>
1911 </xs:annotation>
1912 </xs:attribute>
1913 <xs:attribute name="RemoveOnUninstall" type="wxs:YesNoTypeUnion">
1914 <xs:annotation>
1915 <xs:documentation>Indicates whether the user account should be removed or left behind on uninstall.</xs:documentation>
1916 </xs:annotation>
1917 </xs:attribute>
1918 <xs:attribute name="FailIfExists" type="wxs:YesNoTypeUnion">
1919 <xs:annotation>
1920 <xs:documentation>Indicates if the install should fail if the user already exists.</xs:documentation>
1921 </xs:annotation>
1922 </xs:attribute>
1923 <xs:attribute name="LogonAsService" type="wxs:YesNoTypeUnion">
1924 <xs:annotation>
1925 <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>
1926 </xs:annotation>
1927 </xs:attribute>
1928 <xs:attribute name="LogonAsBatchJob" type="wxs:YesNoTypeUnion">
1929 <xs:annotation>
1930 <xs:documentation>Indicates whether or not the user can logon as a batch job. User creation can be skipped if all that is desired is to set this access right on the user.</xs:documentation>
1931 </xs:annotation>
1932 </xs:attribute>
1933 <xs:attribute name="UpdateIfExists" type="wxs:YesNoTypeUnion">
1934 <xs:annotation>
1935 <xs:documentation>Indicates if the user account properties should be updated if the user already exists.</xs:documentation>
1936 </xs:annotation>
1937 </xs:attribute>
1938 <xs:attribute name="PasswordExpired" type="wxs:YesNoTypeUnion">
1939 <xs:annotation>
1940 <xs:documentation>Indicates whether the user must change their password on their first login.</xs:documentation>
1941 </xs:annotation>
1942 </xs:attribute>
1943 <xs:attribute name="Disabled" type="wxs:YesNoTypeUnion">
1944 <xs:annotation>
1945 <xs:documentation>The account is disabled. Equivalent to UF_ACCOUNTDISABLE.</xs:documentation>
1946 </xs:annotation>
1947 </xs:attribute>
1948 <xs:attribute name="CreateUser" type="wxs:YesNoTypeUnion">
1949 <xs:annotation>
1950 <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>
1951 </xs:annotation>
1952 </xs:attribute>
1953 <xs:attribute name="Vital" type="wxs:YesNoTypeUnion">
1954 <xs:annotation>
1955 <xs:documentation>Indicates whether failure to create the user or add the user to a group fails the installation. The default value is "yes".</xs:documentation>
1956 </xs:annotation>
1957 </xs:attribute>
1958 <xs:attribute name="Comment" type="xs:string">
1959 <xs:annotation>
1960 <xs:documentation>Optional comment to set on the user.</xs:documentation>
1961 </xs:annotation>
1962 </xs:attribute>
1963 <xs:attribute name="RemoveComment" type="wxs:YesNoTypeUnion">
1964 <xs:annotation>
1965 <xs:documentation>Indicates whether remove the comment from the user. The default value is "no".</xs:documentation>
1966 </xs:annotation>
1967 </xs:attribute>
1968 <xs:anyAttribute namespace="##other" processContents="lax">
1969 <xs:annotation>
1970 <xs:documentation>
1971 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1972 attributes at this point in the schema.
1973 </xs:documentation>
1974 </xs:annotation>
1975 </xs:anyAttribute>
1976 </xs:complexType>
1977 </xs:element>
1978
1979 <xs:element name="WindowsFeatureSearch">
1980 <xs:annotation>
1981 <xs:documentation>Detects the existence of a Windows feature.</xs:documentation>
1982 <xs:appinfo>
1983 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
1984 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
1985 </xs:appinfo>
1986 </xs:annotation>
1987 <xs:complexType>
1988 <xs:choice minOccurs="0" maxOccurs="unbounded">
1989 <xs:any namespace="##other" processContents="lax">
1990 <xs:annotation>
1991 <xs:documentation>
1992 Extensibility point in the WiX XML Schema. Schema extensions can register additional
1993 elements at this point in the schema.
1994 </xs:documentation>
1995 </xs:annotation>
1996 </xs:any>
1997 </xs:choice>
1998 <xs:attributeGroup ref="SearchCommonAttributes" />
1999 <xs:attribute name="Feature" use="required">
2000 <xs:annotation>
2001 <xs:documentation>The feature to detect.</xs:documentation>
2002 </xs:annotation>
2003 <xs:simpleType>
2004 <xs:restriction base="xs:NMTOKEN">
2005 <xs:enumeration value="sha2CodeSigning">
2006 <xs:annotation>
2007 <xs:documentation>The oldest OS with this feature is Win7 SP1 with KB3033929.</xs:documentation>
2008 </xs:annotation>
2009 </xs:enumeration>
2010 </xs:restriction>
2011 </xs:simpleType>
2012 </xs:attribute>
2013 <xs:anyAttribute namespace="##other" processContents="lax">
2014 <xs:annotation>
2015 <xs:documentation>
2016 Extensibility point in the WiX XML Schema. Schema extensions can register additional
2017 attributes at this point in the schema.
2018 </xs:documentation>
2019 </xs:annotation>
2020 </xs:anyAttribute>
2021 </xs:complexType>
2022 </xs:element>
2023
2024 <xs:element name="WindowsFeatureSearchRef">
2025 <xs:annotation>
2026 <xs:documentation>References a WindowsFeatureSearch.</xs:documentation>
2027 <xs:appinfo>
2028 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Bundle" />
2029 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2030 </xs:appinfo>
2031 </xs:annotation>
2032 <xs:complexType>
2033 <xs:choice minOccurs="0" maxOccurs="unbounded">
2034 <xs:any namespace="##other" processContents="lax">
2035 <xs:annotation>
2036 <xs:documentation>
2037 Extensibility point in the WiX XML Schema. Schema extensions can register additional
2038 elements at this point in the schema.
2039 </xs:documentation>
2040 </xs:annotation>
2041 </xs:any>
2042 </xs:choice>
2043 <xs:attribute name="Id" type="xs:string" use="required" />
2044 <xs:anyAttribute namespace="##other" processContents="lax">
2045 <xs:annotation>
2046 <xs:documentation>
2047 Extensibility point in the WiX XML Schema. Schema extensions can register additional
2048 attributes at this point in the schema.
2049 </xs:documentation>
2050 </xs:annotation>
2051 </xs:anyAttribute>
2052 </xs:complexType>
2053 </xs:element>
2054
2055 <xs:element name="XmlFile">
2056 <xs:annotation>
2057 <xs:documentation>
2058 Adds or removes .xml file entries. If you use the XmlFile element you must reference WixUtilExtension.dll as it contains the XmlFile custom actions.
2059 </xs:documentation>
2060 <xs:appinfo>
2061 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
2062 </xs:appinfo>
2063 </xs:annotation>
2064 <xs:complexType>
2065 <xs:choice minOccurs="0" maxOccurs="unbounded">
2066 <xs:any namespace="##other" processContents="lax">
2067 <xs:annotation>
2068 <xs:documentation>
2069 Extensibility point in the WiX XML Schema. Schema extensions can register additional
2070 elements at this point in the schema.
2071 </xs:documentation>
2072 </xs:annotation>
2073 </xs:any>
2074 </xs:choice>
2075 <xs:attribute name="Id" type="xs:string">
2076 <xs:annotation>
2077 <xs:documentation>Identifier for xml file modification.</xs:documentation>
2078 </xs:annotation>
2079 </xs:attribute>
2080 <xs:attribute name="ElementPath" type="xs:string" use="required">
2081 <xs:annotation>
2082 <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>
2083 </xs:annotation>
2084 </xs:attribute>
2085 <xs:attribute name="File" type="xs:string" use="required">
2086 <xs:annotation>
2087 <xs:documentation>Path of the .xml file to configure.</xs:documentation>
2088 </xs:annotation>
2089 </xs:attribute>
2090 <xs:attribute name="Name" type="xs:string">
2091 <xs:annotation>
2092 <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>
2093 </xs:annotation>
2094 </xs:attribute>
2095 <xs:attribute name="Value" type="xs:string">
2096 <xs:annotation>
2097 <xs:documentation>
2098 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.
2099 </xs:documentation>
2100 </xs:annotation>
2101 </xs:attribute>
2102 <xs:attribute name="Action" use="required">
2103 <xs:annotation>
2104 <xs:documentation>The type of modification to be made to the XML file when the component is installed.</xs:documentation>
2105 </xs:annotation>
2106 <xs:simpleType>
2107 <xs:restriction base="xs:NMTOKEN">
2108 <xs:enumeration value="createElement">
2109 <xs:annotation>
2110 <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>
2111 </xs:annotation>
2112 </xs:enumeration>
2113 <xs:enumeration value="deleteValue">
2114 <xs:annotation>
2115 <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>
2116 </xs:annotation>
2117 </xs:enumeration>
2118 <xs:enumeration value="setValue">
2119 <xs:annotation>
2120 <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>
2121 </xs:annotation>
2122 </xs:enumeration>
2123 <xs:enumeration value="bulkSetValue">
2124 <xs:annotation>
2125 <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>
2126 </xs:annotation>
2127 </xs:enumeration>
2128 </xs:restriction>
2129 </xs:simpleType>
2130 </xs:attribute>
2131 <xs:attribute name="Permanent" type="wxs:YesNoTypeUnion">
2132 <xs:annotation>
2133 <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>
2134 </xs:annotation>
2135 </xs:attribute>
2136 <xs:attribute name="PreserveModifiedDate" type="wxs:YesNoTypeUnion">
2137 <xs:annotation>
2138 <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>
2139 </xs:annotation>
2140 </xs:attribute>
2141 <xs:attribute name="Sequence" type="wxs:Integer">
2142 <xs:annotation>
2143 <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>
2144 </xs:annotation>
2145 </xs:attribute>
2146 <xs:attribute name="SelectionLanguage">
2147 <xs:annotation>
2148 <xs:documentation>
2149 Specify whether the DOM object should use XPath language or the old XSLPattern language (default) as the query language.
2150 </xs:documentation>
2151 </xs:annotation>
2152 <xs:simpleType>
2153 <xs:restriction base="xs:NMTOKEN">
2154 <xs:enumeration value="XPath" />
2155 <xs:enumeration value="XSLPattern" />
2156 </xs:restriction>
2157 </xs:simpleType>
2158 </xs:attribute>
2159 <xs:anyAttribute namespace="##other" processContents="lax">
2160 <xs:annotation>
2161 <xs:documentation>
2162 Extensibility point in the WiX XML Schema. Schema extensions can register additional
2163 attributes at this point in the schema.
2164 </xs:documentation>
2165 </xs:annotation>
2166 </xs:anyAttribute>
2167 </xs:complexType>
2168 </xs:element>
2169
2170 <xs:element name="XmlConfig">
2171 <xs:annotation>
2172 <xs:documentation>
2173 Adds or removes .xml file entries. If you use the XmlConfig element you must reference WixUtilExtension.dll as it contains the XmlConfig custom actions.
2174 </xs:documentation>
2175 <xs:appinfo>
2176 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
2177 </xs:appinfo>
2178 </xs:annotation>
2179 <xs:complexType>
2180 <xs:choice minOccurs="0" maxOccurs="unbounded">
2181 <xs:element ref="XmlConfig" />
2182 <xs:any namespace="##other" processContents="lax">
2183 <xs:annotation>
2184 <xs:documentation>
2185 Extensibility point in the WiX XML Schema. Schema extensions can register additional
2186 elements at this point in the schema.
2187 </xs:documentation>
2188 </xs:annotation>
2189 </xs:any>
2190 </xs:choice>
2191 <xs:attribute name="Id" type="xs:string">
2192 <xs:annotation>
2193 <xs:documentation>Identifier for xml file modification.</xs:documentation>
2194 </xs:annotation>
2195 </xs:attribute>
2196 <xs:attribute name="Action">
2197 <xs:simpleType>
2198 <xs:restriction base="xs:NMTOKEN">
2199 <xs:enumeration value="create" />
2200 <xs:enumeration value="delete" />
2201 </xs:restriction>
2202 </xs:simpleType>
2203 </xs:attribute>
2204 <xs:attribute name="ElementId" type="xs:string">
2205 <xs:annotation>
2206 <xs:documentation>The Id of another XmlConfig to add attributes to. In this case, the 'ElementPath', 'Action', 'Node', and 'On' attributes must be omitted.</xs:documentation>
2207 </xs:annotation>
2208 </xs:attribute>
2209 <xs:attribute name="ElementPath" type="xs:string">
2210 <xs:annotation>
2211 <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>
2212 </xs:annotation>
2213 </xs:attribute>
2214 <xs:attribute name="File" type="xs:string" use="required">
2215 <xs:annotation>
2216 <xs:documentation>Path of the .xml file to configure.</xs:documentation>
2217 </xs:annotation>
2218 </xs:attribute>
2219 <xs:attribute name="Name" type="xs:string">
2220 <xs:annotation>
2221 <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>
2222 </xs:annotation>
2223 </xs:attribute>
2224 <xs:attribute name="Node">
2225 <xs:simpleType>
2226 <xs:restriction base="xs:NMTOKEN">
2227 <xs:enumeration value="element" />
2228 <xs:enumeration value="value" />
2229 <xs:enumeration value="document" />
2230 </xs:restriction>
2231 </xs:simpleType>
2232 </xs:attribute>
2233 <xs:attribute name="On">
2234 <xs:simpleType>
2235 <xs:restriction base="xs:NMTOKEN">
2236 <xs:enumeration value="install" />
2237 <xs:enumeration value="uninstall" />
2238 </xs:restriction>
2239 </xs:simpleType>
2240 </xs:attribute>
2241 <xs:attribute name="PreserveModifiedDate" type="wxs:YesNoTypeUnion">
2242 <xs:annotation>
2243 <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>
2244 </xs:annotation>
2245 </xs:attribute>
2246 <xs:attribute name="Sequence" type="wxs:Integer">
2247 <xs:annotation>
2248 <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>
2249 </xs:annotation>
2250 </xs:attribute>
2251 <xs:attribute name="Value" type="xs:string">
2252 <xs:annotation>
2253 <xs:documentation>
2254 The value to be written. See the <html:a href="https://docs.microsoft.com/en-us/windows/win32/msi/formatted" target="_blank">Formatted topic</html:a> for information how to escape square brackets in the value.
2255 </xs:documentation>
2256 </xs:annotation>
2257 </xs:attribute>
2258 <xs:attribute name="VerifyPath" type="xs:string">
2259 <xs:annotation>
2260 <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>
2261 </xs:annotation>
2262 </xs:attribute>
2263 <xs:anyAttribute namespace="##other" processContents="lax">
2264 <xs:annotation>
2265 <xs:documentation>
2266 Extensibility point in the WiX XML Schema. Schema extensions can register additional
2267 attributes at this point in the schema.
2268 </xs:documentation>
2269 </xs:annotation>
2270 </xs:anyAttribute>
2271 </xs:complexType>
2272 </xs:element>
2273
2274 <xs:element name="BroadcastEnvironmentChange">
2275 <xs:annotation>
2276 <xs:documentation>Schedules the BroadcastEnvironmentChange custom action for the current platform.</xs:documentation>
2277 <xs:appinfo>
2278 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2279 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2280 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2281 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2282 </xs:appinfo>
2283 </xs:annotation>
2284 </xs:element>
2285
2286 <xs:element name="BroadcastSettingChange">
2287 <xs:annotation>
2288 <xs:documentation>Schedules the BroadcastSettingChange custom action for the current platform.</xs:documentation>
2289 <xs:appinfo>
2290 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2291 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2292 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2293 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2294 </xs:appinfo>
2295 </xs:annotation>
2296 </xs:element>
2297
2298 <xs:element name="CheckRebootRequired">
2299 <xs:annotation>
2300 <xs:documentation>Schedules the CheckRebootRequired custom action for the current platform.</xs:documentation>
2301 <xs:appinfo>
2302 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2303 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2304 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2305 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2306 </xs:appinfo>
2307 </xs:annotation>
2308 </xs:element>
2309
2310 <xs:element name="ExitEarlyWithSuccess">
2311 <xs:annotation>
2312 <xs:documentation>Schedules the ExitEarlyWithSuccess custom action for the current platform.</xs:documentation>
2313 <xs:appinfo>
2314 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2315 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2316 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2317 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2318 </xs:appinfo>
2319 </xs:annotation>
2320 </xs:element>
2321
2322 <xs:element name="FailWhenDeferred">
2323 <xs:annotation>
2324 <xs:documentation>Schedules the FailWhenDeferred custom action for the current platform.</xs:documentation>
2325 <xs:appinfo>
2326 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2327 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2328 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2329 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2330 </xs:appinfo>
2331 </xs:annotation>
2332 </xs:element>
2333
2334 <xs:element name="WaitForEvent">
2335 <xs:annotation>
2336 <xs:documentation>Schedules the WaitForEvent custom action for the current platform.</xs:documentation>
2337 <xs:appinfo>
2338 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2339 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2340 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2341 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2342 </xs:appinfo>
2343 </xs:annotation>
2344 </xs:element>
2345
2346 <xs:element name="WaitForEventDeferred">
2347 <xs:annotation>
2348 <xs:documentation>Schedules the WaitForEventDeferred custom action for the current platform.</xs:documentation>
2349 <xs:appinfo>
2350 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2351 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2352 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2353 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2354 </xs:appinfo>
2355 </xs:annotation>
2356 </xs:element>
2357
2358 <xs:element name="QueryNativeMachine">
2359 <xs:annotation>
2360 <xs:documentation>
2361 Schedules the QueryNativeMachine custom action for the current platform. For more information, see [QueryNativeMachine properties](../../../tools/wixext/wininfo#querynativemachine).
2362 </xs:documentation>
2363 <xs:appinfo>
2364 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2365 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2366 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2367 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2368 </xs:appinfo>
2369 </xs:annotation>
2370 </xs:element>
2371
2372 <xs:element name="QueryWindowsDirectories">
2373 <xs:annotation>
2374 <xs:documentation>
2375 Schedules the QueryOsDirs custom action for the current platform. For more information, see [QueryWindowsDirectories properties](../../../tools/wixext/wininfo#querywindowsdirectories).
2376 </xs:documentation>
2377 <xs:appinfo>
2378 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2379 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2380 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2381 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2382 </xs:appinfo>
2383 </xs:annotation>
2384 </xs:element>
2385
2386 <xs:element name="QueryWindowsDriverInfo">
2387 <xs:annotation>
2388 <xs:documentation>
2389 Schedules the QueryOsDriverInfo custom action for the current platform. For more information, see [QueryWindowsDriverInfo properties](../../../tools/wixext/wininfo#querywindowsdriverinfo).
2390 </xs:documentation>
2391 <xs:appinfo>
2392 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2393 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2394 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2395 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2396 </xs:appinfo>
2397 </xs:annotation>
2398 </xs:element>
2399
2400 <xs:element name="QueryWindowsSuiteInfo">
2401 <xs:annotation>
2402 <xs:documentation>
2403 Schedules the QueryOsInfo custom action for the current platform. For more information, see [QueryWindowsSuiteInfo properties](../../../tools/wixext/wininfo#querywindowssuiteinfo).
2404 </xs:documentation>
2405 <xs:appinfo>
2406 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2407 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2408 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2409 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2410 </xs:appinfo>
2411 </xs:annotation>
2412 </xs:element>
2413
2414 <xs:element name="QueryWindowsWellKnownSIDs">
2415 <xs:annotation>
2416 <xs:documentation>
2417 Schedules the QueryOsWellKnownSID custom action for the current platform. For more information, see [QueryWindowsWellKnownSIDs properties](../../../tools/wixext/wininfo#querywindowswellknownsids).
2418 </xs:documentation>
2419 <xs:documentation>Schedules the QueryOsWellKnownSID custom action for the current platform.</xs:documentation>
2420 <xs:appinfo>
2421 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" />
2422 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" />
2423 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" />
2424 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="UI" />
2425 </xs:appinfo>
2426 </xs:annotation>
2427 </xs:element>
2428
2429 <xs:attributeGroup name="SearchCommonAttributes">
2430 <xs:attribute name="Id" type="xs:string">
2431 <xs:annotation>
2432 <xs:documentation>Id of the search for ordering and dependency.</xs:documentation>
2433 </xs:annotation>
2434 </xs:attribute>
2435 <xs:attribute name="Variable" type="xs:string" use="required">
2436 <xs:annotation>
2437 <xs:documentation>Name of the variable in which to place the result of the search.</xs:documentation>
2438 </xs:annotation>
2439 </xs:attribute>
2440 <xs:attribute name="Condition" type="xs:string">
2441 <xs:annotation>
2442 <xs:documentation>Condition for evaluating the search. If this evaluates to false, the search is not executed at all.</xs:documentation>
2443 </xs:annotation>
2444 </xs:attribute>
2445 <xs:attribute name="After" type="xs:string">
2446 <xs:annotation>
2447 <xs:documentation>Id of the search that this one should come after.</xs:documentation>
2448 </xs:annotation>
2449 </xs:attribute>
2450 </xs:attributeGroup>
2451
2452 <xs:simpleType name="PerformanceCounterLanguageType">
2453 <xs:annotation>
2454 <xs:documentation>Enumeration of valid languages for performance counters.</xs:documentation>
2455 </xs:annotation>
2456 <xs:restriction base="xs:NMTOKEN">
2457 <xs:enumeration value="afrikaans" />
2458 <xs:enumeration value="albanian" />
2459 <xs:enumeration value="arabic" />
2460 <xs:enumeration value="armenian" />
2461 <xs:enumeration value="assamese" />
2462 <xs:enumeration value="azeri" />
2463 <xs:enumeration value="basque" />
2464 <xs:enumeration value="belarusian" />
2465 <xs:enumeration value="bengali" />
2466 <xs:enumeration value="bulgarian" />
2467 <xs:enumeration value="catalan" />
2468 <xs:enumeration value="chinese" />
2469 <xs:enumeration value="croatian" />
2470 <xs:enumeration value="czech" />
2471 <xs:enumeration value="danish" />
2472 <xs:enumeration value="divehi" />
2473 <xs:enumeration value="dutch" />
2474 <xs:enumeration value="english" />
2475 <xs:enumeration value="estonian" />
2476 <xs:enumeration value="faeroese" />
2477 <xs:enumeration value="farsi" />
2478 <xs:enumeration value="finnish" />
2479 <xs:enumeration value="french" />
2480 <xs:enumeration value="galician" />
2481 <xs:enumeration value="georgian" />
2482 <xs:enumeration value="german" />
2483 <xs:enumeration value="greek" />
2484 <xs:enumeration value="gujarati" />
2485 <xs:enumeration value="hebrew" />
2486 <xs:enumeration value="hindi" />
2487 <xs:enumeration value="hungarian" />
2488 <xs:enumeration value="icelandic" />
2489 <xs:enumeration value="indonesian" />
2490 <xs:enumeration value="italian" />
2491 <xs:enumeration value="japanese" />
2492 <xs:enumeration value="kannada" />
2493 <xs:enumeration value="kashmiri" />
2494 <xs:enumeration value="kazak" />
2495 <xs:enumeration value="konkani" />
2496 <xs:enumeration value="korean" />
2497 <xs:enumeration value="kyrgyz" />
2498 <xs:enumeration value="latvian" />
2499 <xs:enumeration value="lithuanian" />
2500 <xs:enumeration value="macedonian" />
2501 <xs:enumeration value="malay" />
2502 <xs:enumeration value="malayalam" />
2503 <xs:enumeration value="manipuri" />
2504 <xs:enumeration value="marathi" />
2505 <xs:enumeration value="mongolian" />
2506 <xs:enumeration value="nepali" />
2507 <xs:enumeration value="norwegian" />
2508 <xs:enumeration value="oriya" />
2509 <xs:enumeration value="polish" />
2510 <xs:enumeration value="portuguese" />
2511 <xs:enumeration value="punjabi" />
2512 <xs:enumeration value="romanian" />
2513 <xs:enumeration value="russian" />
2514 <xs:enumeration value="sanskrit" />
2515 <xs:enumeration value="serbian" />
2516 <xs:enumeration value="sindhi" />
2517 <xs:enumeration value="slovak" />
2518 <xs:enumeration value="slovenian" />
2519 <xs:enumeration value="spanish" />
2520 <xs:enumeration value="swahili" />
2521 <xs:enumeration value="swedish" />
2522 <xs:enumeration value="syriac" />
2523 <xs:enumeration value="tamil" />
2524 <xs:enumeration value="tatar" />
2525 <xs:enumeration value="telugu" />
2526 <xs:enumeration value="thai" />
2527 <xs:enumeration value="turkish" />
2528 <xs:enumeration value="ukrainian" />
2529 <xs:enumeration value="urdu" />
2530 <xs:enumeration value="uzbek" />
2531 <xs:enumeration value="vietnamese" />
2532 </xs:restriction>
2533 </xs:simpleType>
2534
2535 <xs:simpleType name="PerformanceCounterTypesType">
2536 <xs:annotation>
2537 <xs:documentation>Enumeration of valid types for performance counters.</xs:documentation>
2538 </xs:annotation>
2539 <xs:restriction base="xs:NMTOKEN">
2540 <xs:enumeration value="averageBase" />
2541 <xs:enumeration value="averageCount64" />
2542 <xs:enumeration value="averageTimer32" />
2543 <xs:enumeration value="counterDelta32" />
2544 <xs:enumeration value="counterTimerInverse" />
2545 <xs:enumeration value="sampleFraction" />
2546 <xs:enumeration value="timer100Ns" />
2547 <xs:enumeration value="counterTimer" />
2548 <xs:enumeration value="rawFraction" />
2549 <xs:enumeration value="timer100NsInverse" />
2550 <xs:enumeration value="counterMultiTimer" />
2551 <xs:enumeration value="counterMultiTimer100Ns" />
2552 <xs:enumeration value="counterMultiTimerInverse" />
2553 <xs:enumeration value="counterMultiTimer100NsInverse" />
2554 <xs:enumeration value="elapsedTime" />
2555 <xs:enumeration value="sampleBase" />
2556 <xs:enumeration value="rawBase" />
2557 <xs:enumeration value="counterMultiBase" />
2558 <xs:enumeration value="rateOfCountsPerSecond64" />
2559 <xs:enumeration value="rateOfCountsPerSecond32" />
2560 <xs:enumeration value="countPerTimeInterval64" />
2561 <xs:enumeration value="countPerTimeInterval32" />
2562 <xs:enumeration value="sampleCounter" />
2563 <xs:enumeration value="counterDelta64" />
2564 <xs:enumeration value="numberOfItems64" />
2565 <xs:enumeration value="numberOfItems32" />
2566 <xs:enumeration value="numberOfItemsHEX64" />
2567 <xs:enumeration value="numberOfItemsHEX32" />
2568 </xs:restriction>
2569 </xs:simpleType>
2570</xs:schema>