main
cs 11,462 lines 441 KB
Raw
1 //------------------------------------------------------------------------------
2 // <auto-generated>
3 // This code was generated by a tool.
4 // Runtime Version:4.0.30319.42000
5 //
6 // Changes to this file may cause incorrect behavior and will be lost if
7 // the code is regenerated.
8 // </auto-generated>
9 //------------------------------------------------------------------------------
10
11 #pragma warning disable 1591
12 namespace WixToolset.Harvesters.Serialize.Util
13 {
14 using System;
15 using System.CodeDom.Compiler;
16 using System.Collections;
17 using System.Diagnostics.CodeAnalysis;
18 using System.Globalization;
19 using System.Xml;
20 using WixToolset.Harvesters.Serialize;
21
22
23 /// <summary>
24 /// Values of this type will either be "yes" or "no".
25 /// </summary>
26 [GeneratedCode("XsdGen", "4.0.0.0")]
27 public enum YesNoType
28 {
29
30 IllegalValue = int.MaxValue,
31
32 NotSet = -1,
33
34 no,
35
36 yes,
37 }
38
39 [GeneratedCode("XsdGen", "4.0.0.0")]
40 public class Enums
41 {
42
43 /// <summary>
44 /// Parses a YesNoType from a string.
45 /// </summary>
46 public static YesNoType ParseYesNoType(string value)
47 {
48 YesNoType parsedValue;
49 Enums.TryParseYesNoType(value, out parsedValue);
50 return parsedValue;
51 }
52
53 /// <summary>
54 /// Tries to parse a YesNoType from a string.
55 /// </summary>
56 public static bool TryParseYesNoType(string value, out YesNoType parsedValue)
57 {
58 parsedValue = YesNoType.NotSet;
59 if (string.IsNullOrEmpty(value))
60 {
61 return false;
62 }
63 if (("no" == value))
64 {
65 parsedValue = YesNoType.no;
66 }
67 else
68 {
69 if (("yes" == value))
70 {
71 parsedValue = YesNoType.yes;
72 }
73 else
74 {
75 parsedValue = YesNoType.IllegalValue;
76 return false;
77 }
78 }
79 return true;
80 }
81
82 /// <summary>
83 /// Parses a PerformanceCounterLanguageType from a string.
84 /// </summary>
85 public static PerformanceCounterLanguageType ParsePerformanceCounterLanguageType(string value)
86 {
87 PerformanceCounterLanguageType parsedValue;
88 Enums.TryParsePerformanceCounterLanguageType(value, out parsedValue);
89 return parsedValue;
90 }
91
92 /// <summary>
93 /// Tries to parse a PerformanceCounterLanguageType from a string.
94 /// </summary>
95 public static bool TryParsePerformanceCounterLanguageType(string value, out PerformanceCounterLanguageType parsedValue)
96 {
97 parsedValue = PerformanceCounterLanguageType.NotSet;
98 if (string.IsNullOrEmpty(value))
99 {
100 return false;
101 }
102 if (("afrikaans" == value))
103 {
104 parsedValue = PerformanceCounterLanguageType.afrikaans;
105 }
106 else
107 {
108 if (("albanian" == value))
109 {
110 parsedValue = PerformanceCounterLanguageType.albanian;
111 }
112 else
113 {
114 if (("arabic" == value))
115 {
116 parsedValue = PerformanceCounterLanguageType.arabic;
117 }
118 else
119 {
120 if (("armenian" == value))
121 {
122 parsedValue = PerformanceCounterLanguageType.armenian;
123 }
124 else
125 {
126 if (("assamese" == value))
127 {
128 parsedValue = PerformanceCounterLanguageType.assamese;
129 }
130 else
131 {
132 if (("azeri" == value))
133 {
134 parsedValue = PerformanceCounterLanguageType.azeri;
135 }
136 else
137 {
138 if (("basque" == value))
139 {
140 parsedValue = PerformanceCounterLanguageType.basque;
141 }
142 else
143 {
144 if (("belarusian" == value))
145 {
146 parsedValue = PerformanceCounterLanguageType.belarusian;
147 }
148 else
149 {
150 if (("bengali" == value))
151 {
152 parsedValue = PerformanceCounterLanguageType.bengali;
153 }
154 else
155 {
156 if (("bulgarian" == value))
157 {
158 parsedValue = PerformanceCounterLanguageType.bulgarian;
159 }
160 else
161 {
162 if (("catalan" == value))
163 {
164 parsedValue = PerformanceCounterLanguageType.catalan;
165 }
166 else
167 {
168 if (("chinese" == value))
169 {
170 parsedValue = PerformanceCounterLanguageType.chinese;
171 }
172 else
173 {
174 if (("croatian" == value))
175 {
176 parsedValue = PerformanceCounterLanguageType.croatian;
177 }
178 else
179 {
180 if (("czech" == value))
181 {
182 parsedValue = PerformanceCounterLanguageType.czech;
183 }
184 else
185 {
186 if (("danish" == value))
187 {
188 parsedValue = PerformanceCounterLanguageType.danish;
189 }
190 else
191 {
192 if (("divehi" == value))
193 {
194 parsedValue = PerformanceCounterLanguageType.divehi;
195 }
196 else
197 {
198 if (("dutch" == value))
199 {
200 parsedValue = PerformanceCounterLanguageType.dutch;
201 }
202 else
203 {
204 if (("english" == value))
205 {
206 parsedValue = PerformanceCounterLanguageType.english;
207 }
208 else
209 {
210 if (("estonian" == value))
211 {
212 parsedValue = PerformanceCounterLanguageType.estonian;
213 }
214 else
215 {
216 if (("faeroese" == value))
217 {
218 parsedValue = PerformanceCounterLanguageType.faeroese;
219 }
220 else
221 {
222 if (("farsi" == value))
223 {
224 parsedValue = PerformanceCounterLanguageType.farsi;
225 }
226 else
227 {
228 if (("finnish" == value))
229 {
230 parsedValue = PerformanceCounterLanguageType.finnish;
231 }
232 else
233 {
234 if (("french" == value))
235 {
236 parsedValue = PerformanceCounterLanguageType.french;
237 }
238 else
239 {
240 if (("galician" == value))
241 {
242 parsedValue = PerformanceCounterLanguageType.galician;
243 }
244 else
245 {
246 if (("georgian" == value))
247 {
248 parsedValue = PerformanceCounterLanguageType.georgian;
249 }
250 else
251 {
252 if (("german" == value))
253 {
254 parsedValue = PerformanceCounterLanguageType.german;
255 }
256 else
257 {
258 if (("greek" == value))
259 {
260 parsedValue = PerformanceCounterLanguageType.greek;
261 }
262 else
263 {
264 if (("gujarati" == value))
265 {
266 parsedValue = PerformanceCounterLanguageType.gujarati;
267 }
268 else
269 {
270 if (("hebrew" == value))
271 {
272 parsedValue = PerformanceCounterLanguageType.hebrew;
273 }
274 else
275 {
276 if (("hindi" == value))
277 {
278 parsedValue = PerformanceCounterLanguageType.hindi;
279 }
280 else
281 {
282 if (("hungarian" == value))
283 {
284 parsedValue = PerformanceCounterLanguageType.hungarian;
285 }
286 else
287 {
288 if (("icelandic" == value))
289 {
290 parsedValue = PerformanceCounterLanguageType.icelandic;
291 }
292 else
293 {
294 if (("indonesian" == value))
295 {
296 parsedValue = PerformanceCounterLanguageType.indonesian;
297 }
298 else
299 {
300 if (("italian" == value))
301 {
302 parsedValue = PerformanceCounterLanguageType.italian;
303 }
304 else
305 {
306 if (("japanese" == value))
307 {
308 parsedValue = PerformanceCounterLanguageType.japanese;
309 }
310 else
311 {
312 if (("kannada" == value))
313 {
314 parsedValue = PerformanceCounterLanguageType.kannada;
315 }
316 else
317 {
318 if (("kashmiri" == value))
319 {
320 parsedValue = PerformanceCounterLanguageType.kashmiri;
321 }
322 else
323 {
324 if (("kazak" == value))
325 {
326 parsedValue = PerformanceCounterLanguageType.kazak;
327 }
328 else
329 {
330 if (("konkani" == value))
331 {
332 parsedValue = PerformanceCounterLanguageType.konkani;
333 }
334 else
335 {
336 if (("korean" == value))
337 {
338 parsedValue = PerformanceCounterLanguageType.korean;
339 }
340 else
341 {
342 if (("kyrgyz" == value))
343 {
344 parsedValue = PerformanceCounterLanguageType.kyrgyz;
345 }
346 else
347 {
348 if (("latvian" == value))
349 {
350 parsedValue = PerformanceCounterLanguageType.latvian;
351 }
352 else
353 {
354 if (("lithuanian" == value))
355 {
356 parsedValue = PerformanceCounterLanguageType.lithuanian;
357 }
358 else
359 {
360 if (("macedonian" == value))
361 {
362 parsedValue = PerformanceCounterLanguageType.macedonian;
363 }
364 else
365 {
366 if (("malay" == value))
367 {
368 parsedValue = PerformanceCounterLanguageType.malay;
369 }
370 else
371 {
372 if (("malayalam" == value))
373 {
374 parsedValue = PerformanceCounterLanguageType.malayalam;
375 }
376 else
377 {
378 if (("manipuri" == value))
379 {
380 parsedValue = PerformanceCounterLanguageType.manipuri;
381 }
382 else
383 {
384 if (("marathi" == value))
385 {
386 parsedValue = PerformanceCounterLanguageType.marathi;
387 }
388 else
389 {
390 if (("mongolian" == value))
391 {
392 parsedValue = PerformanceCounterLanguageType.mongolian;
393 }
394 else
395 {
396 if (("nepali" == value))
397 {
398 parsedValue = PerformanceCounterLanguageType.nepali;
399 }
400 else
401 {
402 if (("norwegian" == value))
403 {
404 parsedValue = PerformanceCounterLanguageType.norwegian;
405 }
406 else
407 {
408 if (("oriya" == value))
409 {
410 parsedValue = PerformanceCounterLanguageType.oriya;
411 }
412 else
413 {
414 if (("polish" == value))
415 {
416 parsedValue = PerformanceCounterLanguageType.polish;
417 }
418 else
419 {
420 if (("portuguese" == value))
421 {
422 parsedValue = PerformanceCounterLanguageType.portuguese;
423 }
424 else
425 {
426 if (("punjabi" == value))
427 {
428 parsedValue = PerformanceCounterLanguageType.punjabi;
429 }
430 else
431 {
432 if (("romanian" == value))
433 {
434 parsedValue = PerformanceCounterLanguageType.romanian;
435 }
436 else
437 {
438 if (("russian" == value))
439 {
440 parsedValue = PerformanceCounterLanguageType.russian;
441 }
442 else
443 {
444 if (("sanskrit" == value))
445 {
446 parsedValue = PerformanceCounterLanguageType.sanskrit;
447 }
448 else
449 {
450 if (("serbian" == value))
451 {
452 parsedValue = PerformanceCounterLanguageType.serbian;
453 }
454 else
455 {
456 if (("sindhi" == value))
457 {
458 parsedValue = PerformanceCounterLanguageType.sindhi;
459 }
460 else
461 {
462 if (("slovak" == value))
463 {
464 parsedValue = PerformanceCounterLanguageType.slovak;
465 }
466 else
467 {
468 if (("slovenian" == value))
469 {
470 parsedValue = PerformanceCounterLanguageType.slovenian;
471 }
472 else
473 {
474 if (("spanish" == value))
475 {
476 parsedValue = PerformanceCounterLanguageType.spanish;
477 }
478 else
479 {
480 if (("swahili" == value))
481 {
482 parsedValue = PerformanceCounterLanguageType.swahili;
483 }
484 else
485 {
486 if (("swedish" == value))
487 {
488 parsedValue = PerformanceCounterLanguageType.swedish;
489 }
490 else
491 {
492 if (("syriac" == value))
493 {
494 parsedValue = PerformanceCounterLanguageType.syriac;
495 }
496 else
497 {
498 if (("tamil" == value))
499 {
500 parsedValue = PerformanceCounterLanguageType.tamil;
501 }
502 else
503 {
504 if (("tatar" == value))
505 {
506 parsedValue = PerformanceCounterLanguageType.tatar;
507 }
508 else
509 {
510 if (("telugu" == value))
511 {
512 parsedValue = PerformanceCounterLanguageType.telugu;
513 }
514 else
515 {
516 if (("thai" == value))
517 {
518 parsedValue = PerformanceCounterLanguageType.thai;
519 }
520 else
521 {
522 if (("turkish" == value))
523 {
524 parsedValue = PerformanceCounterLanguageType.turkish;
525 }
526 else
527 {
528 if (("ukrainian" == value))
529 {
530 parsedValue = PerformanceCounterLanguageType.ukrainian;
531 }
532 else
533 {
534 if (("urdu" == value))
535 {
536 parsedValue = PerformanceCounterLanguageType.urdu;
537 }
538 else
539 {
540 if (("uzbek" == value))
541 {
542 parsedValue = PerformanceCounterLanguageType.uzbek;
543 }
544 else
545 {
546 if (("vietnamese" == value))
547 {
548 parsedValue = PerformanceCounterLanguageType.vietnamese;
549 }
550 else
551 {
552 parsedValue = PerformanceCounterLanguageType.IllegalValue;
553 return false;
554 }
555 }
556 }
557 }
558 }
559 }
560 }
561 }
562 }
563 }
564 }
565 }
566 }
567 }
568 }
569 }
570 }
571 }
572 }
573 }
574 }
575 }
576 }
577 }
578 }
579 }
580 }
581 }
582 }
583 }
584 }
585 }
586 }
587 }
588 }
589 }
590 }
591 }
592 }
593 }
594 }
595 }
596 }
597 }
598 }
599 }
600 }
601 }
602 }
603 }
604 }
605 }
606 }
607 }
608 }
609 }
610 }
611 }
612 }
613 }
614 }
615 }
616 }
617 }
618 }
619 }
620 }
621 }
622 }
623 }
624 }
625 }
626 }
627 }
628 }
629 return true;
630 }
631
632 /// <summary>
633 /// Parses a PerformanceCounterTypesType from a string.
634 /// </summary>
635 public static PerformanceCounterTypesType ParsePerformanceCounterTypesType(string value)
636 {
637 PerformanceCounterTypesType parsedValue;
638 Enums.TryParsePerformanceCounterTypesType(value, out parsedValue);
639 return parsedValue;
640 }
641
642 /// <summary>
643 /// Tries to parse a PerformanceCounterTypesType from a string.
644 /// </summary>
645 public static bool TryParsePerformanceCounterTypesType(string value, out PerformanceCounterTypesType parsedValue)
646 {
647 parsedValue = PerformanceCounterTypesType.NotSet;
648 if (string.IsNullOrEmpty(value))
649 {
650 return false;
651 }
652 if (("averageBase" == value))
653 {
654 parsedValue = PerformanceCounterTypesType.averageBase;
655 }
656 else
657 {
658 if (("averageCount64" == value))
659 {
660 parsedValue = PerformanceCounterTypesType.averageCount64;
661 }
662 else
663 {
664 if (("averageTimer32" == value))
665 {
666 parsedValue = PerformanceCounterTypesType.averageTimer32;
667 }
668 else
669 {
670 if (("counterDelta32" == value))
671 {
672 parsedValue = PerformanceCounterTypesType.counterDelta32;
673 }
674 else
675 {
676 if (("counterTimerInverse" == value))
677 {
678 parsedValue = PerformanceCounterTypesType.counterTimerInverse;
679 }
680 else
681 {
682 if (("sampleFraction" == value))
683 {
684 parsedValue = PerformanceCounterTypesType.sampleFraction;
685 }
686 else
687 {
688 if (("timer100Ns" == value))
689 {
690 parsedValue = PerformanceCounterTypesType.timer100Ns;
691 }
692 else
693 {
694 if (("counterTimer" == value))
695 {
696 parsedValue = PerformanceCounterTypesType.counterTimer;
697 }
698 else
699 {
700 if (("rawFraction" == value))
701 {
702 parsedValue = PerformanceCounterTypesType.rawFraction;
703 }
704 else
705 {
706 if (("timer100NsInverse" == value))
707 {
708 parsedValue = PerformanceCounterTypesType.timer100NsInverse;
709 }
710 else
711 {
712 if (("counterMultiTimer" == value))
713 {
714 parsedValue = PerformanceCounterTypesType.counterMultiTimer;
715 }
716 else
717 {
718 if (("counterMultiTimer100Ns" == value))
719 {
720 parsedValue = PerformanceCounterTypesType.counterMultiTimer100Ns;
721 }
722 else
723 {
724 if (("counterMultiTimerInverse" == value))
725 {
726 parsedValue = PerformanceCounterTypesType.counterMultiTimerInverse;
727 }
728 else
729 {
730 if (("counterMultiTimer100NsInverse" == value))
731 {
732 parsedValue = PerformanceCounterTypesType.counterMultiTimer100NsInverse;
733 }
734 else
735 {
736 if (("elapsedTime" == value))
737 {
738 parsedValue = PerformanceCounterTypesType.elapsedTime;
739 }
740 else
741 {
742 if (("sampleBase" == value))
743 {
744 parsedValue = PerformanceCounterTypesType.sampleBase;
745 }
746 else
747 {
748 if (("rawBase" == value))
749 {
750 parsedValue = PerformanceCounterTypesType.rawBase;
751 }
752 else
753 {
754 if (("counterMultiBase" == value))
755 {
756 parsedValue = PerformanceCounterTypesType.counterMultiBase;
757 }
758 else
759 {
760 if (("rateOfCountsPerSecond64" == value))
761 {
762 parsedValue = PerformanceCounterTypesType.rateOfCountsPerSecond64;
763 }
764 else
765 {
766 if (("rateOfCountsPerSecond32" == value))
767 {
768 parsedValue = PerformanceCounterTypesType.rateOfCountsPerSecond32;
769 }
770 else
771 {
772 if (("countPerTimeInterval64" == value))
773 {
774 parsedValue = PerformanceCounterTypesType.countPerTimeInterval64;
775 }
776 else
777 {
778 if (("countPerTimeInterval32" == value))
779 {
780 parsedValue = PerformanceCounterTypesType.countPerTimeInterval32;
781 }
782 else
783 {
784 if (("sampleCounter" == value))
785 {
786 parsedValue = PerformanceCounterTypesType.sampleCounter;
787 }
788 else
789 {
790 if (("counterDelta64" == value))
791 {
792 parsedValue = PerformanceCounterTypesType.counterDelta64;
793 }
794 else
795 {
796 if (("numberOfItems64" == value))
797 {
798 parsedValue = PerformanceCounterTypesType.numberOfItems64;
799 }
800 else
801 {
802 if (("numberOfItems32" == value))
803 {
804 parsedValue = PerformanceCounterTypesType.numberOfItems32;
805 }
806 else
807 {
808 if (("numberOfItemsHEX64" == value))
809 {
810 parsedValue = PerformanceCounterTypesType.numberOfItemsHEX64;
811 }
812 else
813 {
814 if (("numberOfItemsHEX32" == value))
815 {
816 parsedValue = PerformanceCounterTypesType.numberOfItemsHEX32;
817 }
818 else
819 {
820 parsedValue = PerformanceCounterTypesType.IllegalValue;
821 return false;
822 }
823 }
824 }
825 }
826 }
827 }
828 }
829 }
830 }
831 }
832 }
833 }
834 }
835 }
836 }
837 }
838 }
839 }
840 }
841 }
842 }
843 }
844 }
845 }
846 }
847 }
848 }
849 }
850 return true;
851 }
852 }
853
854 /// <summary>
855 /// Enumeration of valid languages for performance counters.
856 /// </summary>
857 [GeneratedCode("XsdGen", "4.0.0.0")]
858 public enum PerformanceCounterLanguageType
859 {
860
861 IllegalValue = int.MaxValue,
862
863 NotSet = -1,
864
865 afrikaans,
866
867 albanian,
868
869 arabic,
870
871 armenian,
872
873 assamese,
874
875 azeri,
876
877 basque,
878
879 belarusian,
880
881 bengali,
882
883 bulgarian,
884
885 catalan,
886
887 chinese,
888
889 croatian,
890
891 czech,
892
893 danish,
894
895 divehi,
896
897 dutch,
898
899 english,
900
901 estonian,
902
903 faeroese,
904
905 farsi,
906
907 finnish,
908
909 french,
910
911 galician,
912
913 georgian,
914
915 german,
916
917 greek,
918
919 gujarati,
920
921 hebrew,
922
923 hindi,
924
925 hungarian,
926
927 icelandic,
928
929 indonesian,
930
931 italian,
932
933 japanese,
934
935 kannada,
936
937 kashmiri,
938
939 kazak,
940
941 konkani,
942
943 korean,
944
945 kyrgyz,
946
947 latvian,
948
949 lithuanian,
950
951 macedonian,
952
953 malay,
954
955 malayalam,
956
957 manipuri,
958
959 marathi,
960
961 mongolian,
962
963 nepali,
964
965 norwegian,
966
967 oriya,
968
969 polish,
970
971 portuguese,
972
973 punjabi,
974
975 romanian,
976
977 russian,
978
979 sanskrit,
980
981 serbian,
982
983 sindhi,
984
985 slovak,
986
987 slovenian,
988
989 spanish,
990
991 swahili,
992
993 swedish,
994
995 syriac,
996
997 tamil,
998
999 tatar,
1000
1001 telugu,
1002
1003 thai,
1004
1005 turkish,
1006
1007 ukrainian,
1008
1009 urdu,
1010
1011 uzbek,
1012
1013 vietnamese,
1014 }
1015
1016 /// <summary>
1017 /// Enumeration of valid types for performance counters.
1018 /// </summary>
1019 [GeneratedCode("XsdGen", "4.0.0.0")]
1020 public enum PerformanceCounterTypesType
1021 {
1022
1023 IllegalValue = int.MaxValue,
1024
1025 NotSet = -1,
1026
1027 averageBase,
1028
1029 averageCount64,
1030
1031 averageTimer32,
1032
1033 counterDelta32,
1034
1035 counterTimerInverse,
1036
1037 sampleFraction,
1038
1039 timer100Ns,
1040
1041 counterTimer,
1042
1043 rawFraction,
1044
1045 timer100NsInverse,
1046
1047 counterMultiTimer,
1048
1049 counterMultiTimer100Ns,
1050
1051 counterMultiTimerInverse,
1052
1053 counterMultiTimer100NsInverse,
1054
1055 elapsedTime,
1056
1057 sampleBase,
1058
1059 rawBase,
1060
1061 counterMultiBase,
1062
1063 rateOfCountsPerSecond64,
1064
1065 rateOfCountsPerSecond32,
1066
1067 countPerTimeInterval64,
1068
1069 countPerTimeInterval32,
1070
1071 sampleCounter,
1072
1073 counterDelta64,
1074
1075 numberOfItems64,
1076
1077 numberOfItems32,
1078
1079 numberOfItemsHEX64,
1080
1081 numberOfItemsHEX32,
1082 }
1083
1084 /// <summary>
1085 /// Closes applications or schedules a reboot if application cannot be closed.
1086 /// </summary>
1087 [GeneratedCode("XsdGen", "4.0.0.0")]
1088 public class CloseApplication : ISchemaElement, ISetAttributes
1089 {
1090
1091 private string idField;
1092
1093 private bool idFieldSet;
1094
1095 private string targetField;
1096
1097 private bool targetFieldSet;
1098
1099 private string descriptionField;
1100
1101 private bool descriptionFieldSet;
1102
1103 private int sequenceField;
1104
1105 private bool sequenceFieldSet;
1106
1107 private YesNoType closeMessageField;
1108
1109 private bool closeMessageFieldSet;
1110
1111 private YesNoType endSessionMessageField;
1112
1113 private bool endSessionMessageFieldSet;
1114
1115 private YesNoType elevatedCloseMessageField;
1116
1117 private bool elevatedCloseMessageFieldSet;
1118
1119 private YesNoType elevatedEndSessionMessageField;
1120
1121 private bool elevatedEndSessionMessageFieldSet;
1122
1123 private YesNoType rebootPromptField;
1124
1125 private bool rebootPromptFieldSet;
1126
1127 private YesNoType promptToContinueField;
1128
1129 private bool promptToContinueFieldSet;
1130
1131 private string propertyField;
1132
1133 private bool propertyFieldSet;
1134
1135 private int terminateProcessField;
1136
1137 private bool terminateProcessFieldSet;
1138
1139 private int timeoutField;
1140
1141 private bool timeoutFieldSet;
1142
1143 private string contentField;
1144
1145 private bool contentFieldSet;
1146
1147 private ISchemaElement parentElement;
1148
1149 /// <summary>
1150 /// Identifier for the close application (primary key). If the Id is not specified, one will be generated.
1151 /// </summary>
1152 public string Id
1153 {
1154 get
1155 {
1156 return this.idField;
1157 }
1158 set
1159 {
1160 this.idFieldSet = true;
1161 this.idField = value;
1162 }
1163 }
1164
1165 /// <summary>
1166 /// Name of the exectuable to be closed. This should only be the file name.
1167 /// </summary>
1168 public string Target
1169 {
1170 get
1171 {
1172 return this.targetField;
1173 }
1174 set
1175 {
1176 this.targetFieldSet = true;
1177 this.targetField = value;
1178 }
1179 }
1180
1181 /// <summary>
1182 /// Description to show if application is running and needs to be closed.
1183 /// </summary>
1184 public string Description
1185 {
1186 get
1187 {
1188 return this.descriptionField;
1189 }
1190 set
1191 {
1192 this.descriptionFieldSet = true;
1193 this.descriptionField = value;
1194 }
1195 }
1196
1197 /// <summary>
1198 /// Optionally orders the applications to be closed.
1199 /// </summary>
1200 public int Sequence
1201 {
1202 get
1203 {
1204 return this.sequenceField;
1205 }
1206 set
1207 {
1208 this.sequenceFieldSet = true;
1209 this.sequenceField = value;
1210 }
1211 }
1212
1213 /// <summary>
1214 /// Optionally sends a close message to the application. Default is no.
1215 /// </summary>
1216 public YesNoType CloseMessage
1217 {
1218 get
1219 {
1220 return this.closeMessageField;
1221 }
1222 set
1223 {
1224 this.closeMessageFieldSet = true;
1225 this.closeMessageField = value;
1226 }
1227 }
1228
1229 /// <summary>
1230 /// Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application. Default is "no".
1231 /// </summary>
1232 public YesNoType EndSessionMessage
1233 {
1234 get
1235 {
1236 return this.endSessionMessageField;
1237 }
1238 set
1239 {
1240 this.endSessionMessageFieldSet = true;
1241 this.endSessionMessageField = value;
1242 }
1243 }
1244
1245 /// <summary>
1246 /// Optionally sends a close message to the application from deffered action without impersonation. Default is no.
1247 /// </summary>
1248 public YesNoType ElevatedCloseMessage
1249 {
1250 get
1251 {
1252 return this.elevatedCloseMessageField;
1253 }
1254 set
1255 {
1256 this.elevatedCloseMessageFieldSet = true;
1257 this.elevatedCloseMessageField = value;
1258 }
1259 }
1260
1261 /// <summary>
1262 /// Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application from a deffered action without impersonation. Default is "no".
1263 /// </summary>
1264 public YesNoType ElevatedEndSessionMessage
1265 {
1266 get
1267 {
1268 return this.elevatedEndSessionMessageField;
1269 }
1270 set
1271 {
1272 this.elevatedEndSessionMessageFieldSet = true;
1273 this.elevatedEndSessionMessageField = value;
1274 }
1275 }
1276
1277 /// <summary>
1278 /// Optionally prompts for reboot if application is still running. The default is "yes". The TerminateProcess attribute must be "no" or not specified if this attribute is "yes".
1279 /// </summary>
1280 public YesNoType RebootPrompt
1281 {
1282 get
1283 {
1284 return this.rebootPromptField;
1285 }
1286 set
1287 {
1288 this.rebootPromptFieldSet = true;
1289 this.rebootPromptField = value;
1290 }
1291 }
1292
1293 /// <summary>
1294 /// 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
1295 /// 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
1296 /// 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
1297 /// set on the CloseApplication element. The default is "no".
1298 /// </summary>
1299 public YesNoType PromptToContinue
1300 {
1301 get
1302 {
1303 return this.promptToContinueField;
1304 }
1305 set
1306 {
1307 this.promptToContinueFieldSet = true;
1308 this.promptToContinueField = value;
1309 }
1310 }
1311
1312 /// <summary>
1313 /// 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.
1314 /// </summary>
1315 public string Property
1316 {
1317 get
1318 {
1319 return this.propertyField;
1320 }
1321 set
1322 {
1323 this.propertyFieldSet = true;
1324 this.propertyField = value;
1325 }
1326 }
1327
1328 /// <summary>
1329 /// Attempts to terminates process and return the specified exit code if application is still running after sending any requested close and/or end session messages.
1330 /// If this attribute is specified, the RebootPrompt attribute must be "no". The default is "no".
1331 /// </summary>
1332 public int TerminateProcess
1333 {
1334 get
1335 {
1336 return this.terminateProcessField;
1337 }
1338 set
1339 {
1340 this.terminateProcessFieldSet = true;
1341 this.terminateProcessField = value;
1342 }
1343 }
1344
1345 /// <summary>
1346 /// 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
1347 /// the RebootPrompt or TerminateProcess attributes will be considered. The default value is "5" seconds.
1348 /// </summary>
1349 public int Timeout
1350 {
1351 get
1352 {
1353 return this.timeoutField;
1354 }
1355 set
1356 {
1357 this.timeoutFieldSet = true;
1358 this.timeoutField = value;
1359 }
1360 }
1361
1362 /// <summary>
1363 /// Condition that determines if the application should be closed. Must be blank or evaluate to true
1364 /// for the application to be scheduled for closing.
1365 /// </summary>
1366 public string Content
1367 {
1368 get
1369 {
1370 return this.contentField;
1371 }
1372 set
1373 {
1374 this.contentFieldSet = true;
1375 this.contentField = value;
1376 }
1377 }
1378
1379 public virtual ISchemaElement ParentElement
1380 {
1381 get
1382 {
1383 return this.parentElement;
1384 }
1385 set
1386 {
1387 this.parentElement = value;
1388 }
1389 }
1390
1391 /// <summary>
1392 /// Processes this element and all child elements into an XmlWriter.
1393 /// </summary>
1394 [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
1395 public virtual void OutputXml(XmlWriter writer)
1396 {
1397 if ((null == writer))
1398 {
1399 throw new ArgumentNullException("writer");
1400 }
1401 writer.WriteStartElement("CloseApplication", "http://wixtoolset.org/schemas/v4/wxs/util");
1402 if (this.idFieldSet)
1403 {
1404 writer.WriteAttributeString("Id", this.idField);
1405 }
1406 if (this.targetFieldSet)
1407 {
1408 writer.WriteAttributeString("Target", this.targetField);
1409 }
1410 if (this.descriptionFieldSet)
1411 {
1412 writer.WriteAttributeString("Description", this.descriptionField);
1413 }
1414 if (this.sequenceFieldSet)
1415 {
1416 writer.WriteAttributeString("Sequence", this.sequenceField.ToString(CultureInfo.InvariantCulture));
1417 }
1418 if (this.closeMessageFieldSet)
1419 {
1420 if ((this.closeMessageField == YesNoType.no))
1421 {
1422 writer.WriteAttributeString("CloseMessage", "no");
1423 }
1424 if ((this.closeMessageField == YesNoType.yes))
1425 {
1426 writer.WriteAttributeString("CloseMessage", "yes");
1427 }
1428 }
1429 if (this.endSessionMessageFieldSet)
1430 {
1431 if ((this.endSessionMessageField == YesNoType.no))
1432 {
1433 writer.WriteAttributeString("EndSessionMessage", "no");
1434 }
1435 if ((this.endSessionMessageField == YesNoType.yes))
1436 {
1437 writer.WriteAttributeString("EndSessionMessage", "yes");
1438 }
1439 }
1440 if (this.elevatedCloseMessageFieldSet)
1441 {
1442 if ((this.elevatedCloseMessageField == YesNoType.no))
1443 {
1444 writer.WriteAttributeString("ElevatedCloseMessage", "no");
1445 }
1446 if ((this.elevatedCloseMessageField == YesNoType.yes))
1447 {
1448 writer.WriteAttributeString("ElevatedCloseMessage", "yes");
1449 }
1450 }
1451 if (this.elevatedEndSessionMessageFieldSet)
1452 {
1453 if ((this.elevatedEndSessionMessageField == YesNoType.no))
1454 {
1455 writer.WriteAttributeString("ElevatedEndSessionMessage", "no");
1456 }
1457 if ((this.elevatedEndSessionMessageField == YesNoType.yes))
1458 {
1459 writer.WriteAttributeString("ElevatedEndSessionMessage", "yes");
1460 }
1461 }
1462 if (this.rebootPromptFieldSet)
1463 {
1464 if ((this.rebootPromptField == YesNoType.no))
1465 {
1466 writer.WriteAttributeString("RebootPrompt", "no");
1467 }
1468 if ((this.rebootPromptField == YesNoType.yes))
1469 {
1470 writer.WriteAttributeString("RebootPrompt", "yes");
1471 }
1472 }
1473 if (this.promptToContinueFieldSet)
1474 {
1475 if ((this.promptToContinueField == YesNoType.no))
1476 {
1477 writer.WriteAttributeString("PromptToContinue", "no");
1478 }
1479 if ((this.promptToContinueField == YesNoType.yes))
1480 {
1481 writer.WriteAttributeString("PromptToContinue", "yes");
1482 }
1483 }
1484 if (this.propertyFieldSet)
1485 {
1486 writer.WriteAttributeString("Property", this.propertyField);
1487 }
1488 if (this.terminateProcessFieldSet)
1489 {
1490 writer.WriteAttributeString("TerminateProcess", this.terminateProcessField.ToString(CultureInfo.InvariantCulture));
1491 }
1492 if (this.timeoutFieldSet)
1493 {
1494 writer.WriteAttributeString("Timeout", this.timeoutField.ToString(CultureInfo.InvariantCulture));
1495 }
1496 if (this.contentFieldSet)
1497 {
1498 writer.WriteString(this.contentField);
1499 }
1500 writer.WriteEndElement();
1501 }
1502
1503 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1504 [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
1505 void ISetAttributes.SetAttribute(string name, string value)
1506 {
1507 if (String.IsNullOrEmpty(name))
1508 {
1509 throw new ArgumentNullException("name");
1510 }
1511 if (("Id" == name))
1512 {
1513 this.idField = value;
1514 this.idFieldSet = true;
1515 }
1516 if (("Target" == name))
1517 {
1518 this.targetField = value;
1519 this.targetFieldSet = true;
1520 }
1521 if (("Description" == name))
1522 {
1523 this.descriptionField = value;
1524 this.descriptionFieldSet = true;
1525 }
1526 if (("Sequence" == name))
1527 {
1528 this.sequenceField = Convert.ToInt32(value, CultureInfo.InvariantCulture);
1529 this.sequenceFieldSet = true;
1530 }
1531 if (("CloseMessage" == name))
1532 {
1533 this.closeMessageField = Enums.ParseYesNoType(value);
1534 this.closeMessageFieldSet = true;
1535 }
1536 if (("EndSessionMessage" == name))
1537 {
1538 this.endSessionMessageField = Enums.ParseYesNoType(value);
1539 this.endSessionMessageFieldSet = true;
1540 }
1541 if (("ElevatedCloseMessage" == name))
1542 {
1543 this.elevatedCloseMessageField = Enums.ParseYesNoType(value);
1544 this.elevatedCloseMessageFieldSet = true;
1545 }
1546 if (("ElevatedEndSessionMessage" == name))
1547 {
1548 this.elevatedEndSessionMessageField = Enums.ParseYesNoType(value);
1549 this.elevatedEndSessionMessageFieldSet = true;
1550 }
1551 if (("RebootPrompt" == name))
1552 {
1553 this.rebootPromptField = Enums.ParseYesNoType(value);
1554 this.rebootPromptFieldSet = true;
1555 }
1556 if (("PromptToContinue" == name))
1557 {
1558 this.promptToContinueField = Enums.ParseYesNoType(value);
1559 this.promptToContinueFieldSet = true;
1560 }
1561 if (("Property" == name))
1562 {
1563 this.propertyField = value;
1564 this.propertyFieldSet = true;
1565 }
1566 if (("TerminateProcess" == name))
1567 {
1568 this.terminateProcessField = Convert.ToInt32(value, CultureInfo.InvariantCulture);
1569 this.terminateProcessFieldSet = true;
1570 }
1571 if (("Timeout" == name))
1572 {
1573 this.timeoutField = Convert.ToInt32(value, CultureInfo.InvariantCulture);
1574 this.timeoutFieldSet = true;
1575 }
1576 if (("Content" == name))
1577 {
1578 this.contentField = value;
1579 this.contentFieldSet = true;
1580 }
1581 }
1582 }
1583
1584 /// <summary>
1585 /// Describes a component search.
1586 /// </summary>
1587 [GeneratedCode("XsdGen", "4.0.0.0")]
1588 public class ComponentSearch : ISchemaElement, ISetAttributes
1589 {
1590
1591 private string idField;
1592
1593 private bool idFieldSet;
1594
1595 private string variableField;
1596
1597 private bool variableFieldSet;
1598
1599 private string conditionField;
1600
1601 private bool conditionFieldSet;
1602
1603 private string afterField;
1604
1605 private bool afterFieldSet;
1606
1607 private string guidField;
1608
1609 private bool guidFieldSet;
1610
1611 private string productCodeField;
1612
1613 private bool productCodeFieldSet;
1614
1615 private ResultType resultField;
1616
1617 private bool resultFieldSet;
1618
1619 private ISchemaElement parentElement;
1620
1621 /// <summary>
1622 /// Id of the search for ordering and dependency.
1623 /// </summary>
1624 public string Id
1625 {
1626 get
1627 {
1628 return this.idField;
1629 }
1630 set
1631 {
1632 this.idFieldSet = true;
1633 this.idField = value;
1634 }
1635 }
1636
1637 /// <summary>
1638 /// Name of the variable in which to place the result of the search.
1639 /// </summary>
1640 public string Variable
1641 {
1642 get
1643 {
1644 return this.variableField;
1645 }
1646 set
1647 {
1648 this.variableFieldSet = true;
1649 this.variableField = value;
1650 }
1651 }
1652
1653 /// <summary>
1654 /// Condition for evaluating the search. If this evaluates to false, the search is not executed at all.
1655 /// </summary>
1656 public string Condition
1657 {
1658 get
1659 {
1660 return this.conditionField;
1661 }
1662 set
1663 {
1664 this.conditionFieldSet = true;
1665 this.conditionField = value;
1666 }
1667 }
1668
1669 /// <summary>
1670 /// Id of the search that this one should come after.
1671 /// </summary>
1672 public string After
1673 {
1674 get
1675 {
1676 return this.afterField;
1677 }
1678 set
1679 {
1680 this.afterFieldSet = true;
1681 this.afterField = value;
1682 }
1683 }
1684
1685 /// <summary>
1686 /// Component to search for.
1687 /// </summary>
1688 public string Guid
1689 {
1690 get
1691 {
1692 return this.guidField;
1693 }
1694 set
1695 {
1696 this.guidFieldSet = true;
1697 this.guidField = value;
1698 }
1699 }
1700
1701 /// <summary>
1702 /// Optional ProductCode to determine if the component is installed.
1703 /// </summary>
1704 public string ProductCode
1705 {
1706 get
1707 {
1708 return this.productCodeField;
1709 }
1710 set
1711 {
1712 this.productCodeFieldSet = true;
1713 this.productCodeField = value;
1714 }
1715 }
1716
1717 /// <summary>
1718 /// Rather than saving the matching key path into the variable, a ComponentSearch can save an attribute of the component instead.
1719 /// </summary>
1720 public ResultType Result
1721 {
1722 get
1723 {
1724 return this.resultField;
1725 }
1726 set
1727 {
1728 this.resultFieldSet = true;
1729 this.resultField = value;
1730 }
1731 }
1732
1733 public virtual ISchemaElement ParentElement
1734 {
1735 get
1736 {
1737 return this.parentElement;
1738 }
1739 set
1740 {
1741 this.parentElement = value;
1742 }
1743 }
1744
1745 /// <summary>
1746 /// Parses a ResultType from a string.
1747 /// </summary>
1748 public static ResultType ParseResultType(string value)
1749 {
1750 ResultType parsedValue;
1751 ComponentSearch.TryParseResultType(value, out parsedValue);
1752 return parsedValue;
1753 }
1754
1755 /// <summary>
1756 /// Tries to parse a ResultType from a string.
1757 /// </summary>
1758 public static bool TryParseResultType(string value, out ResultType parsedValue)
1759 {
1760 parsedValue = ResultType.NotSet;
1761 if (string.IsNullOrEmpty(value))
1762 {
1763 return false;
1764 }
1765 if (("directory" == value))
1766 {
1767 parsedValue = ResultType.directory;
1768 }
1769 else
1770 {
1771 if (("state" == value))
1772 {
1773 parsedValue = ResultType.state;
1774 }
1775 else
1776 {
1777 if (("keyPath" == value))
1778 {
1779 parsedValue = ResultType.keyPath;
1780 }
1781 else
1782 {
1783 parsedValue = ResultType.IllegalValue;
1784 return false;
1785 }
1786 }
1787 }
1788 return true;
1789 }
1790
1791 /// <summary>
1792 /// Processes this element and all child elements into an XmlWriter.
1793 /// </summary>
1794 [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
1795 public virtual void OutputXml(XmlWriter writer)
1796 {
1797 if ((null == writer))
1798 {
1799 throw new ArgumentNullException("writer");
1800 }
1801 writer.WriteStartElement("ComponentSearch", "http://wixtoolset.org/schemas/v4/wxs/util");
1802 if (this.idFieldSet)
1803 {
1804 writer.WriteAttributeString("Id", this.idField);
1805 }
1806 if (this.variableFieldSet)
1807 {
1808 writer.WriteAttributeString("Variable", this.variableField);
1809 }
1810 if (this.conditionFieldSet)
1811 {
1812 writer.WriteAttributeString("Condition", this.conditionField);
1813 }
1814 if (this.afterFieldSet)
1815 {
1816 writer.WriteAttributeString("After", this.afterField);
1817 }
1818 if (this.guidFieldSet)
1819 {
1820 writer.WriteAttributeString("Guid", this.guidField);
1821 }
1822 if (this.productCodeFieldSet)
1823 {
1824 writer.WriteAttributeString("ProductCode", this.productCodeField);
1825 }
1826 if (this.resultFieldSet)
1827 {
1828 if ((this.resultField == ResultType.directory))
1829 {
1830 writer.WriteAttributeString("Result", "directory");
1831 }
1832 if ((this.resultField == ResultType.state))
1833 {
1834 writer.WriteAttributeString("Result", "state");
1835 }
1836 if ((this.resultField == ResultType.keyPath))
1837 {
1838 writer.WriteAttributeString("Result", "keyPath");
1839 }
1840 }
1841 writer.WriteEndElement();
1842 }
1843
1844 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1845 void ISetAttributes.SetAttribute(string name, string value)
1846 {
1847 if (String.IsNullOrEmpty(name))
1848 {
1849 throw new ArgumentNullException("name");
1850 }
1851 if (("Id" == name))
1852 {
1853 this.idField = value;
1854 this.idFieldSet = true;
1855 }
1856 if (("Variable" == name))
1857 {
1858 this.variableField = value;
1859 this.variableFieldSet = true;
1860 }
1861 if (("Condition" == name))
1862 {
1863 this.conditionField = value;
1864 this.conditionFieldSet = true;
1865 }
1866 if (("After" == name))
1867 {
1868 this.afterField = value;
1869 this.afterFieldSet = true;
1870 }
1871 if (("Guid" == name))
1872 {
1873 this.guidField = value;
1874 this.guidFieldSet = true;
1875 }
1876 if (("ProductCode" == name))
1877 {
1878 this.productCodeField = value;
1879 this.productCodeFieldSet = true;
1880 }
1881 if (("Result" == name))
1882 {
1883 this.resultField = ComponentSearch.ParseResultType(value);
1884 this.resultFieldSet = true;
1885 }
1886 }
1887
1888 [GeneratedCode("XsdGen", "4.0.0.0")]
1889 public enum ResultType
1890 {
1891
1892 IllegalValue = int.MaxValue,
1893
1894 NotSet = -1,
1895
1896 /// <summary>
1897 /// Saves the parent directory for the component's file key path; other types of key path are returned unmodified.
1898 /// </summary>
1899 directory,
1900
1901 /// <summary>
1902 /// 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)
1903 /// </summary>
1904 state,
1905
1906 /// <summary>
1907 /// Saves the key path of the component if installed. This is the default.
1908 /// </summary>
1909 keyPath,
1910 }
1911 }
1912
1913 /// <summary>
1914 /// References a ComponentSearch.
1915 /// </summary>
1916 [GeneratedCode("XsdGen", "4.0.0.0")]
1917 public class ComponentSearchRef : ISchemaElement, ISetAttributes
1918 {
1919
1920 private string idField;
1921
1922 private bool idFieldSet;
1923
1924 private ISchemaElement parentElement;
1925
1926 public string Id
1927 {
1928 get
1929 {
1930 return this.idField;
1931 }
1932 set
1933 {
1934 this.idFieldSet = true;
1935 this.idField = value;
1936 }
1937 }
1938
1939 public virtual ISchemaElement ParentElement
1940 {
1941 get
1942 {
1943 return this.parentElement;
1944 }
1945 set
1946 {
1947 this.parentElement = value;
1948 }
1949 }
1950
1951 /// <summary>
1952 /// Processes this element and all child elements into an XmlWriter.
1953 /// </summary>
1954 public virtual void OutputXml(XmlWriter writer)
1955 {
1956 if ((null == writer))
1957 {
1958 throw new ArgumentNullException("writer");
1959 }
1960 writer.WriteStartElement("ComponentSearchRef", "http://wixtoolset.org/schemas/v4/wxs/util");
1961 if (this.idFieldSet)
1962 {
1963 writer.WriteAttributeString("Id", this.idField);
1964 }
1965 writer.WriteEndElement();
1966 }
1967
1968 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1969 void ISetAttributes.SetAttribute(string name, string value)
1970 {
1971 if (String.IsNullOrEmpty(name))
1972 {
1973 throw new ArgumentNullException("name");
1974 }
1975 if (("Id" == name))
1976 {
1977 this.idField = value;
1978 this.idFieldSet = true;
1979 }
1980 }
1981 }
1982
1983 /// <summary>
1984 /// Describes a directory search.
1985 /// </summary>
1986 [GeneratedCode("XsdGen", "4.0.0.0")]
1987 public class DirectorySearch : ISchemaElement, ISetAttributes
1988 {
1989
1990 private string idField;
1991
1992 private bool idFieldSet;
1993
1994 private string variableField;
1995
1996 private bool variableFieldSet;
1997
1998 private string conditionField;
1999
2000 private bool conditionFieldSet;
2001
2002 private string afterField;
2003
2004 private bool afterFieldSet;
2005
2006 private string pathField;
2007
2008 private bool pathFieldSet;
2009
2010 private ResultType resultField;
2011
2012 private bool resultFieldSet;
2013
2014 private ISchemaElement parentElement;
2015
2016 /// <summary>
2017 /// Id of the search for ordering and dependency.
2018 /// </summary>
2019 public string Id
2020 {
2021 get
2022 {
2023 return this.idField;
2024 }
2025 set
2026 {
2027 this.idFieldSet = true;
2028 this.idField = value;
2029 }
2030 }
2031
2032 /// <summary>
2033 /// Name of the variable in which to place the result of the search.
2034 /// </summary>
2035 public string Variable
2036 {
2037 get
2038 {
2039 return this.variableField;
2040 }
2041 set
2042 {
2043 this.variableFieldSet = true;
2044 this.variableField = value;
2045 }
2046 }
2047
2048 /// <summary>
2049 /// Condition for evaluating the search. If this evaluates to false, the search is not executed at all.
2050 /// </summary>
2051 public string Condition
2052 {
2053 get
2054 {
2055 return this.conditionField;
2056 }
2057 set
2058 {
2059 this.conditionFieldSet = true;
2060 this.conditionField = value;
2061 }
2062 }
2063
2064 /// <summary>
2065 /// Id of the search that this one should come after.
2066 /// </summary>
2067 public string After
2068 {
2069 get
2070 {
2071 return this.afterField;
2072 }
2073 set
2074 {
2075 this.afterFieldSet = true;
2076 this.afterField = value;
2077 }
2078 }
2079
2080 /// <summary>
2081 /// Directory path to search for.
2082 /// </summary>
2083 public string Path
2084 {
2085 get
2086 {
2087 return this.pathField;
2088 }
2089 set
2090 {
2091 this.pathFieldSet = true;
2092 this.pathField = value;
2093 }
2094 }
2095
2096 /// <summary>
2097 /// Rather than saving the matching directory path into the variable, a DirectorySearch can save an
2098 /// attribute of the matching directory instead.
2099 /// </summary>
2100 public ResultType Result
2101 {
2102 get
2103 {
2104 return this.resultField;
2105 }
2106 set
2107 {
2108 this.resultFieldSet = true;
2109 this.resultField = value;
2110 }
2111 }
2112
2113 public virtual ISchemaElement ParentElement
2114 {
2115 get
2116 {
2117 return this.parentElement;
2118 }
2119 set
2120 {
2121 this.parentElement = value;
2122 }
2123 }
2124
2125 /// <summary>
2126 /// Parses a ResultType from a string.
2127 /// </summary>
2128 public static ResultType ParseResultType(string value)
2129 {
2130 ResultType parsedValue;
2131 DirectorySearch.TryParseResultType(value, out parsedValue);
2132 return parsedValue;
2133 }
2134
2135 /// <summary>
2136 /// Tries to parse a ResultType from a string.
2137 /// </summary>
2138 public static bool TryParseResultType(string value, out ResultType parsedValue)
2139 {
2140 parsedValue = ResultType.NotSet;
2141 if (string.IsNullOrEmpty(value))
2142 {
2143 return false;
2144 }
2145 if (("exists" == value))
2146 {
2147 parsedValue = ResultType.exists;
2148 }
2149 else
2150 {
2151 parsedValue = ResultType.IllegalValue;
2152 return false;
2153 }
2154 return true;
2155 }
2156
2157 /// <summary>
2158 /// Processes this element and all child elements into an XmlWriter.
2159 /// </summary>
2160 public virtual void OutputXml(XmlWriter writer)
2161 {
2162 if ((null == writer))
2163 {
2164 throw new ArgumentNullException("writer");
2165 }
2166 writer.WriteStartElement("DirectorySearch", "http://wixtoolset.org/schemas/v4/wxs/util");
2167 if (this.idFieldSet)
2168 {
2169 writer.WriteAttributeString("Id", this.idField);
2170 }
2171 if (this.variableFieldSet)
2172 {
2173 writer.WriteAttributeString("Variable", this.variableField);
2174 }
2175 if (this.conditionFieldSet)
2176 {
2177 writer.WriteAttributeString("Condition", this.conditionField);
2178 }
2179 if (this.afterFieldSet)
2180 {
2181 writer.WriteAttributeString("After", this.afterField);
2182 }
2183 if (this.pathFieldSet)
2184 {
2185 writer.WriteAttributeString("Path", this.pathField);
2186 }
2187 if (this.resultFieldSet)
2188 {
2189 if ((this.resultField == ResultType.exists))
2190 {
2191 writer.WriteAttributeString("Result", "exists");
2192 }
2193 }
2194 writer.WriteEndElement();
2195 }
2196
2197 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2198 void ISetAttributes.SetAttribute(string name, string value)
2199 {
2200 if (String.IsNullOrEmpty(name))
2201 {
2202 throw new ArgumentNullException("name");
2203 }
2204 if (("Id" == name))
2205 {
2206 this.idField = value;
2207 this.idFieldSet = true;
2208 }
2209 if (("Variable" == name))
2210 {
2211 this.variableField = value;
2212 this.variableFieldSet = true;
2213 }
2214 if (("Condition" == name))
2215 {
2216 this.conditionField = value;
2217 this.conditionFieldSet = true;
2218 }
2219 if (("After" == name))
2220 {
2221 this.afterField = value;
2222 this.afterFieldSet = true;
2223 }
2224 if (("Path" == name))
2225 {
2226 this.pathField = value;
2227 this.pathFieldSet = true;
2228 }
2229 if (("Result" == name))
2230 {
2231 this.resultField = DirectorySearch.ParseResultType(value);
2232 this.resultFieldSet = true;
2233 }
2234 }
2235
2236 [GeneratedCode("XsdGen", "4.0.0.0")]
2237 public enum ResultType
2238 {
2239
2240 IllegalValue = int.MaxValue,
2241
2242 NotSet = -1,
2243
2244 /// <summary>
2245 /// Saves true if a matching directory is found; false otherwise.
2246 /// </summary>
2247 exists,
2248 }
2249 }
2250
2251 /// <summary>
2252 /// References a DirectorySearch.
2253 /// </summary>
2254 [GeneratedCode("XsdGen", "4.0.0.0")]
2255 public class DirectorySearchRef : ISchemaElement, ISetAttributes
2256 {
2257
2258 private string idField;
2259
2260 private bool idFieldSet;
2261
2262 private ISchemaElement parentElement;
2263
2264 public string Id
2265 {
2266 get
2267 {
2268 return this.idField;
2269 }
2270 set
2271 {
2272 this.idFieldSet = true;
2273 this.idField = value;
2274 }
2275 }
2276
2277 public virtual ISchemaElement ParentElement
2278 {
2279 get
2280 {
2281 return this.parentElement;
2282 }
2283 set
2284 {
2285 this.parentElement = value;
2286 }
2287 }
2288
2289 /// <summary>
2290 /// Processes this element and all child elements into an XmlWriter.
2291 /// </summary>
2292 public virtual void OutputXml(XmlWriter writer)
2293 {
2294 if ((null == writer))
2295 {
2296 throw new ArgumentNullException("writer");
2297 }
2298 writer.WriteStartElement("DirectorySearchRef", "http://wixtoolset.org/schemas/v4/wxs/util");
2299 if (this.idFieldSet)
2300 {
2301 writer.WriteAttributeString("Id", this.idField);
2302 }
2303 writer.WriteEndElement();
2304 }
2305
2306 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2307 void ISetAttributes.SetAttribute(string name, string value)
2308 {
2309 if (String.IsNullOrEmpty(name))
2310 {
2311 throw new ArgumentNullException("name");
2312 }
2313 if (("Id" == name))
2314 {
2315 this.idField = value;
2316 this.idFieldSet = true;
2317 }
2318 }
2319 }
2320
2321 /// <summary>
2322 /// Creates an event source.
2323 /// </summary>
2324 [GeneratedCode("XsdGen", "4.0.0.0")]
2325 public class EventSource : ISchemaElement, ISetAttributes
2326 {
2327
2328 private int categoryCountField;
2329
2330 private bool categoryCountFieldSet;
2331
2332 private string categoryMessageFileField;
2333
2334 private bool categoryMessageFileFieldSet;
2335
2336 private string eventMessageFileField;
2337
2338 private bool eventMessageFileFieldSet;
2339
2340 private YesNoType keyPathField;
2341
2342 private bool keyPathFieldSet;
2343
2344 private string logField;
2345
2346 private bool logFieldSet;
2347
2348 private string nameField;
2349
2350 private bool nameFieldSet;
2351
2352 private string parameterMessageFileField;
2353
2354 private bool parameterMessageFileFieldSet;
2355
2356 private YesNoType supportsErrorsField;
2357
2358 private bool supportsErrorsFieldSet;
2359
2360 private YesNoType supportsFailureAuditsField;
2361
2362 private bool supportsFailureAuditsFieldSet;
2363
2364 private YesNoType supportsInformationalsField;
2365
2366 private bool supportsInformationalsFieldSet;
2367
2368 private YesNoType supportsSuccessAuditsField;
2369
2370 private bool supportsSuccessAuditsFieldSet;
2371
2372 private YesNoType supportsWarningsField;
2373
2374 private bool supportsWarningsFieldSet;
2375
2376 private ISchemaElement parentElement;
2377
2378 /// <summary>
2379 /// The number of categories in CategoryMessageFile. CategoryMessageFile
2380 /// must be specified too.
2381 /// </summary>
2382 public int CategoryCount
2383 {
2384 get
2385 {
2386 return this.categoryCountField;
2387 }
2388 set
2389 {
2390 this.categoryCountFieldSet = true;
2391 this.categoryCountField = value;
2392 }
2393 }
2394
2395 /// <summary>
2396 /// Name of the category message file. CategoryCount must be specified too.
2397 /// Note that this is a formatted field, so you can use [#fileId] syntax to
2398 /// refer to a file being installed. It is also written as a REG_EXPAND_SZ
2399 /// string, so you can use %environment_variable% syntax to refer to a file
2400 /// already present on the user's machine.
2401 /// </summary>
2402 public string CategoryMessageFile
2403 {
2404 get
2405 {
2406 return this.categoryMessageFileField;
2407 }
2408 set
2409 {
2410 this.categoryMessageFileFieldSet = true;
2411 this.categoryMessageFileField = value;
2412 }
2413 }
2414
2415 /// <summary>
2416 /// Name of the event message file.
2417 /// Note that this is a formatted field, so you can use [#fileId] syntax to
2418 /// refer to a file being installed. It is also written as a REG_EXPAND_SZ
2419 /// string, so you can use %environment_variable% syntax to refer to a file
2420 /// already present on the user's machine.
2421 /// </summary>
2422 public string EventMessageFile
2423 {
2424 get
2425 {
2426 return this.eventMessageFileField;
2427 }
2428 set
2429 {
2430 this.eventMessageFileFieldSet = true;
2431 this.eventMessageFileField = value;
2432 }
2433 }
2434
2435 /// <summary>
2436 /// Marks the EventSource registry as the key path of the component it belongs to.
2437 /// </summary>
2438 public YesNoType KeyPath
2439 {
2440 get
2441 {
2442 return this.keyPathField;
2443 }
2444 set
2445 {
2446 this.keyPathFieldSet = true;
2447 this.keyPathField = value;
2448 }
2449 }
2450
2451 /// <summary>
2452 /// Name of the event source's log.
2453 /// </summary>
2454 public string Log
2455 {
2456 get
2457 {
2458 return this.logField;
2459 }
2460 set
2461 {
2462 this.logFieldSet = true;
2463 this.logField = value;
2464 }
2465 }
2466
2467 /// <summary>
2468 /// Name of the event source.
2469 /// </summary>
2470 public string Name
2471 {
2472 get
2473 {
2474 return this.nameField;
2475 }
2476 set
2477 {
2478 this.nameFieldSet = true;
2479 this.nameField = value;
2480 }
2481 }
2482
2483 /// <summary>
2484 /// Name of the parameter message file.
2485 /// Note that this is a formatted field, so you can use [#fileId] syntax to
2486 /// refer to a file being installed. It is also written as a REG_EXPAND_SZ
2487 /// string, so you can use %environment_variable% syntax to refer to a file
2488 /// already present on the user's machine.
2489 /// </summary>
2490 public string ParameterMessageFile
2491 {
2492 get
2493 {
2494 return this.parameterMessageFileField;
2495 }
2496 set
2497 {
2498 this.parameterMessageFileFieldSet = true;
2499 this.parameterMessageFileField = value;
2500 }
2501 }
2502
2503 /// <summary>
2504 /// Equivalent to EVENTLOG_ERROR_TYPE.
2505 /// </summary>
2506 public YesNoType SupportsErrors
2507 {
2508 get
2509 {
2510 return this.supportsErrorsField;
2511 }
2512 set
2513 {
2514 this.supportsErrorsFieldSet = true;
2515 this.supportsErrorsField = value;
2516 }
2517 }
2518
2519 /// <summary>
2520 /// Equivalent to EVENTLOG_AUDIT_FAILURE.
2521 /// </summary>
2522 public YesNoType SupportsFailureAudits
2523 {
2524 get
2525 {
2526 return this.supportsFailureAuditsField;
2527 }
2528 set
2529 {
2530 this.supportsFailureAuditsFieldSet = true;
2531 this.supportsFailureAuditsField = value;
2532 }
2533 }
2534
2535 /// <summary>
2536 /// Equivalent to EVENTLOG_INFORMATION_TYPE.
2537 /// </summary>
2538 public YesNoType SupportsInformationals
2539 {
2540 get
2541 {
2542 return this.supportsInformationalsField;
2543 }
2544 set
2545 {
2546 this.supportsInformationalsFieldSet = true;
2547 this.supportsInformationalsField = value;
2548 }
2549 }
2550
2551 /// <summary>
2552 /// Equivalent to EVENTLOG_AUDIT_SUCCESS.
2553 /// </summary>
2554 public YesNoType SupportsSuccessAudits
2555 {
2556 get
2557 {
2558 return this.supportsSuccessAuditsField;
2559 }
2560 set
2561 {
2562 this.supportsSuccessAuditsFieldSet = true;
2563 this.supportsSuccessAuditsField = value;
2564 }
2565 }
2566
2567 /// <summary>
2568 /// Equivalent to EVENTLOG_WARNING_TYPE.
2569 /// </summary>
2570 public YesNoType SupportsWarnings
2571 {
2572 get
2573 {
2574 return this.supportsWarningsField;
2575 }
2576 set
2577 {
2578 this.supportsWarningsFieldSet = true;
2579 this.supportsWarningsField = value;
2580 }
2581 }
2582
2583 public virtual ISchemaElement ParentElement
2584 {
2585 get
2586 {
2587 return this.parentElement;
2588 }
2589 set
2590 {
2591 this.parentElement = value;
2592 }
2593 }
2594
2595 /// <summary>
2596 /// Processes this element and all child elements into an XmlWriter.
2597 /// </summary>
2598 [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
2599 public virtual void OutputXml(XmlWriter writer)
2600 {
2601 if ((null == writer))
2602 {
2603 throw new ArgumentNullException("writer");
2604 }
2605 writer.WriteStartElement("EventSource", "http://wixtoolset.org/schemas/v4/wxs/util");
2606 if (this.categoryCountFieldSet)
2607 {
2608 writer.WriteAttributeString("CategoryCount", this.categoryCountField.ToString(CultureInfo.InvariantCulture));
2609 }
2610 if (this.categoryMessageFileFieldSet)
2611 {
2612 writer.WriteAttributeString("CategoryMessageFile", this.categoryMessageFileField);
2613 }
2614 if (this.eventMessageFileFieldSet)
2615 {
2616 writer.WriteAttributeString("EventMessageFile", this.eventMessageFileField);
2617 }
2618 if (this.keyPathFieldSet)
2619 {
2620 if ((this.keyPathField == YesNoType.no))
2621 {
2622 writer.WriteAttributeString("KeyPath", "no");
2623 }
2624 if ((this.keyPathField == YesNoType.yes))
2625 {
2626 writer.WriteAttributeString("KeyPath", "yes");
2627 }
2628 }
2629 if (this.logFieldSet)
2630 {
2631 writer.WriteAttributeString("Log", this.logField);
2632 }
2633 if (this.nameFieldSet)
2634 {
2635 writer.WriteAttributeString("Name", this.nameField);
2636 }
2637 if (this.parameterMessageFileFieldSet)
2638 {
2639 writer.WriteAttributeString("ParameterMessageFile", this.parameterMessageFileField);
2640 }
2641 if (this.supportsErrorsFieldSet)
2642 {
2643 if ((this.supportsErrorsField == YesNoType.no))
2644 {
2645 writer.WriteAttributeString("SupportsErrors", "no");
2646 }
2647 if ((this.supportsErrorsField == YesNoType.yes))
2648 {
2649 writer.WriteAttributeString("SupportsErrors", "yes");
2650 }
2651 }
2652 if (this.supportsFailureAuditsFieldSet)
2653 {
2654 if ((this.supportsFailureAuditsField == YesNoType.no))
2655 {
2656 writer.WriteAttributeString("SupportsFailureAudits", "no");
2657 }
2658 if ((this.supportsFailureAuditsField == YesNoType.yes))
2659 {
2660 writer.WriteAttributeString("SupportsFailureAudits", "yes");
2661 }
2662 }
2663 if (this.supportsInformationalsFieldSet)
2664 {
2665 if ((this.supportsInformationalsField == YesNoType.no))
2666 {
2667 writer.WriteAttributeString("SupportsInformationals", "no");
2668 }
2669 if ((this.supportsInformationalsField == YesNoType.yes))
2670 {
2671 writer.WriteAttributeString("SupportsInformationals", "yes");
2672 }
2673 }
2674 if (this.supportsSuccessAuditsFieldSet)
2675 {
2676 if ((this.supportsSuccessAuditsField == YesNoType.no))
2677 {
2678 writer.WriteAttributeString("SupportsSuccessAudits", "no");
2679 }
2680 if ((this.supportsSuccessAuditsField == YesNoType.yes))
2681 {
2682 writer.WriteAttributeString("SupportsSuccessAudits", "yes");
2683 }
2684 }
2685 if (this.supportsWarningsFieldSet)
2686 {
2687 if ((this.supportsWarningsField == YesNoType.no))
2688 {
2689 writer.WriteAttributeString("SupportsWarnings", "no");
2690 }
2691 if ((this.supportsWarningsField == YesNoType.yes))
2692 {
2693 writer.WriteAttributeString("SupportsWarnings", "yes");
2694 }
2695 }
2696 writer.WriteEndElement();
2697 }
2698
2699 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2700 [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
2701 void ISetAttributes.SetAttribute(string name, string value)
2702 {
2703 if (String.IsNullOrEmpty(name))
2704 {
2705 throw new ArgumentNullException("name");
2706 }
2707 if (("CategoryCount" == name))
2708 {
2709 this.categoryCountField = Convert.ToInt32(value, CultureInfo.InvariantCulture);
2710 this.categoryCountFieldSet = true;
2711 }
2712 if (("CategoryMessageFile" == name))
2713 {
2714 this.categoryMessageFileField = value;
2715 this.categoryMessageFileFieldSet = true;
2716 }
2717 if (("EventMessageFile" == name))
2718 {
2719 this.eventMessageFileField = value;
2720 this.eventMessageFileFieldSet = true;
2721 }
2722 if (("KeyPath" == name))
2723 {
2724 this.keyPathField = Enums.ParseYesNoType(value);
2725 this.keyPathFieldSet = true;
2726 }
2727 if (("Log" == name))
2728 {
2729 this.logField = value;
2730 this.logFieldSet = true;
2731 }
2732 if (("Name" == name))
2733 {
2734 this.nameField = value;
2735 this.nameFieldSet = true;
2736 }
2737 if (("ParameterMessageFile" == name))
2738 {
2739 this.parameterMessageFileField = value;
2740 this.parameterMessageFileFieldSet = true;
2741 }
2742 if (("SupportsErrors" == name))
2743 {
2744 this.supportsErrorsField = Enums.ParseYesNoType(value);
2745 this.supportsErrorsFieldSet = true;
2746 }
2747 if (("SupportsFailureAudits" == name))
2748 {
2749 this.supportsFailureAuditsField = Enums.ParseYesNoType(value);
2750 this.supportsFailureAuditsFieldSet = true;
2751 }
2752 if (("SupportsInformationals" == name))
2753 {
2754 this.supportsInformationalsField = Enums.ParseYesNoType(value);
2755 this.supportsInformationalsFieldSet = true;
2756 }
2757 if (("SupportsSuccessAudits" == name))
2758 {
2759 this.supportsSuccessAuditsField = Enums.ParseYesNoType(value);
2760 this.supportsSuccessAuditsFieldSet = true;
2761 }
2762 if (("SupportsWarnings" == name))
2763 {
2764 this.supportsWarningsField = Enums.ParseYesNoType(value);
2765 this.supportsWarningsFieldSet = true;
2766 }
2767 }
2768 }
2769
2770 /// <summary>
2771 /// Describes a file search.
2772 /// </summary>
2773 [GeneratedCode("XsdGen", "4.0.0.0")]
2774 public class FileSearch : ISchemaElement, ISetAttributes
2775 {
2776
2777 private string idField;
2778
2779 private bool idFieldSet;
2780
2781 private string variableField;
2782
2783 private bool variableFieldSet;
2784
2785 private string conditionField;
2786
2787 private bool conditionFieldSet;
2788
2789 private string afterField;
2790
2791 private bool afterFieldSet;
2792
2793 private string pathField;
2794
2795 private bool pathFieldSet;
2796
2797 private ResultType resultField;
2798
2799 private bool resultFieldSet;
2800
2801 private ISchemaElement parentElement;
2802
2803 /// <summary>
2804 /// Id of the search for ordering and dependency.
2805 /// </summary>
2806 public string Id
2807 {
2808 get
2809 {
2810 return this.idField;
2811 }
2812 set
2813 {
2814 this.idFieldSet = true;
2815 this.idField = value;
2816 }
2817 }
2818
2819 /// <summary>
2820 /// Name of the variable in which to place the result of the search.
2821 /// </summary>
2822 public string Variable
2823 {
2824 get
2825 {
2826 return this.variableField;
2827 }
2828 set
2829 {
2830 this.variableFieldSet = true;
2831 this.variableField = value;
2832 }
2833 }
2834
2835 /// <summary>
2836 /// Condition for evaluating the search. If this evaluates to false, the search is not executed at all.
2837 /// </summary>
2838 public string Condition
2839 {
2840 get
2841 {
2842 return this.conditionField;
2843 }
2844 set
2845 {
2846 this.conditionFieldSet = true;
2847 this.conditionField = value;
2848 }
2849 }
2850
2851 /// <summary>
2852 /// Id of the search that this one should come after.
2853 /// </summary>
2854 public string After
2855 {
2856 get
2857 {
2858 return this.afterField;
2859 }
2860 set
2861 {
2862 this.afterFieldSet = true;
2863 this.afterField = value;
2864 }
2865 }
2866
2867 /// <summary>
2868 /// File path to search for.
2869 /// </summary>
2870 public string Path
2871 {
2872 get
2873 {
2874 return this.pathField;
2875 }
2876 set
2877 {
2878 this.pathFieldSet = true;
2879 this.pathField = value;
2880 }
2881 }
2882
2883 /// <summary>
2884 /// Rather than saving the matching file path into the variable, a FileSearch can save an attribute of the matching file instead.
2885 /// </summary>
2886 public ResultType Result
2887 {
2888 get
2889 {
2890 return this.resultField;
2891 }
2892 set
2893 {
2894 this.resultFieldSet = true;
2895 this.resultField = value;
2896 }
2897 }
2898
2899 public virtual ISchemaElement ParentElement
2900 {
2901 get
2902 {
2903 return this.parentElement;
2904 }
2905 set
2906 {
2907 this.parentElement = value;
2908 }
2909 }
2910
2911 /// <summary>
2912 /// Parses a ResultType from a string.
2913 /// </summary>
2914 public static ResultType ParseResultType(string value)
2915 {
2916 ResultType parsedValue;
2917 FileSearch.TryParseResultType(value, out parsedValue);
2918 return parsedValue;
2919 }
2920
2921 /// <summary>
2922 /// Tries to parse a ResultType from a string.
2923 /// </summary>
2924 public static bool TryParseResultType(string value, out ResultType parsedValue)
2925 {
2926 parsedValue = ResultType.NotSet;
2927 if (string.IsNullOrEmpty(value))
2928 {
2929 return false;
2930 }
2931 if (("exists" == value))
2932 {
2933 parsedValue = ResultType.exists;
2934 }
2935 else
2936 {
2937 if (("version" == value))
2938 {
2939 parsedValue = ResultType.version;
2940 }
2941 else
2942 {
2943 parsedValue = ResultType.IllegalValue;
2944 return false;
2945 }
2946 }
2947 return true;
2948 }
2949
2950 /// <summary>
2951 /// Processes this element and all child elements into an XmlWriter.
2952 /// </summary>
2953 public virtual void OutputXml(XmlWriter writer)
2954 {
2955 if ((null == writer))
2956 {
2957 throw new ArgumentNullException("writer");
2958 }
2959 writer.WriteStartElement("FileSearch", "http://wixtoolset.org/schemas/v4/wxs/util");
2960 if (this.idFieldSet)
2961 {
2962 writer.WriteAttributeString("Id", this.idField);
2963 }
2964 if (this.variableFieldSet)
2965 {
2966 writer.WriteAttributeString("Variable", this.variableField);
2967 }
2968 if (this.conditionFieldSet)
2969 {
2970 writer.WriteAttributeString("Condition", this.conditionField);
2971 }
2972 if (this.afterFieldSet)
2973 {
2974 writer.WriteAttributeString("After", this.afterField);
2975 }
2976 if (this.pathFieldSet)
2977 {
2978 writer.WriteAttributeString("Path", this.pathField);
2979 }
2980 if (this.resultFieldSet)
2981 {
2982 if ((this.resultField == ResultType.exists))
2983 {
2984 writer.WriteAttributeString("Result", "exists");
2985 }
2986 if ((this.resultField == ResultType.version))
2987 {
2988 writer.WriteAttributeString("Result", "version");
2989 }
2990 }
2991 writer.WriteEndElement();
2992 }
2993
2994 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2995 void ISetAttributes.SetAttribute(string name, string value)
2996 {
2997 if (String.IsNullOrEmpty(name))
2998 {
2999 throw new ArgumentNullException("name");
3000 }
3001 if (("Id" == name))
3002 {
3003 this.idField = value;
3004 this.idFieldSet = true;
3005 }
3006 if (("Variable" == name))
3007 {
3008 this.variableField = value;
3009 this.variableFieldSet = true;
3010 }
3011 if (("Condition" == name))
3012 {
3013 this.conditionField = value;
3014 this.conditionFieldSet = true;
3015 }
3016 if (("After" == name))
3017 {
3018 this.afterField = value;
3019 this.afterFieldSet = true;
3020 }
3021 if (("Path" == name))
3022 {
3023 this.pathField = value;
3024 this.pathFieldSet = true;
3025 }
3026 if (("Result" == name))
3027 {
3028 this.resultField = FileSearch.ParseResultType(value);
3029 this.resultFieldSet = true;
3030 }
3031 }
3032
3033 [GeneratedCode("XsdGen", "4.0.0.0")]
3034 public enum ResultType
3035 {
3036
3037 IllegalValue = int.MaxValue,
3038
3039 NotSet = -1,
3040
3041 /// <summary>
3042 /// Saves true if a matching file is found; false otherwise.
3043 /// </summary>
3044 exists,
3045
3046 /// <summary>
3047 /// Saves the version information for files that have it (.exe, .dll); zero-version (0.0.0.0) otherwise.
3048 /// </summary>
3049 version,
3050 }
3051 }
3052
3053 /// <summary>
3054 /// References a FileSearch.
3055 /// </summary>
3056 [GeneratedCode("XsdGen", "4.0.0.0")]
3057 public class FileSearchRef : ISchemaElement, ISetAttributes
3058 {
3059
3060 private string idField;
3061
3062 private bool idFieldSet;
3063
3064 private ISchemaElement parentElement;
3065
3066 public string Id
3067 {
3068 get
3069 {
3070 return this.idField;
3071 }
3072 set
3073 {
3074 this.idFieldSet = true;
3075 this.idField = value;
3076 }
3077 }
3078
3079 public virtual ISchemaElement ParentElement
3080 {
3081 get
3082 {
3083 return this.parentElement;
3084 }
3085 set
3086 {
3087 this.parentElement = value;
3088 }
3089 }
3090
3091 /// <summary>
3092 /// Processes this element and all child elements into an XmlWriter.
3093 /// </summary>
3094 public virtual void OutputXml(XmlWriter writer)
3095 {
3096 if ((null == writer))
3097 {
3098 throw new ArgumentNullException("writer");
3099 }
3100 writer.WriteStartElement("FileSearchRef", "http://wixtoolset.org/schemas/v4/wxs/util");
3101 if (this.idFieldSet)
3102 {
3103 writer.WriteAttributeString("Id", this.idField);
3104 }
3105 writer.WriteEndElement();
3106 }
3107
3108 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3109 void ISetAttributes.SetAttribute(string name, string value)
3110 {
3111 if (String.IsNullOrEmpty(name))
3112 {
3113 throw new ArgumentNullException("name");
3114 }
3115 if (("Id" == name))
3116 {
3117 this.idField = value;
3118 this.idFieldSet = true;
3119 }
3120 }
3121 }
3122
3123 /// <summary>
3124 /// Creates a file share out of the component's directory.
3125 /// </summary>
3126 [GeneratedCode("XsdGen", "4.0.0.0")]
3127 public class FileShare : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
3128 {
3129
3130 private ElementCollection children;
3131
3132 private string idField;
3133
3134 private bool idFieldSet;
3135
3136 private string nameField;
3137
3138 private bool nameFieldSet;
3139
3140 private string descriptionField;
3141
3142 private bool descriptionFieldSet;
3143
3144 private ISchemaElement parentElement;
3145
3146 public FileShare()
3147 {
3148 ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Sequence);
3149 childCollection0.AddItem(new ElementCollection.SequenceItem(typeof(FileSharePermission)));
3150 this.children = childCollection0;
3151 }
3152
3153 public virtual IEnumerable Children
3154 {
3155 get
3156 {
3157 return this.children;
3158 }
3159 }
3160
3161 [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
3162 public virtual IEnumerable this[System.Type childType]
3163 {
3164 get
3165 {
3166 return this.children.Filter(childType);
3167 }
3168 }
3169
3170 /// <summary>
3171 /// Identifier for the file share (primary key).
3172 /// </summary>
3173 public string Id
3174 {
3175 get
3176 {
3177 return this.idField;
3178 }
3179 set
3180 {
3181 this.idFieldSet = true;
3182 this.idField = value;
3183 }
3184 }
3185
3186 /// <summary>
3187 /// Name of the file share.
3188 /// </summary>
3189 public string Name
3190 {
3191 get
3192 {
3193 return this.nameField;
3194 }
3195 set
3196 {
3197 this.nameFieldSet = true;
3198 this.nameField = value;
3199 }
3200 }
3201
3202 /// <summary>
3203 /// Description of the file share.
3204 /// </summary>
3205 public string Description
3206 {
3207 get
3208 {
3209 return this.descriptionField;
3210 }
3211 set
3212 {
3213 this.descriptionFieldSet = true;
3214 this.descriptionField = value;
3215 }
3216 }
3217
3218 public virtual ISchemaElement ParentElement
3219 {
3220 get
3221 {
3222 return this.parentElement;
3223 }
3224 set
3225 {
3226 this.parentElement = value;
3227 }
3228 }
3229
3230 public virtual void AddChild(ISchemaElement child)
3231 {
3232 if ((null == child))
3233 {
3234 throw new ArgumentNullException("child");
3235 }
3236 this.children.AddElement(child);
3237 child.ParentElement = this;
3238 }
3239
3240 public virtual void RemoveChild(ISchemaElement child)
3241 {
3242 if ((null == child))
3243 {
3244 throw new ArgumentNullException("child");
3245 }
3246 this.children.RemoveElement(child);
3247 child.ParentElement = null;
3248 }
3249
3250 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3251 ISchemaElement ICreateChildren.CreateChild(string childName)
3252 {
3253 if (String.IsNullOrEmpty(childName))
3254 {
3255 throw new ArgumentNullException("childName");
3256 }
3257 ISchemaElement childValue = null;
3258 if (("FileSharePermission" == childName))
3259 {
3260 childValue = new FileSharePermission();
3261 }
3262 if ((null == childValue))
3263 {
3264 throw new InvalidOperationException(String.Concat(childName, " is not a valid child name."));
3265 }
3266 return childValue;
3267 }
3268
3269 /// <summary>
3270 /// Processes this element and all child elements into an XmlWriter.
3271 /// </summary>
3272 public virtual void OutputXml(XmlWriter writer)
3273 {
3274 if ((null == writer))
3275 {
3276 throw new ArgumentNullException("writer");
3277 }
3278 writer.WriteStartElement("FileShare", "http://wixtoolset.org/schemas/v4/wxs/util");
3279 if (this.idFieldSet)
3280 {
3281 writer.WriteAttributeString("Id", this.idField);
3282 }
3283 if (this.nameFieldSet)
3284 {
3285 writer.WriteAttributeString("Name", this.nameField);
3286 }
3287 if (this.descriptionFieldSet)
3288 {
3289 writer.WriteAttributeString("Description", this.descriptionField);
3290 }
3291 for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
3292 {
3293 ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
3294 childElement.OutputXml(writer);
3295 }
3296 writer.WriteEndElement();
3297 }
3298
3299 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3300 void ISetAttributes.SetAttribute(string name, string value)
3301 {
3302 if (String.IsNullOrEmpty(name))
3303 {
3304 throw new ArgumentNullException("name");
3305 }
3306 if (("Id" == name))
3307 {
3308 this.idField = value;
3309 this.idFieldSet = true;
3310 }
3311 if (("Name" == name))
3312 {
3313 this.nameField = value;
3314 this.nameFieldSet = true;
3315 }
3316 if (("Description" == name))
3317 {
3318 this.descriptionField = value;
3319 this.descriptionFieldSet = true;
3320 }
3321 }
3322 }
3323
3324 /// <summary>
3325 /// Sets ACLs on a FileShare. This element has no Id attribute.
3326 /// The table and key are taken from the parent element.
3327 /// </summary>
3328 [GeneratedCode("XsdGen", "4.0.0.0")]
3329 public class FileSharePermission : ISchemaElement, ISetAttributes
3330 {
3331
3332 private string userField;
3333
3334 private bool userFieldSet;
3335
3336 private YesNoType readField;
3337
3338 private bool readFieldSet;
3339
3340 private YesNoType deleteField;
3341
3342 private bool deleteFieldSet;
3343
3344 private YesNoType readPermissionField;
3345
3346 private bool readPermissionFieldSet;
3347
3348 private YesNoType changePermissionField;
3349
3350 private bool changePermissionFieldSet;
3351
3352 private YesNoType takeOwnershipField;
3353
3354 private bool takeOwnershipFieldSet;
3355
3356 private YesNoType readAttributesField;
3357
3358 private bool readAttributesFieldSet;
3359
3360 private YesNoType writeAttributesField;
3361
3362 private bool writeAttributesFieldSet;
3363
3364 private YesNoType readExtendedAttributesField;
3365
3366 private bool readExtendedAttributesFieldSet;
3367
3368 private YesNoType writeExtendedAttributesField;
3369
3370 private bool writeExtendedAttributesFieldSet;
3371
3372 private YesNoType synchronizeField;
3373
3374 private bool synchronizeFieldSet;
3375
3376 private YesNoType createFileField;
3377
3378 private bool createFileFieldSet;
3379
3380 private YesNoType createChildField;
3381
3382 private bool createChildFieldSet;
3383
3384 private YesNoType deleteChildField;
3385
3386 private bool deleteChildFieldSet;
3387
3388 private YesNoType traverseField;
3389
3390 private bool traverseFieldSet;
3391
3392 private YesNoType genericAllField;
3393
3394 private bool genericAllFieldSet;
3395
3396 private YesNoType genericExecuteField;
3397
3398 private bool genericExecuteFieldSet;
3399
3400 private YesNoType genericWriteField;
3401
3402 private bool genericWriteFieldSet;
3403
3404 private YesNoType genericReadField;
3405
3406 private bool genericReadFieldSet;
3407
3408 private ISchemaElement parentElement;
3409
3410 public string User
3411 {
3412 get
3413 {
3414 return this.userField;
3415 }
3416 set
3417 {
3418 this.userFieldSet = true;
3419 this.userField = value;
3420 }
3421 }
3422
3423 public YesNoType Read
3424 {
3425 get
3426 {
3427 return this.readField;
3428 }
3429 set
3430 {
3431 this.readFieldSet = true;
3432 this.readField = value;
3433 }
3434 }
3435
3436 public YesNoType Delete
3437 {
3438 get
3439 {
3440 return this.deleteField;
3441 }
3442 set
3443 {
3444 this.deleteFieldSet = true;
3445 this.deleteField = value;
3446 }
3447 }
3448
3449 public YesNoType ReadPermission
3450 {
3451 get
3452 {
3453 return this.readPermissionField;
3454 }
3455 set
3456 {
3457 this.readPermissionFieldSet = true;
3458 this.readPermissionField = value;
3459 }
3460 }
3461
3462 public YesNoType ChangePermission
3463 {
3464 get
3465 {
3466 return this.changePermissionField;
3467 }
3468 set
3469 {
3470 this.changePermissionFieldSet = true;
3471 this.changePermissionField = value;
3472 }
3473 }
3474
3475 public YesNoType TakeOwnership
3476 {
3477 get
3478 {
3479 return this.takeOwnershipField;
3480 }
3481 set
3482 {
3483 this.takeOwnershipFieldSet = true;
3484 this.takeOwnershipField = value;
3485 }
3486 }
3487
3488 public YesNoType ReadAttributes
3489 {
3490 get
3491 {
3492 return this.readAttributesField;
3493 }
3494 set
3495 {
3496 this.readAttributesFieldSet = true;
3497 this.readAttributesField = value;
3498 }
3499 }
3500
3501 public YesNoType WriteAttributes
3502 {
3503 get
3504 {
3505 return this.writeAttributesField;
3506 }
3507 set
3508 {
3509 this.writeAttributesFieldSet = true;
3510 this.writeAttributesField = value;
3511 }
3512 }
3513
3514 public YesNoType ReadExtendedAttributes
3515 {
3516 get
3517 {
3518 return this.readExtendedAttributesField;
3519 }
3520 set
3521 {
3522 this.readExtendedAttributesFieldSet = true;
3523 this.readExtendedAttributesField = value;
3524 }
3525 }
3526
3527 public YesNoType WriteExtendedAttributes
3528 {
3529 get
3530 {
3531 return this.writeExtendedAttributesField;
3532 }
3533 set
3534 {
3535 this.writeExtendedAttributesFieldSet = true;
3536 this.writeExtendedAttributesField = value;
3537 }
3538 }
3539
3540 public YesNoType Synchronize
3541 {
3542 get
3543 {
3544 return this.synchronizeField;
3545 }
3546 set
3547 {
3548 this.synchronizeFieldSet = true;
3549 this.synchronizeField = value;
3550 }
3551 }
3552
3553 /// <summary>
3554 /// For a directory, the right to create a file in the directory. Only valid under a 'CreateFolder' parent.
3555 /// </summary>
3556 public YesNoType CreateFile
3557 {
3558 get
3559 {
3560 return this.createFileField;
3561 }
3562 set
3563 {
3564 this.createFileFieldSet = true;
3565 this.createFileField = value;
3566 }
3567 }
3568
3569 /// <summary>
3570 /// For a directory, the right to create a subdirectory. Only valid under a 'CreateFolder' parent.
3571 /// </summary>
3572 public YesNoType CreateChild
3573 {
3574 get
3575 {
3576 return this.createChildField;
3577 }
3578 set
3579 {
3580 this.createChildFieldSet = true;
3581 this.createChildField = value;
3582 }
3583 }
3584
3585 /// <summary>
3586 /// 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.
3587 /// </summary>
3588 public YesNoType DeleteChild
3589 {
3590 get
3591 {
3592 return this.deleteChildField;
3593 }
3594 set
3595 {
3596 this.deleteChildFieldSet = true;
3597 this.deleteChildField = value;
3598 }
3599 }
3600
3601 /// <summary>
3602 /// 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.
3603 /// </summary>
3604 public YesNoType Traverse
3605 {
3606 get
3607 {
3608 return this.traverseField;
3609 }
3610 set
3611 {
3612 this.traverseFieldSet = true;
3613 this.traverseField = value;
3614 }
3615 }
3616
3617 public YesNoType GenericAll
3618 {
3619 get
3620 {
3621 return this.genericAllField;
3622 }
3623 set
3624 {
3625 this.genericAllFieldSet = true;
3626 this.genericAllField = value;
3627 }
3628 }
3629
3630 public YesNoType GenericExecute
3631 {
3632 get
3633 {
3634 return this.genericExecuteField;
3635 }
3636 set
3637 {
3638 this.genericExecuteFieldSet = true;
3639 this.genericExecuteField = value;
3640 }
3641 }
3642
3643 public YesNoType GenericWrite
3644 {
3645 get
3646 {
3647 return this.genericWriteField;
3648 }
3649 set
3650 {
3651 this.genericWriteFieldSet = true;
3652 this.genericWriteField = value;
3653 }
3654 }
3655
3656 /// <summary>
3657 /// specifying this will fail to grant read access
3658 /// </summary>
3659 public YesNoType GenericRead
3660 {
3661 get
3662 {
3663 return this.genericReadField;
3664 }
3665 set
3666 {
3667 this.genericReadFieldSet = true;
3668 this.genericReadField = value;
3669 }
3670 }
3671
3672 public virtual ISchemaElement ParentElement
3673 {
3674 get
3675 {
3676 return this.parentElement;
3677 }
3678 set
3679 {
3680 this.parentElement = value;
3681 }
3682 }
3683
3684 /// <summary>
3685 /// Processes this element and all child elements into an XmlWriter.
3686 /// </summary>
3687 [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
3688 public virtual void OutputXml(XmlWriter writer)
3689 {
3690 if ((null == writer))
3691 {
3692 throw new ArgumentNullException("writer");
3693 }
3694 writer.WriteStartElement("FileSharePermission", "http://wixtoolset.org/schemas/v4/wxs/util");
3695 if (this.userFieldSet)
3696 {
3697 writer.WriteAttributeString("User", this.userField);
3698 }
3699 if (this.readFieldSet)
3700 {
3701 if ((this.readField == YesNoType.no))
3702 {
3703 writer.WriteAttributeString("Read", "no");
3704 }
3705 if ((this.readField == YesNoType.yes))
3706 {
3707 writer.WriteAttributeString("Read", "yes");
3708 }
3709 }
3710 if (this.deleteFieldSet)
3711 {
3712 if ((this.deleteField == YesNoType.no))
3713 {
3714 writer.WriteAttributeString("Delete", "no");
3715 }
3716 if ((this.deleteField == YesNoType.yes))
3717 {
3718 writer.WriteAttributeString("Delete", "yes");
3719 }
3720 }
3721 if (this.readPermissionFieldSet)
3722 {
3723 if ((this.readPermissionField == YesNoType.no))
3724 {
3725 writer.WriteAttributeString("ReadPermission", "no");
3726 }
3727 if ((this.readPermissionField == YesNoType.yes))
3728 {
3729 writer.WriteAttributeString("ReadPermission", "yes");
3730 }
3731 }
3732 if (this.changePermissionFieldSet)
3733 {
3734 if ((this.changePermissionField == YesNoType.no))
3735 {
3736 writer.WriteAttributeString("ChangePermission", "no");
3737 }
3738 if ((this.changePermissionField == YesNoType.yes))
3739 {
3740 writer.WriteAttributeString("ChangePermission", "yes");
3741 }
3742 }
3743 if (this.takeOwnershipFieldSet)
3744 {
3745 if ((this.takeOwnershipField == YesNoType.no))
3746 {
3747 writer.WriteAttributeString("TakeOwnership", "no");
3748 }
3749 if ((this.takeOwnershipField == YesNoType.yes))
3750 {
3751 writer.WriteAttributeString("TakeOwnership", "yes");
3752 }
3753 }
3754 if (this.readAttributesFieldSet)
3755 {
3756 if ((this.readAttributesField == YesNoType.no))
3757 {
3758 writer.WriteAttributeString("ReadAttributes", "no");
3759 }
3760 if ((this.readAttributesField == YesNoType.yes))
3761 {
3762 writer.WriteAttributeString("ReadAttributes", "yes");
3763 }
3764 }
3765 if (this.writeAttributesFieldSet)
3766 {
3767 if ((this.writeAttributesField == YesNoType.no))
3768 {
3769 writer.WriteAttributeString("WriteAttributes", "no");
3770 }
3771 if ((this.writeAttributesField == YesNoType.yes))
3772 {
3773 writer.WriteAttributeString("WriteAttributes", "yes");
3774 }
3775 }
3776 if (this.readExtendedAttributesFieldSet)
3777 {
3778 if ((this.readExtendedAttributesField == YesNoType.no))
3779 {
3780 writer.WriteAttributeString("ReadExtendedAttributes", "no");
3781 }
3782 if ((this.readExtendedAttributesField == YesNoType.yes))
3783 {
3784 writer.WriteAttributeString("ReadExtendedAttributes", "yes");
3785 }
3786 }
3787 if (this.writeExtendedAttributesFieldSet)
3788 {
3789 if ((this.writeExtendedAttributesField == YesNoType.no))
3790 {
3791 writer.WriteAttributeString("WriteExtendedAttributes", "no");
3792 }
3793 if ((this.writeExtendedAttributesField == YesNoType.yes))
3794 {
3795 writer.WriteAttributeString("WriteExtendedAttributes", "yes");
3796 }
3797 }
3798 if (this.synchronizeFieldSet)
3799 {
3800 if ((this.synchronizeField == YesNoType.no))
3801 {
3802 writer.WriteAttributeString("Synchronize", "no");
3803 }
3804 if ((this.synchronizeField == YesNoType.yes))
3805 {
3806 writer.WriteAttributeString("Synchronize", "yes");
3807 }
3808 }
3809 if (this.createFileFieldSet)
3810 {
3811 if ((this.createFileField == YesNoType.no))
3812 {
3813 writer.WriteAttributeString("CreateFile", "no");
3814 }
3815 if ((this.createFileField == YesNoType.yes))
3816 {
3817 writer.WriteAttributeString("CreateFile", "yes");
3818 }
3819 }
3820 if (this.createChildFieldSet)
3821 {
3822 if ((this.createChildField == YesNoType.no))
3823 {
3824 writer.WriteAttributeString("CreateChild", "no");
3825 }
3826 if ((this.createChildField == YesNoType.yes))
3827 {
3828 writer.WriteAttributeString("CreateChild", "yes");
3829 }
3830 }
3831 if (this.deleteChildFieldSet)
3832 {
3833 if ((this.deleteChildField == YesNoType.no))
3834 {
3835 writer.WriteAttributeString("DeleteChild", "no");
3836 }
3837 if ((this.deleteChildField == YesNoType.yes))
3838 {
3839 writer.WriteAttributeString("DeleteChild", "yes");
3840 }
3841 }
3842 if (this.traverseFieldSet)
3843 {
3844 if ((this.traverseField == YesNoType.no))
3845 {
3846 writer.WriteAttributeString("Traverse", "no");
3847 }
3848 if ((this.traverseField == YesNoType.yes))
3849 {
3850 writer.WriteAttributeString("Traverse", "yes");
3851 }
3852 }
3853 if (this.genericAllFieldSet)
3854 {
3855 if ((this.genericAllField == YesNoType.no))
3856 {
3857 writer.WriteAttributeString("GenericAll", "no");
3858 }
3859 if ((this.genericAllField == YesNoType.yes))
3860 {
3861 writer.WriteAttributeString("GenericAll", "yes");
3862 }
3863 }
3864 if (this.genericExecuteFieldSet)
3865 {
3866 if ((this.genericExecuteField == YesNoType.no))
3867 {
3868 writer.WriteAttributeString("GenericExecute", "no");
3869 }
3870 if ((this.genericExecuteField == YesNoType.yes))
3871 {
3872 writer.WriteAttributeString("GenericExecute", "yes");
3873 }
3874 }
3875 if (this.genericWriteFieldSet)
3876 {
3877 if ((this.genericWriteField == YesNoType.no))
3878 {
3879 writer.WriteAttributeString("GenericWrite", "no");
3880 }
3881 if ((this.genericWriteField == YesNoType.yes))
3882 {
3883 writer.WriteAttributeString("GenericWrite", "yes");
3884 }
3885 }
3886 if (this.genericReadFieldSet)
3887 {
3888 if ((this.genericReadField == YesNoType.no))
3889 {
3890 writer.WriteAttributeString("GenericRead", "no");
3891 }
3892 if ((this.genericReadField == YesNoType.yes))
3893 {
3894 writer.WriteAttributeString("GenericRead", "yes");
3895 }
3896 }
3897 writer.WriteEndElement();
3898 }
3899
3900 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3901 [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
3902 void ISetAttributes.SetAttribute(string name, string value)
3903 {
3904 if (String.IsNullOrEmpty(name))
3905 {
3906 throw new ArgumentNullException("name");
3907 }
3908 if (("User" == name))
3909 {
3910 this.userField = value;
3911 this.userFieldSet = true;
3912 }
3913 if (("Read" == name))
3914 {
3915 this.readField = Enums.ParseYesNoType(value);
3916 this.readFieldSet = true;
3917 }
3918 if (("Delete" == name))
3919 {
3920 this.deleteField = Enums.ParseYesNoType(value);
3921 this.deleteFieldSet = true;
3922 }
3923 if (("ReadPermission" == name))
3924 {
3925 this.readPermissionField = Enums.ParseYesNoType(value);
3926 this.readPermissionFieldSet = true;
3927 }
3928 if (("ChangePermission" == name))
3929 {
3930 this.changePermissionField = Enums.ParseYesNoType(value);
3931 this.changePermissionFieldSet = true;
3932 }
3933 if (("TakeOwnership" == name))
3934 {
3935 this.takeOwnershipField = Enums.ParseYesNoType(value);
3936 this.takeOwnershipFieldSet = true;
3937 }
3938 if (("ReadAttributes" == name))
3939 {
3940 this.readAttributesField = Enums.ParseYesNoType(value);
3941 this.readAttributesFieldSet = true;
3942 }
3943 if (("WriteAttributes" == name))
3944 {
3945 this.writeAttributesField = Enums.ParseYesNoType(value);
3946 this.writeAttributesFieldSet = true;
3947 }
3948 if (("ReadExtendedAttributes" == name))
3949 {
3950 this.readExtendedAttributesField = Enums.ParseYesNoType(value);
3951 this.readExtendedAttributesFieldSet = true;
3952 }
3953 if (("WriteExtendedAttributes" == name))
3954 {
3955 this.writeExtendedAttributesField = Enums.ParseYesNoType(value);
3956 this.writeExtendedAttributesFieldSet = true;
3957 }
3958 if (("Synchronize" == name))
3959 {
3960 this.synchronizeField = Enums.ParseYesNoType(value);
3961 this.synchronizeFieldSet = true;
3962 }
3963 if (("CreateFile" == name))
3964 {
3965 this.createFileField = Enums.ParseYesNoType(value);
3966 this.createFileFieldSet = true;
3967 }
3968 if (("CreateChild" == name))
3969 {
3970 this.createChildField = Enums.ParseYesNoType(value);
3971 this.createChildFieldSet = true;
3972 }
3973 if (("DeleteChild" == name))
3974 {
3975 this.deleteChildField = Enums.ParseYesNoType(value);
3976 this.deleteChildFieldSet = true;
3977 }
3978 if (("Traverse" == name))
3979 {
3980 this.traverseField = Enums.ParseYesNoType(value);
3981 this.traverseFieldSet = true;
3982 }
3983 if (("GenericAll" == name))
3984 {
3985 this.genericAllField = Enums.ParseYesNoType(value);
3986 this.genericAllFieldSet = true;
3987 }
3988 if (("GenericExecute" == name))
3989 {
3990 this.genericExecuteField = Enums.ParseYesNoType(value);
3991 this.genericExecuteFieldSet = true;
3992 }
3993 if (("GenericWrite" == name))
3994 {
3995 this.genericWriteField = Enums.ParseYesNoType(value);
3996 this.genericWriteFieldSet = true;
3997 }
3998 if (("GenericRead" == name))
3999 {
4000 this.genericReadField = Enums.ParseYesNoType(value);
4001 this.genericReadFieldSet = true;
4002 }
4003 }
4004 }
4005
4006 /// <summary>
4007 /// Formats a file's contents at install time. The contents are formatted according to the rules of the
4008 /// </summary>
4009 [GeneratedCode("XsdGen", "4.0.0.0")]
4010 public class FormatFile : ISchemaElement, ISetAttributes
4011 {
4012
4013 private string binaryKeyField;
4014
4015 private bool binaryKeyFieldSet;
4016
4017 private ISchemaElement parentElement;
4018
4019 /// <summary>
4020 /// The id of a Binary row that contains a copy of the file. The file in the Binary table overwrites whatever
4021 /// file is installed by the parent component.
4022 /// </summary>
4023 public string BinaryKey
4024 {
4025 get
4026 {
4027 return this.binaryKeyField;
4028 }
4029 set
4030 {
4031 this.binaryKeyFieldSet = true;
4032 this.binaryKeyField = value;
4033 }
4034 }
4035
4036 public virtual ISchemaElement ParentElement
4037 {
4038 get
4039 {
4040 return this.parentElement;
4041 }
4042 set
4043 {
4044 this.parentElement = value;
4045 }
4046 }
4047
4048 /// <summary>
4049 /// Processes this element and all child elements into an XmlWriter.
4050 /// </summary>
4051 public virtual void OutputXml(XmlWriter writer)
4052 {
4053 if ((null == writer))
4054 {
4055 throw new ArgumentNullException("writer");
4056 }
4057 writer.WriteStartElement("FormatFile", "http://wixtoolset.org/schemas/v4/wxs/util");
4058 if (this.binaryKeyFieldSet)
4059 {
4060 writer.WriteAttributeString("BinaryKey", this.binaryKeyField);
4061 }
4062 writer.WriteEndElement();
4063 }
4064
4065 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
4066 void ISetAttributes.SetAttribute(string name, string value)
4067 {
4068 if (String.IsNullOrEmpty(name))
4069 {
4070 throw new ArgumentNullException("name");
4071 }
4072 if (("BinaryKey" == name))
4073 {
4074 this.binaryKeyField = value;
4075 this.binaryKeyFieldSet = true;
4076 }
4077 }
4078 }
4079
4080 /// <summary>
4081 /// Finds user groups on the local machine or specified Active Directory domain. The local machine will be
4082 /// searched for the group first then fallback to looking in Active Directory. This element is not capable
4083 /// of creating new groups but can be used to add new or existing users to an existing group.
4084 /// </summary>
4085 [GeneratedCode("XsdGen", "4.0.0.0")]
4086 public class Group : ISchemaElement, ISetAttributes
4087 {
4088
4089 private string idField;
4090
4091 private bool idFieldSet;
4092
4093 private string nameField;
4094
4095 private bool nameFieldSet;
4096
4097 private string domainField;
4098
4099 private bool domainFieldSet;
4100
4101 private ISchemaElement parentElement;
4102
4103 /// <summary>
4104 /// Unique identifier in your installation package for this group.
4105 /// </summary>
4106 public string Id
4107 {
4108 get
4109 {
4110 return this.idField;
4111 }
4112 set
4113 {
4114 this.idFieldSet = true;
4115 this.idField = value;
4116 }
4117 }
4118
4119 /// <summary>
4120 /// A
4121 /// </summary>
4122 public string Name
4123 {
4124 get
4125 {
4126 return this.nameField;
4127 }
4128 set
4129 {
4130 this.nameFieldSet = true;
4131 this.nameField = value;
4132 }
4133 }
4134
4135 /// <summary>
4136 /// An optional
4137 /// </summary>
4138 public string Domain
4139 {
4140 get
4141 {
4142 return this.domainField;
4143 }
4144 set
4145 {
4146 this.domainFieldSet = true;
4147 this.domainField = value;
4148 }
4149 }
4150
4151 public virtual ISchemaElement ParentElement
4152 {
4153 get
4154 {
4155 return this.parentElement;
4156 }
4157 set
4158 {
4159 this.parentElement = value;
4160 }
4161 }
4162
4163 /// <summary>
4164 /// Processes this element and all child elements into an XmlWriter.
4165 /// </summary>
4166 public virtual void OutputXml(XmlWriter writer)
4167 {
4168 if ((null == writer))
4169 {
4170 throw new ArgumentNullException("writer");
4171 }
4172 writer.WriteStartElement("Group", "http://wixtoolset.org/schemas/v4/wxs/util");
4173 if (this.idFieldSet)
4174 {
4175 writer.WriteAttributeString("Id", this.idField);
4176 }
4177 if (this.nameFieldSet)
4178 {
4179 writer.WriteAttributeString("Name", this.nameField);
4180 }
4181 if (this.domainFieldSet)
4182 {
4183 writer.WriteAttributeString("Domain", this.domainField);
4184 }
4185 writer.WriteEndElement();
4186 }
4187
4188 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
4189 void ISetAttributes.SetAttribute(string name, string value)
4190 {
4191 if (String.IsNullOrEmpty(name))
4192 {
4193 throw new ArgumentNullException("name");
4194 }
4195 if (("Id" == name))
4196 {
4197 this.idField = value;
4198 this.idFieldSet = true;
4199 }
4200 if (("Name" == name))
4201 {
4202 this.nameField = value;
4203 this.nameFieldSet = true;
4204 }
4205 if (("Domain" == name))
4206 {
4207 this.domainField = value;
4208 this.domainFieldSet = true;
4209 }
4210 }
4211 }
4212
4213 /// <summary>
4214 /// Used to join a user to a group
4215 /// </summary>
4216 [GeneratedCode("XsdGen", "4.0.0.0")]
4217 public class GroupRef : ISchemaElement, ISetAttributes
4218 {
4219
4220 private string idField;
4221
4222 private bool idFieldSet;
4223
4224 private ISchemaElement parentElement;
4225
4226 public string Id
4227 {
4228 get
4229 {
4230 return this.idField;
4231 }
4232 set
4233 {
4234 this.idFieldSet = true;
4235 this.idField = value;
4236 }
4237 }
4238
4239 public virtual ISchemaElement ParentElement
4240 {
4241 get
4242 {
4243 return this.parentElement;
4244 }
4245 set
4246 {
4247 this.parentElement = value;
4248 }
4249 }
4250
4251 /// <summary>
4252 /// Processes this element and all child elements into an XmlWriter.
4253 /// </summary>
4254 public virtual void OutputXml(XmlWriter writer)
4255 {
4256 if ((null == writer))
4257 {
4258 throw new ArgumentNullException("writer");
4259 }
4260 writer.WriteStartElement("GroupRef", "http://wixtoolset.org/schemas/v4/wxs/util");
4261 if (this.idFieldSet)
4262 {
4263 writer.WriteAttributeString("Id", this.idField);
4264 }
4265 writer.WriteEndElement();
4266 }
4267
4268 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
4269 void ISetAttributes.SetAttribute(string name, string value)
4270 {
4271 if (String.IsNullOrEmpty(name))
4272 {
4273 throw new ArgumentNullException("name");
4274 }
4275 if (("Id" == name))
4276 {
4277 this.idField = value;
4278 this.idFieldSet = true;
4279 }
4280 }
4281 }
4282
4283 /// <summary>
4284 /// Creates a shortcut to a URL.
4285 /// </summary>
4286 [GeneratedCode("XsdGen", "4.0.0.0")]
4287 public class InternetShortcut : ISchemaElement, ISetAttributes
4288 {
4289
4290 private string idField;
4291
4292 private bool idFieldSet;
4293
4294 private string directoryField;
4295
4296 private bool directoryFieldSet;
4297
4298 private string nameField;
4299
4300 private bool nameFieldSet;
4301
4302 private string targetField;
4303
4304 private bool targetFieldSet;
4305
4306 private TypeType typeField;
4307
4308 private bool typeFieldSet;
4309
4310 private string iconFileField;
4311
4312 private bool iconFileFieldSet;
4313
4314 private int iconIndexField;
4315
4316 private bool iconIndexFieldSet;
4317
4318 private ISchemaElement parentElement;
4319
4320 /// <summary>
4321 /// Unique identifier in your installation package for this Internet shortcut.
4322 /// </summary>
4323 public string Id
4324 {
4325 get
4326 {
4327 return this.idField;
4328 }
4329 set
4330 {
4331 this.idFieldSet = true;
4332 this.idField = value;
4333 }
4334 }
4335
4336 /// <summary>
4337 /// Identifier reference to Directory element where shortcut is to be created. This attribute's value defaults to the parent Component directory.
4338 /// </summary>
4339 public string Directory
4340 {
4341 get
4342 {
4343 return this.directoryField;
4344 }
4345 set
4346 {
4347 this.directoryFieldSet = true;
4348 this.directoryField = value;
4349 }
4350 }
4351
4352 /// <summary>
4353 /// The name of the shortcut file, which is visible to the user. (The .lnk
4354 /// extension is added automatically and by default, is not shown to the user.)
4355 /// </summary>
4356 public string Name
4357 {
4358 get
4359 {
4360 return this.nameField;
4361 }
4362 set
4363 {
4364 this.nameFieldSet = true;
4365 this.nameField = value;
4366 }
4367 }
4368
4369 /// <summary>
4370 /// URL that should be opened when the user selects the shortcut. Windows
4371 /// opens the URL in the appropriate handler for the protocol specified
4372 /// in the URL. Note that this is a formatted field, so you can use
4373 /// [#fileId] syntax to refer to a file being installed (using the file:
4374 /// protocol).
4375 /// </summary>
4376 public string Target
4377 {
4378 get
4379 {
4380 return this.targetField;
4381 }
4382 set
4383 {
4384 this.targetFieldSet = true;
4385 this.targetField = value;
4386 }
4387 }
4388
4389 /// <summary>
4390 /// Which type of shortcut should be created.
4391 /// </summary>
4392 public TypeType Type
4393 {
4394 get
4395 {
4396 return this.typeField;
4397 }
4398 set
4399 {
4400 this.typeFieldSet = true;
4401 this.typeField = value;
4402 }
4403 }
4404
4405 /// <summary>
4406 /// Icon file that should be displayed. Note that this is a formatted field, so you can use
4407 /// [#fileId] syntax to refer to a file being installed (using the file:
4408 /// protocol).
4409 /// </summary>
4410 public string IconFile
4411 {
4412 get
4413 {
4414 return this.iconFileField;
4415 }
4416 set
4417 {
4418 this.iconFileFieldSet = true;
4419 this.iconFileField = value;
4420 }
4421 }
4422
4423 /// <summary>
4424 /// Index of the icon being referenced
4425 /// </summary>
4426 public int IconIndex
4427 {
4428 get
4429 {
4430 return this.iconIndexField;
4431 }
4432 set
4433 {
4434 this.iconIndexFieldSet = true;
4435 this.iconIndexField = value;
4436 }
4437 }
4438
4439 public virtual ISchemaElement ParentElement
4440 {
4441 get
4442 {
4443 return this.parentElement;
4444 }
4445 set
4446 {
4447 this.parentElement = value;
4448 }
4449 }
4450
4451 /// <summary>
4452 /// Parses a TypeType from a string.
4453 /// </summary>
4454 public static TypeType ParseTypeType(string value)
4455 {
4456 TypeType parsedValue;
4457 InternetShortcut.TryParseTypeType(value, out parsedValue);
4458 return parsedValue;
4459 }
4460
4461 /// <summary>
4462 /// Tries to parse a TypeType from a string.
4463 /// </summary>
4464 public static bool TryParseTypeType(string value, out TypeType parsedValue)
4465 {
4466 parsedValue = TypeType.NotSet;
4467 if (string.IsNullOrEmpty(value))
4468 {
4469 return false;
4470 }
4471 if (("url" == value))
4472 {
4473 parsedValue = TypeType.url;
4474 }
4475 else
4476 {
4477 if (("link" == value))
4478 {
4479 parsedValue = TypeType.link;
4480 }
4481 else
4482 {
4483 parsedValue = TypeType.IllegalValue;
4484 return false;
4485 }
4486 }
4487 return true;
4488 }
4489
4490 /// <summary>
4491 /// Processes this element and all child elements into an XmlWriter.
4492 /// </summary>
4493 [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
4494 public virtual void OutputXml(XmlWriter writer)
4495 {
4496 if ((null == writer))
4497 {
4498 throw new ArgumentNullException("writer");
4499 }
4500 writer.WriteStartElement("InternetShortcut", "http://wixtoolset.org/schemas/v4/wxs/util");
4501 if (this.idFieldSet)
4502 {
4503 writer.WriteAttributeString("Id", this.idField);
4504 }
4505 if (this.directoryFieldSet)
4506 {
4507 writer.WriteAttributeString("Directory", this.directoryField);
4508 }
4509 if (this.nameFieldSet)
4510 {
4511 writer.WriteAttributeString("Name", this.nameField);
4512 }
4513 if (this.targetFieldSet)
4514 {
4515 writer.WriteAttributeString("Target", this.targetField);
4516 }
4517 if (this.typeFieldSet)
4518 {
4519 if ((this.typeField == TypeType.url))
4520 {
4521 writer.WriteAttributeString("Type", "url");
4522 }
4523 if ((this.typeField == TypeType.link))
4524 {
4525 writer.WriteAttributeString("Type", "link");
4526 }
4527 }
4528 if (this.iconFileFieldSet)
4529 {
4530 writer.WriteAttributeString("IconFile", this.iconFileField);
4531 }
4532 if (this.iconIndexFieldSet)
4533 {
4534 writer.WriteAttributeString("IconIndex", this.iconIndexField.ToString(CultureInfo.InvariantCulture));
4535 }
4536 writer.WriteEndElement();
4537 }
4538
4539 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
4540 void ISetAttributes.SetAttribute(string name, string value)
4541 {
4542 if (String.IsNullOrEmpty(name))
4543 {
4544 throw new ArgumentNullException("name");
4545 }
4546 if (("Id" == name))
4547 {
4548 this.idField = value;
4549 this.idFieldSet = true;
4550 }
4551 if (("Directory" == name))
4552 {
4553 this.directoryField = value;
4554 this.directoryFieldSet = true;
4555 }
4556 if (("Name" == name))
4557 {
4558 this.nameField = value;
4559 this.nameFieldSet = true;
4560 }
4561 if (("Target" == name))
4562 {
4563 this.targetField = value;
4564 this.targetFieldSet = true;
4565 }
4566 if (("Type" == name))
4567 {
4568 this.typeField = InternetShortcut.ParseTypeType(value);
4569 this.typeFieldSet = true;
4570 }
4571 if (("IconFile" == name))
4572 {
4573 this.iconFileField = value;
4574 this.iconFileFieldSet = true;
4575 }
4576 if (("IconIndex" == name))
4577 {
4578 this.iconIndexField = Convert.ToInt32(value, CultureInfo.InvariantCulture);
4579 this.iconIndexFieldSet = true;
4580 }
4581 }
4582
4583 [GeneratedCode("XsdGen", "4.0.0.0")]
4584 public enum TypeType
4585 {
4586
4587 IllegalValue = int.MaxValue,
4588
4589 NotSet = -1,
4590
4591 /// <summary>
4592 /// Creates .url files using IUniformResourceLocatorW.
4593 /// </summary>
4594 url,
4595
4596 /// <summary>
4597 /// Creates .lnk files using IShellLinkW (default).
4598 /// </summary>
4599 link,
4600 }
4601 }
4602
4603 /// <summary>
4604 /// Used to create performance categories and configure performance counters.
4605 /// </summary>
4606 [GeneratedCode("XsdGen", "4.0.0.0")]
4607 public class PerformanceCategory : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
4608 {
4609
4610 private ElementCollection children;
4611
4612 private string idField;
4613
4614 private bool idFieldSet;
4615
4616 private string nameField;
4617
4618 private bool nameFieldSet;
4619
4620 private string helpField;
4621
4622 private bool helpFieldSet;
4623
4624 private YesNoType multiInstanceField;
4625
4626 private bool multiInstanceFieldSet;
4627
4628 private string libraryField;
4629
4630 private bool libraryFieldSet;
4631
4632 private string openField;
4633
4634 private bool openFieldSet;
4635
4636 private string closeField;
4637
4638 private bool closeFieldSet;
4639
4640 private string collectField;
4641
4642 private bool collectFieldSet;
4643
4644 private PerformanceCounterLanguageType defaultLanguageField;
4645
4646 private bool defaultLanguageFieldSet;
4647
4648 private ISchemaElement parentElement;
4649
4650 public PerformanceCategory()
4651 {
4652 ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Sequence);
4653 childCollection0.AddItem(new ElementCollection.SequenceItem(typeof(PerformanceCounter)));
4654 this.children = childCollection0;
4655 }
4656
4657 public virtual IEnumerable Children
4658 {
4659 get
4660 {
4661 return this.children;
4662 }
4663 }
4664
4665 [SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
4666 public virtual IEnumerable this[System.Type childType]
4667 {
4668 get
4669 {
4670 return this.children.Filter(childType);
4671 }
4672 }
4673
4674 /// <summary>
4675 /// Unique identifier in your installation package for this performance counter category.
4676 /// </summary>
4677 public string Id
4678 {
4679 get
4680 {
4681 return this.idField;
4682 }
4683 set
4684 {
4685 this.idFieldSet = true;
4686 this.idField = value;
4687 }
4688 }
4689
4690 /// <summary>
4691 /// 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.
4692 /// </summary>
4693 public string Name
4694 {
4695 get
4696 {
4697 return this.nameField;
4698 }
4699 set
4700 {
4701 this.nameFieldSet = true;
4702 this.nameField = value;
4703 }
4704 }
4705
4706 /// <summary>
4707 /// Optional help text for the performance counter category.
4708 /// </summary>
4709 public string Help
4710 {
4711 get
4712 {
4713 return this.helpField;
4714 }
4715 set
4716 {
4717 this.helpFieldSet = true;
4718 this.helpField = value;
4719 }
4720 }
4721
4722 /// <summary>
4723 /// Flag that specifies whether the performance counter category is multi or single instanced. Default is single instance.
4724 /// </summary>
4725 public YesNoType MultiInstance
4726 {
4727 get
4728 {
4729 return this.multiInstanceField;
4730 }
4731 set
4732 {
4733 this.multiInstanceFieldSet = true;
4734 this.multiInstanceField = value;
4735 }
4736 }
4737
4738 /// <summary>
4739 /// DLL that contains the performance counter. The default is "netfxperf.dll" which should be used for all managed code performance counters.
4740 /// </summary>
4741 public string Library
4742 {
4743 get
4744 {
4745 return this.libraryField;
4746 }
4747 set
4748 {
4749 this.libraryFieldSet = true;
4750 this.libraryField = value;
4751 }
4752 }
4753
4754 /// <summary>
4755 /// 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.
4756 /// </summary>
4757 public string Open
4758 {
4759 get
4760 {
4761 return this.openField;
4762 }
4763 set
4764 {
4765 this.openFieldSet = true;
4766 this.openField = value;
4767 }
4768 }
4769
4770 /// <summary>
4771 /// 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.
4772 /// </summary>
4773 public string Close
4774 {
4775 get
4776 {
4777 return this.closeField;
4778 }
4779 set
4780 {
4781 this.closeFieldSet = true;
4782 this.closeField = value;
4783 }
4784 }
4785
4786 /// <summary>
4787 /// 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.
4788 /// </summary>
4789 public string Collect
4790 {
4791 get
4792 {
4793 return this.collectField;
4794 }
4795 set
4796 {
4797 this.collectFieldSet = true;
4798 this.collectField = value;
4799 }
4800 }
4801
4802 /// <summary>
4803 /// Default language for the performance category and contained counters' names and help text.
4804 /// </summary>
4805 public PerformanceCounterLanguageType DefaultLanguage
4806 {
4807 get
4808 {
4809 return this.defaultLanguageField;
4810 }
4811 set
4812 {
4813 this.defaultLanguageFieldSet = true;
4814 this.defaultLanguageField = value;
4815 }
4816 }
4817
4818 public virtual ISchemaElement ParentElement
4819 {
4820 get
4821 {
4822 return this.parentElement;
4823 }
4824 set
4825 {
4826 this.parentElement = value;
4827 }
4828 }
4829
4830 public virtual void AddChild(ISchemaElement child)
4831 {
4832 if ((null == child))
4833 {
4834 throw new ArgumentNullException("child");
4835 }
4836 this.children.AddElement(child);
4837 child.ParentElement = this;
4838 }
4839
4840 public virtual void RemoveChild(ISchemaElement child)
4841 {
4842 if ((null == child))
4843 {
4844 throw new ArgumentNullException("child");
4845 }
4846 this.children.RemoveElement(child);
4847 child.ParentElement = null;
4848 }
4849
4850 [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
4851 ISchemaElement ICreateChildren.CreateChild(string childName)
4852 {
4853 if (String.IsNullOrEmpty(childName))
4854 {
4855 throw new ArgumentNullException("childName");
4856 }
4857 ISchemaElement childValue = null;
4858 if (("PerformanceCounter" == childName))
4859 {
4860 childValue = new PerformanceCounter();
4861 }
4862 if ((null == childValue))
4863 {
4864 throw new InvalidOperationException(String.Concat(childName, " is not a valid child name."));
4865 }
4866 return childValue;
4867 }
4868
4869 /// <summary>
4870 /// Processes this element and all child elements into an XmlWriter.
4871 /// </summary>
4872 [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
4873 public virtual void OutputXml(XmlWriter writer)
4874 {
4875 if ((null == writer))
4876 {
4877 throw new ArgumentNullException("writer");
4878 }
4879 writer.WriteStartElement("PerformanceCategory", "http://wixtoolset.org/schemas/v4/wxs/util");
4880 if (this.idFieldSet)
4881 {
4882 writer.WriteAttributeString("Id", this.idField);
4883 }
4884 if (this.nameFieldSet)
4885 {
4886 writer.WriteAttributeString("Name", this.nameField);
4887 }
4888 if (this.helpFieldSet)
4889 {
4890 writer.WriteAttributeString("Help", this.helpField);
4891 }
4892 if (this.multiInstanceFieldSet)
4893 {
4894 if ((this.multiInstanceField == YesNoType.no))
4895 {
4896 writer.WriteAttributeString("MultiInstance", "no");
4897 }
4898 if ((this.multiInstanceField == YesNoType.yes))
4899 {
4900 writer.WriteAttributeString("MultiInstance", "yes");
4901 }
4902 }
4903 if (this.libraryFieldSet)
4904 {
4905 writer.WriteAttributeString("Library", this.libraryField);
4906 }
4907 if (this.openFieldSet)
4908 {
4909 writer.WriteAttributeString("Open", this.openField);
4910 }
4911 if (this.closeFieldSet)
4912 {
4913 writer.WriteAttributeString("Close", this.closeField);
4914 }
4915 if (this.collectFieldSet)
4916 {
4917 writer.WriteAttributeString("Collect", this.collectField);
4918 }
4919 if (this.defaultLanguageFieldSet)
4920 {
4921 if ((this.defaultLanguageField == PerformanceCounterLanguageType.afrikaans))
4922 {
4923 writer.WriteAttributeString("DefaultLanguage", "afrikaans");
4924 }
4925 if ((this.defaultLanguageField == PerformanceCounterLanguageType.albanian))
4926 {
4927 writer.WriteAttributeString("DefaultLanguage", "albanian");
4928 }
4929 if ((this.defaultLanguageField == PerformanceCounterLanguageType.arabic))
4930 {
4931 writer.WriteAttributeString("DefaultLanguage", "arabic");
4932 }
4933 if ((this.defaultLanguageField == PerformanceCounterLanguageType.armenian))
4934 {
4935 writer.WriteAttributeString("DefaultLanguage", "armenian");
4936 }
4937 if ((this.defaultLanguageField == PerformanceCounterLanguageType.assamese))
4938 {
4939 writer.WriteAttributeString("DefaultLanguage", "assamese");
4940 }
4941 if ((this.defaultLanguageField == PerformanceCounterLanguageType.azeri))
4942 {
4943 writer.WriteAttributeString("DefaultLanguage", "azeri");
4944 }
4945 if ((this.defaultLanguageField == PerformanceCounterLanguageType.basque))
4946 {
4947 writer.WriteAttributeString("DefaultLanguage", "basque");
4948 }
4949 if ((this.defaultLanguageField == PerformanceCounterLanguageType.belarusian))
4950 {
4951 writer.WriteAttributeString("DefaultLanguage", "belarusian");
4952 }
4953 if ((this.defaultLanguageField == PerformanceCounterLanguageType.bengali))
4954 {
4955 writer.WriteAttributeString("DefaultLanguage", "bengali");
4956 }
4957 if ((this.defaultLanguageField == PerformanceCounterLanguageType.bulgarian))
4958 {
4959 writer.WriteAttributeString("DefaultLanguage", "bulgarian");
4960 }
4961 if ((this.defaultLanguageField == PerformanceCounterLanguageType.catalan))
4962 {
4963 writer.WriteAttributeString("DefaultLanguage", "catalan");
4964 }
4965 if ((this.defaultLanguageField == PerformanceCounterLanguageType.chinese))
4966 {
4967 writer.WriteAttributeString("DefaultLanguage", "chinese");
4968 }
4969 if ((this.defaultLanguageField == PerformanceCounterLanguageType.croatian))
4970 {
4971 writer.WriteAttributeString("DefaultLanguage", "croatian");
4972 }
4973 if ((this.defaultLanguageField == PerformanceCounterLanguageType.czech))
4974 {
4975 writer.WriteAttributeString("DefaultLanguage", "czech");
4976 }
4977 if ((this.defaultLanguageField == PerformanceCounterLanguageType.danish))
4978 {
4979 writer.WriteAttributeString("DefaultLanguage", "danish");
4980 }
4981 if ((this.defaultLanguageField == PerformanceCounterLanguageType.divehi))
4982 {
4983 writer.WriteAttributeString("DefaultLanguage", "divehi");
4984 }
4985 if ((this.defaultLanguageField == PerformanceCounterLanguageType.dutch))
4986 {
4987 writer.WriteAttributeString("DefaultLanguage", "dutch");
4988 }
4989 if ((this.defaultLanguageField == PerformanceCounterLanguageType.english))
4990 {
4991 writer.WriteAttributeString("DefaultLanguage", "english");
4992 }
4993 if ((this.defaultLanguageField == PerformanceCounterLanguageType.estonian))
4994 {
4995 writer.WriteAttributeString("DefaultLanguage", "estonian");
4996 }
4997 if ((this.defaultLanguageField == PerformanceCounterLanguageType.faeroese))
4998 {
4999 writer.WriteAttributeString("DefaultLanguage", "faeroese");
5000 }
Showing first 5,000 of 11,462 lines. View raw