Update heat to use StandardDirectory element
Fixes 6631
Rob Mensching committed
Aug 16, 2022 at 18:11 UTC
94e722baab4e848a615812a45fecc8322335d1f0
16 files changed
+4211
-3996
src/testresultfilelist.txt
+1
@@ -15,6 +15,7 @@ build/logs/TestResults/WixToolsetTest.Core.Burn.trx
15
build/logs/TestResults/WixToolsetTest.Core.Native.trx
16
build/logs/TestResults/WixToolsetTest.CoreIntegration.trx
17
build/logs/TestResults/WixToolsetTest.Dnc.HostGenerator.trx
18
+build/logs/TestResults/WixToolsetTest.Heat.trx
19
build/logs/TestResults/WixToolsetTest.HeatTasks.trx
20
build/logs/TestResults/WixToolsetTest.ManagedHost.trx
21
build/logs/TestResults/WixToolsetTest.Mba.Core.trx
src/tools/heat/DirectoryHarvester.cs
+4
-4
@@ -5,6 +5,7 @@ namespace WixToolset.Harvesters
5
using System;
6
using System.IO;
7
using WixToolset.Data;
8
+ using WixToolset.Data.WindowsInstaller;
9
using WixToolset.Harvesters.Data;
10
using WixToolset.Harvesters.Extensibility;
11
using Wix = WixToolset.Harvesters.Serialize;
@@ -14,7 +15,7 @@ namespace WixToolset.Harvesters
15
/// </summary>
16
public sealed class DirectoryHarvester : BaseHarvesterExtension
17
{
17
- private FileHarvester fileHarvester;
18
+ private readonly FileHarvester fileHarvester;
19
20
private const string ComponentPrefix = "cmp";
21
private const string DirectoryPrefix = "dir";
@@ -84,8 +85,7 @@ namespace WixToolset.Harvesters
85
{
86
Wix.Directory directory = (Wix.Directory)harvestParent;
87
87
- Wix.DirectoryRef directoryRef = new Wix.DirectoryRef();
88
- directoryRef.Id = this.RootedDirectoryRef;
88
+ var directoryRef = DirectoryHelper.CreateDirectoryReference(this.RootedDirectoryRef);
89
90
if (this.SuppressRootDirectory)
91
{
@@ -208,7 +208,7 @@ namespace WixToolset.Harvesters
208
private int HarvestDirectory(string path, string relativePath, Wix.IParentElement harvestParent, GenerateType generateType)
209
{
210
int fileCount = 0;
211
- Wix.Directory directory = generateType != GenerateType.PayloadGroup ? (Wix.Directory)harvestParent : null;
211
+ Wix.DirectoryBase directory = generateType != GenerateType.PayloadGroup ? (Wix.DirectoryBase)harvestParent : null;
212
213
// harvest the child directories
214
foreach (string childDirectoryPath in Directory.GetDirectories(path))
src/tools/heat/DirectoryHelper.cs
new
+42
@@ -0,0 +1,42 @@
1
+// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
+
3
+namespace WixToolset.Harvesters
4
+{
5
+ using WixToolset.Data.WindowsInstaller;
6
+ using Wix = WixToolset.Harvesters.Serialize;
7
+
8
+ internal static class DirectoryHelper
9
+ {
10
+ public static Wix.DirectoryBase CreateDirectory(string id)
11
+ {
12
+ if (WindowsInstallerStandard.IsStandardDirectory(id))
13
+ {
14
+ return new Wix.StandardDirectory()
15
+ {
16
+ Id = id
17
+ };
18
+ }
19
+
20
+ return new Wix.Directory()
21
+ {
22
+ Id = id
23
+ };
24
+ }
25
+
26
+ public static Wix.DirectoryBase CreateDirectoryReference(string id)
27
+ {
28
+ if (WindowsInstallerStandard.IsStandardDirectory(id))
29
+ {
30
+ return new Wix.StandardDirectory()
31
+ {
32
+ Id = id
33
+ };
34
+ }
35
+
36
+ return new Wix.DirectoryRef()
37
+ {
38
+ Id = id
39
+ };
40
+ }
41
+ }
42
+}
src/tools/heat/FileHarvester.cs
+1
-2
@@ -80,8 +80,7 @@ namespace WixToolset.Harvesters
80
81
string fullPath = Path.GetFullPath(argument);
82
83
- Wix.DirectoryRef directoryRef = new Wix.DirectoryRef();
84
- directoryRef.Id = this.rootedDirectoryRef;
83
+ var directoryRef = DirectoryHelper.CreateDirectoryReference(this.rootedDirectoryRef);
84
85
Wix.File file = this.HarvestFile(fullPath);
86
src/tools/heat/HelpCommand.cs
+1
-1
@@ -97,7 +97,7 @@ namespace WixToolset.Harvesters
97
Console.WriteLine(HelpMessageOptionFormat, "-? | -help", "this help information");
98
Console.WriteLine("For more information see: https://wixtoolset.org/");
99
100
- return 0;
100
+ return 1;
101
}
102
}
103
}
src/tools/heat/PerformanceCategoryHarvester.cs
+1
-3
@@ -35,9 +35,7 @@ namespace WixToolset.Harvesters
35
component.KeyPath = Wix.YesNoType.yes;
36
component.AddChild(perf);
37
38
- Wix.Directory directory = new Wix.Directory();
39
- directory.Id = "TARGETDIR";
40
- //directory.Name = directory.Id;
38
+ var directory = DirectoryHelper.CreateDirectory("TARGETDIR");
39
directory.AddChild(component);
40
41
Wix.Fragment fragment = new Wix.Fragment();
src/tools/heat/RegFileHarvester.cs
+2
-3
@@ -63,8 +63,7 @@ namespace WixToolset.Harvesters
63
throw new WixException(HarvesterErrors.FileNotFound(path));
64
}
65
66
- Wix.Directory directory = new Wix.Directory();
67
- directory.Id = "TARGETDIR";
66
+ var directory = DirectoryHelper.CreateDirectory("TARGETDIR");
67
68
// Use absolute paths
69
path = Path.GetFullPath(path);
@@ -119,7 +118,7 @@ namespace WixToolset.Harvesters
118
/// <param name="directory">A WiX directory reference.</param>
119
/// <param name="root">The root key.</param>
120
/// <param name="line">The current line.</param>
122
- private void ConvertKey(StreamReader sr, ref Wix.Directory directory, Wix.RegistryRootType root, string line)
121
+ private void ConvertKey(StreamReader sr, ref Wix.DirectoryBase directory, Wix.RegistryRootType root, string line)
122
{
123
Wix.Component component = new Wix.Component();
124
src/tools/heat/Serialize/wix.cs
+3984
-3958
@@ -24,20 +24,20 @@ namespace WixToolset.Harvesters.Serialize
24
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
25
public enum BurnContainerType
26
{
27
-
27
+
28
IllegalValue = int.MaxValue,
29
-
29
+
30
NotSet = -1,
31
-
31
+
32
attached,
33
-
33
+
34
detached,
35
}
36
-
36
+
37
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
38
public class Enums
39
{
40
-
40
+
41
/// <summary>
42
/// Parses a BurnContainerType from a string.
43
/// </summary>
@@ -47,7 +47,7 @@ namespace WixToolset.Harvesters.Serialize
47
Enums.TryParseBurnContainerType(value, out parsedValue);
48
return parsedValue;
49
}
50
-
50
+
51
/// <summary>
52
/// Tries to parse a BurnContainerType from a string.
53
/// </summary>
@@ -76,7 +76,7 @@ namespace WixToolset.Harvesters.Serialize
76
}
77
return true;
78
}
79
-
79
+
80
/// <summary>
81
/// Parses a BurnExeProtocolType from a string.
82
/// </summary>
@@ -86,7 +86,7 @@ namespace WixToolset.Harvesters.Serialize
86
Enums.TryParseBurnExeProtocolType(value, out parsedValue);
87
return parsedValue;
88
}
89
-
89
+
90
/// <summary>
91
/// Tries to parse a BurnExeProtocolType from a string.
92
/// </summary>
@@ -122,7 +122,7 @@ namespace WixToolset.Harvesters.Serialize
122
}
123
return true;
124
}
125
-
125
+
126
/// <summary>
127
/// Parses a YesNoType from a string.
128
/// </summary>
@@ -132,7 +132,7 @@ namespace WixToolset.Harvesters.Serialize
132
Enums.TryParseYesNoType(value, out parsedValue);
133
return parsedValue;
134
}
135
-
135
+
136
/// <summary>
137
/// Tries to parse a YesNoType from a string.
138
/// </summary>
@@ -161,7 +161,7 @@ namespace WixToolset.Harvesters.Serialize
161
}
162
return true;
163
}
164
-
164
+
165
/// <summary>
166
/// Parses a YesNoButtonType from a string.
167
/// </summary>
@@ -171,7 +171,7 @@ namespace WixToolset.Harvesters.Serialize
171
Enums.TryParseYesNoButtonType(value, out parsedValue);
172
return parsedValue;
173
}
174
-
174
+
175
/// <summary>
176
/// Tries to parse a YesNoButtonType from a string.
177
/// </summary>
@@ -207,7 +207,7 @@ namespace WixToolset.Harvesters.Serialize
207
}
208
return true;
209
}
210
-
210
+
211
/// <summary>
212
/// Parses a YesNoDefaultType from a string.
213
/// </summary>
@@ -217,7 +217,7 @@ namespace WixToolset.Harvesters.Serialize
217
Enums.TryParseYesNoDefaultType(value, out parsedValue);
218
return parsedValue;
219
}
220
-
220
+
221
/// <summary>
222
/// Tries to parse a YesNoDefaultType from a string.
223
/// </summary>
@@ -262,7 +262,7 @@ namespace WixToolset.Harvesters.Serialize
262
Enums.TryBundleCacheType(value, out var parsedValue);
263
return parsedValue;
264
}
265
-
265
+
266
/// <summary>
267
/// Tries to parse a YesNoAlwaysType from a string.
268
/// </summary>
@@ -298,7 +298,7 @@ namespace WixToolset.Harvesters.Serialize
298
}
299
return true;
300
}
301
-
301
+
302
/// <summary>
303
/// Parses a RegistryRootType from a string.
304
/// </summary>
@@ -308,7 +308,7 @@ namespace WixToolset.Harvesters.Serialize
308
Enums.TryParseRegistryRootType(value, out parsedValue);
309
return parsedValue;
310
}
311
-
311
+
312
/// <summary>
313
/// Tries to parse a RegistryRootType from a string.
314
/// </summary>
@@ -358,7 +358,7 @@ namespace WixToolset.Harvesters.Serialize
358
}
359
return true;
360
}
361
-
361
+
362
/// <summary>
363
/// Parses a ExitType from a string.
364
/// </summary>
@@ -368,7 +368,7 @@ namespace WixToolset.Harvesters.Serialize
368
Enums.TryParseExitType(value, out parsedValue);
369
return parsedValue;
370
}
371
-
371
+
372
/// <summary>
373
/// Tries to parse a ExitType from a string.
374
/// </summary>
@@ -411,7 +411,7 @@ namespace WixToolset.Harvesters.Serialize
411
}
412
return true;
413
}
414
-
414
+
415
/// <summary>
416
/// Parses a InstallUninstallType from a string.
417
/// </summary>
@@ -421,7 +421,7 @@ namespace WixToolset.Harvesters.Serialize
421
Enums.TryParseInstallUninstallType(value, out parsedValue);
422
return parsedValue;
423
}
424
-
424
+
425
/// <summary>
426
/// Tries to parse a InstallUninstallType from a string.
427
/// </summary>
@@ -457,7 +457,7 @@ namespace WixToolset.Harvesters.Serialize
457
}
458
return true;
459
}
460
-
460
+
461
/// <summary>
462
/// Parses a SequenceType from a string.
463
/// </summary>
@@ -467,7 +467,7 @@ namespace WixToolset.Harvesters.Serialize
467
Enums.TryParseSequenceType(value, out parsedValue);
468
return parsedValue;
469
}
470
-
470
+
471
/// <summary>
472
/// Tries to parse a SequenceType from a string.
473
/// </summary>
@@ -510,7 +510,7 @@ namespace WixToolset.Harvesters.Serialize
510
}
511
return true;
512
}
513
-
513
+
514
/// <summary>
515
/// Parses a CompressionLevelType from a string.
516
/// </summary>
@@ -520,7 +520,7 @@ namespace WixToolset.Harvesters.Serialize
520
Enums.TryParseCompressionLevelType(value, out parsedValue);
521
return parsedValue;
522
}
523
-
523
+
524
/// <summary>
525
/// Tries to parse a CompressionLevelType from a string.
526
/// </summary>
@@ -571,86 +571,86 @@ namespace WixToolset.Harvesters.Serialize
571
return true;
572
}
573
}
574
-
574
+
575
/// <summary>
576
/// The list of communcation protocols with executable packages Burn supports.
577
/// </summary>
578
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
579
public enum BurnExeProtocolType
580
{
581
-
581
+
582
IllegalValue = int.MaxValue,
583
-
583
+
584
NotSet = -1,
585
-
585
+
586
/// <summary>
587
/// The executable package does not support a communication protocol.
588
/// </summary>
589
none,
590
-
590
+
591
/// <summary>
592
/// The executable package is another Burn bundle and supports the Burn communication protocol.
593
/// </summary>
594
burn,
595
-
595
+
596
/// <summary>
597
/// The executable package implements the .NET Framework v4.0 communication protocol.
598
/// </summary>
599
netfx4,
600
}
601
-
601
+
602
/// <summary>
603
/// Values of this type will either be "yes" or "no".
604
/// </summary>
605
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
606
public enum YesNoType
607
{
608
-
608
+
609
IllegalValue = int.MaxValue,
610
-
610
+
611
NotSet = -1,
612
-
612
+
613
no,
614
-
614
+
615
yes,
616
}
617
-
617
+
618
/// <summary>
619
/// Values of this type will either be "button", "yes" or "no".
620
/// </summary>
621
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
622
public enum YesNoButtonType
623
{
624
-
624
+
625
IllegalValue = int.MaxValue,
626
-
626
+
627
NotSet = -1,
628
-
628
+
629
no,
630
-
630
+
631
yes,
632
-
632
+
633
button,
634
}
635
-
635
+
636
/// <summary>
637
/// Values of this type will either be "default", "yes", or "no".
638
/// </summary>
639
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
640
public enum YesNoDefaultType
641
{
642
-
642
+
643
IllegalValue = int.MaxValue,
644
-
644
+
645
NotSet = -1,
646
-
646
+
647
@default,
648
-
648
+
649
no,
650
-
650
+
651
yes,
652
}
653
-
653
+
654
/// <summary>
655
/// Values of this type will either be "always", "yes", or "no".
656
/// </summary>
@@ -658,55 +658,55 @@ namespace WixToolset.Harvesters.Serialize
658
public enum BundleCacheType
659
{
660
NotSet = -1,
661
-
661
+
662
force,
663
-
663
+
664
remove,
665
-
665
+
666
keep,
667
}
668
-
668
+
669
/// <summary>
670
/// Values of this type represent possible registry roots.
671
/// </summary>
672
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
673
public enum RegistryRootType
674
{
675
-
675
+
676
IllegalValue = int.MaxValue,
677
-
677
+
678
NotSet = -1,
679
-
679
+
680
/// <summary>
681
/// A per-user installation will make the operation occur under HKEY_CURRENT_USER.
682
/// A per-machine installation will make the operation occur under HKEY_LOCAL_MACHINE.
683
/// </summary>
684
HKMU,
685
-
685
+
686
/// <summary>
687
/// Operation occurs under HKEY_CLASSES_ROOT. When using Windows 2000 or later, the installer writes or removes the value
688
/// from the HKCU\Software\Classes hive during per-user installations. When using Windows 2000 or later operating systems,
689
/// the installer writes or removes the value from the HKLM\Software\Classes hive during per-machine installations.
690
/// </summary>
691
HKCR,
692
-
692
+
693
/// <summary>
694
/// Operation occurs under HKEY_CURRENT_USER. It is recommended to set the KeyPath='yes' attribute when setting this value for writing values
695
/// in order to ensure that the installer writes the necessary registry entries when there are multiple users on the same computer.
696
/// </summary>
697
HKCU,
698
-
698
+
699
/// <summary>
700
/// Operation occurs under HKEY_LOCAL_MACHINE.
701
/// </summary>
702
HKLM,
703
-
703
+
704
/// <summary>
705
/// Operation occurs under HKEY_USERS.
706
/// </summary>
707
HKU,
708
}
709
-
709
+
710
/// <summary>
711
/// Value indicates that this action is executed if the installer returns the associated exit type. Each exit type can be used with no more than one action.
712
/// Multiple actions can have exit types assigned, but every action and exit type must be different. Exit types are typically used with dialog boxes.
@@ -714,131 +714,131 @@ namespace WixToolset.Harvesters.Serialize
714
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
715
public enum ExitType
716
{
717
-
717
+
718
IllegalValue = int.MaxValue,
719
-
719
+
720
NotSet = -1,
721
-
721
+
722
success,
723
-
723
+
724
cancel,
725
-
725
+
726
error,
727
-
727
+
728
suspend,
729
}
730
-
730
+
731
/// <summary>
732
/// Specifies whether an action occur on install, uninstall or both.
733
/// </summary>
734
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
735
public enum InstallUninstallType
736
{
737
-
737
+
738
IllegalValue = int.MaxValue,
739
-
739
+
740
NotSet = -1,
741
-
741
+
742
/// <summary>
743
/// The action should happen during install (msiInstallStateLocal or msiInstallStateSource).
744
/// </summary>
745
install,
746
-
746
+
747
/// <summary>
748
/// The action should happen during uninstall (msiInstallStateAbsent).
749
/// </summary>
750
uninstall,
751
-
751
+
752
/// <summary>
753
/// The action should happen during both install and uninstall.
754
/// </summary>
755
both,
756
}
757
-
757
+
758
/// <summary>
759
/// Controls which sequences the item assignment is sequenced in.
760
/// </summary>
761
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
762
public enum SequenceType
763
{
764
-
764
+
765
IllegalValue = int.MaxValue,
766
-
766
+
767
NotSet = -1,
768
-
768
+
769
/// <summary>
770
/// Schedules the assignment in the InstallUISequence and the InstallExecuteSequence.
771
/// </summary>
772
both,
773
-
773
+
774
/// <summary>
775
/// Schedules the assignment to run in the InstallUISequence or the InstallExecuteSequence if the InstallUISequence is skipped.
776
/// </summary>
777
first,
778
-
778
+
779
/// <summary>
780
/// Schedules the assignment only in the the InstallExecuteSequence.
781
/// </summary>
782
execute,
783
-
783
+
784
/// <summary>
785
/// Schedules the assignment only in the the InstallUISequence.
786
/// </summary>
787
ui,
788
}
789
-
789
+
790
/// <summary>
791
/// Indicates the compression level for a cabinet.
792
/// </summary>
793
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
794
public enum CompressionLevelType
795
{
796
-
796
+
797
IllegalValue = int.MaxValue,
798
-
798
+
799
NotSet = -1,
800
-
800
+
801
high,
802
-
802
+
803
low,
804
-
804
+
805
medium,
806
-
806
+
807
mszip,
808
-
808
+
809
none,
810
}
811
-
811
+
812
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
813
public abstract class ActionModuleSequenceType : ISchemaElement, ISetAttributes
814
{
815
-
815
+
816
private string afterField;
817
-
817
+
818
private bool afterFieldSet;
819
-
819
+
820
private string beforeField;
821
-
821
+
822
private bool beforeFieldSet;
823
-
823
+
824
private YesNoType overridableField;
825
-
825
+
826
private bool overridableFieldSet;
827
-
827
+
828
private int sequenceField;
829
-
829
+
830
private bool sequenceFieldSet;
831
-
831
+
832
private YesNoType suppressField;
833
-
833
+
834
private bool suppressFieldSet;
835
-
835
+
836
private string contentField;
837
-
837
+
838
private bool contentFieldSet;
839
-
839
+
840
private ISchemaElement parentElement;
841
-
841
+
842
/// <summary>
843
/// The name of an action that this action should come after.
844
/// </summary>
@@ -854,7 +854,7 @@ namespace WixToolset.Harvesters.Serialize
854
this.afterField = value;
855
}
856
}
857
-
857
+
858
/// <summary>
859
/// The name of an action that this action should come before.
860
/// </summary>
@@ -870,7 +870,7 @@ namespace WixToolset.Harvesters.Serialize
870
this.beforeField = value;
871
}
872
}
873
-
873
+
874
/// <summary>
875
/// If "yes", the sequencing of this action may be overridden by sequencing elsewhere.
876
/// </summary>
@@ -886,7 +886,7 @@ namespace WixToolset.Harvesters.Serialize
886
this.overridableField = value;
887
}
888
}
889
-
889
+
890
/// <summary>
891
/// A value used to indicate the position of this action in a sequence.
892
/// </summary>
@@ -902,7 +902,7 @@ namespace WixToolset.Harvesters.Serialize
902
this.sequenceField = value;
903
}
904
}
905
-
905
+
906
/// <summary>
907
/// If yes, this action will not occur.
908
/// </summary>
@@ -918,7 +918,7 @@ namespace WixToolset.Harvesters.Serialize
918
this.suppressField = value;
919
}
920
}
921
-
921
+
922
/// <summary>
923
/// Text node specifies the condition of the action.
924
/// </summary>
@@ -934,7 +934,7 @@ namespace WixToolset.Harvesters.Serialize
934
this.contentField = value;
935
}
936
}
937
-
937
+
938
public virtual ISchemaElement ParentElement
939
{
940
get
@@ -946,7 +946,7 @@ namespace WixToolset.Harvesters.Serialize
946
this.parentElement = value;
947
}
948
}
949
-
949
+
950
/// <summary>
951
/// Processes this element and all child elements into an XmlWriter.
952
/// </summary>
@@ -995,7 +995,7 @@ namespace WixToolset.Harvesters.Serialize
995
writer.WriteString(this.contentField);
996
}
997
}
998
-
998
+
999
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1000
void ISetAttributes.SetAttribute(string name, string value)
1001
{
@@ -1035,25 +1035,25 @@ namespace WixToolset.Harvesters.Serialize
1035
}
1036
}
1037
}
1038
-
1038
+
1039
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
1040
public abstract class ActionSequenceType : ISchemaElement, ISetAttributes
1041
{
1042
-
1042
+
1043
private int sequenceField;
1044
-
1044
+
1045
private bool sequenceFieldSet;
1046
-
1046
+
1047
private YesNoType suppressField;
1048
-
1048
+
1049
private bool suppressFieldSet;
1050
-
1050
+
1051
private string contentField;
1052
-
1052
+
1053
private bool contentFieldSet;
1054
-
1054
+
1055
private ISchemaElement parentElement;
1056
-
1056
+
1057
/// <summary>
1058
/// A value used to indicate the position of this action in a sequence.
1059
/// </summary>
@@ -1069,7 +1069,7 @@ namespace WixToolset.Harvesters.Serialize
1069
this.sequenceField = value;
1070
}
1071
}
1072
-
1072
+
1073
/// <summary>
1074
/// If yes, this action will not occur.
1075
/// </summary>
@@ -1085,7 +1085,7 @@ namespace WixToolset.Harvesters.Serialize
1085
this.suppressField = value;
1086
}
1087
}
1088
-
1088
+
1089
public string Content
1090
{
1091
get
@@ -1098,7 +1098,7 @@ namespace WixToolset.Harvesters.Serialize
1098
this.contentField = value;
1099
}
1100
}
1101
-
1101
+
1102
public virtual ISchemaElement ParentElement
1103
{
1104
get
@@ -1110,7 +1110,7 @@ namespace WixToolset.Harvesters.Serialize
1110
this.parentElement = value;
1111
}
1112
}
1113
-
1113
+
1114
/// <summary>
1115
/// Processes this element and all child elements into an XmlWriter.
1116
/// </summary>
@@ -1140,7 +1140,7 @@ namespace WixToolset.Harvesters.Serialize
1140
writer.WriteString(this.contentField);
1141
}
1142
}
1143
-
1143
+
1144
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1145
void ISetAttributes.SetAttribute(string name, string value)
1146
{
@@ -1177,15 +1177,15 @@ namespace WixToolset.Harvesters.Serialize
1177
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
1178
public class Wix : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
1179
{
1180
-
1180
+
1181
private ElementCollection children;
1182
-
1182
+
1183
private string requiredVersionField;
1184
-
1184
+
1185
private bool requiredVersionFieldSet;
1186
-
1186
+
1187
private ISchemaElement parentElement;
1188
-
1188
+
1189
public Wix()
1190
{
1191
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -1201,7 +1201,7 @@ namespace WixToolset.Harvesters.Serialize
1201
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PatchCreation)));
1202
this.children = childCollection0;
1203
}
1204
-
1204
+
1205
public virtual IEnumerable Children
1206
{
1207
get
@@ -1209,7 +1209,7 @@ namespace WixToolset.Harvesters.Serialize
1209
return this.children;
1210
}
1211
}
1212
-
1212
+
1213
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
1214
public virtual IEnumerable this[System.Type childType]
1215
{
@@ -1218,7 +1218,7 @@ namespace WixToolset.Harvesters.Serialize
1218
return this.children.Filter(childType);
1219
}
1220
}
1221
-
1221
+
1222
/// <summary>
1223
/// Required version of the WiX toolset to compile this input file.
1224
/// </summary>
@@ -1234,7 +1234,7 @@ namespace WixToolset.Harvesters.Serialize
1234
this.requiredVersionField = value;
1235
}
1236
}
1237
-
1237
+
1238
public virtual ISchemaElement ParentElement
1239
{
1240
get
@@ -1246,7 +1246,7 @@ namespace WixToolset.Harvesters.Serialize
1246
this.parentElement = value;
1247
}
1248
}
1249
-
1249
+
1250
public virtual void AddChild(ISchemaElement child)
1251
{
1252
if ((null == child))
@@ -1256,7 +1256,7 @@ namespace WixToolset.Harvesters.Serialize
1256
this.children.AddElement(child);
1257
child.ParentElement = this;
1258
}
1259
-
1259
+
1260
public virtual void RemoveChild(ISchemaElement child)
1261
{
1262
if ((null == child))
@@ -1266,7 +1266,7 @@ namespace WixToolset.Harvesters.Serialize
1266
this.children.RemoveElement(child);
1267
child.ParentElement = null;
1268
}
1269
-
1269
+
1270
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1271
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
1272
ISchemaElement ICreateChildren.CreateChild(string childName)
@@ -1306,7 +1306,7 @@ namespace WixToolset.Harvesters.Serialize
1306
}
1307
return childValue;
1308
}
1309
-
1309
+
1310
/// <summary>
1311
/// Processes this element and all child elements into an XmlWriter.
1312
/// </summary>
@@ -1321,14 +1321,14 @@ namespace WixToolset.Harvesters.Serialize
1321
{
1322
writer.WriteAttributeString("RequiredVersion", this.requiredVersionField);
1323
}
1324
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
1324
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
1325
{
1326
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
1327
childElement.OutputXml(writer);
1328
}
1329
writer.WriteEndElement();
1330
}
1331
-
1331
+
1332
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1333
void ISetAttributes.SetAttribute(string name, string value)
1334
{
@@ -1343,25 +1343,25 @@ namespace WixToolset.Harvesters.Serialize
1343
}
1344
}
1345
}
1346
-
1346
+
1347
/// <summary>
1348
/// This is the top-level container element for every wxi file.
1349
/// </summary>
1350
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
1351
public class Include : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
1352
{
1353
-
1353
+
1354
private ElementCollection children;
1355
-
1355
+
1356
private ISchemaElement parentElement;
1357
-
1357
+
1358
public Include()
1359
{
1360
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
1361
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement)));
1362
this.children = childCollection0;
1363
}
1364
-
1364
+
1365
public virtual IEnumerable Children
1366
{
1367
get
@@ -1369,7 +1369,7 @@ namespace WixToolset.Harvesters.Serialize
1369
return this.children;
1370
}
1371
}
1372
-
1372
+
1373
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
1374
public virtual IEnumerable this[System.Type childType]
1375
{
@@ -1378,7 +1378,7 @@ namespace WixToolset.Harvesters.Serialize
1378
return this.children.Filter(childType);
1379
}
1380
}
1381
-
1381
+
1382
public virtual ISchemaElement ParentElement
1383
{
1384
get
@@ -1390,7 +1390,7 @@ namespace WixToolset.Harvesters.Serialize
1390
this.parentElement = value;
1391
}
1392
}
1393
-
1393
+
1394
public virtual void AddChild(ISchemaElement child)
1395
{
1396
if ((null == child))
@@ -1400,7 +1400,7 @@ namespace WixToolset.Harvesters.Serialize
1400
this.children.AddElement(child);
1401
child.ParentElement = this;
1402
}
1403
-
1403
+
1404
public virtual void RemoveChild(ISchemaElement child)
1405
{
1406
if ((null == child))
@@ -1410,7 +1410,7 @@ namespace WixToolset.Harvesters.Serialize
1410
this.children.RemoveElement(child);
1411
child.ParentElement = null;
1412
}
1413
-
1413
+
1414
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1415
ISchemaElement ICreateChildren.CreateChild(string childName)
1416
{
@@ -1425,7 +1425,7 @@ namespace WixToolset.Harvesters.Serialize
1425
}
1426
return childValue;
1427
}
1428
-
1428
+
1429
/// <summary>
1430
/// Processes this element and all child elements into an XmlWriter.
1431
/// </summary>
@@ -1436,14 +1436,14 @@ namespace WixToolset.Harvesters.Serialize
1436
throw new ArgumentNullException("writer");
1437
}
1438
writer.WriteStartElement("Include", "http://wixtoolset.org/schemas/v4/wxs");
1439
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
1439
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
1440
{
1441
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
1442
childElement.OutputXml(writer);
1443
}
1444
writer.WriteEndElement();
1445
}
1446
-
1446
+
1447
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1448
void ISetAttributes.SetAttribute(string name, string value)
1449
{
@@ -1453,90 +1453,90 @@ namespace WixToolset.Harvesters.Serialize
1453
}
1454
}
1455
}
1456
-
1456
+
1457
/// <summary>
1458
/// The root element for creating bundled packages.
1459
/// </summary>
1460
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
1461
public class Bundle : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
1462
{
1463
-
1463
+
1464
private ElementCollection children;
1465
-
1465
+
1466
private string aboutUrlField;
1467
-
1467
+
1468
private bool aboutUrlFieldSet;
1469
-
1469
+
1470
private string copyrightField;
1471
-
1471
+
1472
private bool copyrightFieldSet;
1473
-
1473
+
1474
private YesNoDefaultType compressedField;
1475
-
1475
+
1476
private bool compressedFieldSet;
1477
-
1477
+
1478
private YesNoButtonType disableModifyField;
1479
-
1479
+
1480
private bool disableModifyFieldSet;
1481
-
1481
+
1482
private YesNoType disableRemoveField;
1483
-
1483
+
1484
private bool disableRemoveFieldSet;
1485
-
1485
+
1486
private YesNoType disableRepairField;
1487
-
1487
+
1488
private bool disableRepairFieldSet;
1489
-
1489
+
1490
private string helpTelephoneField;
1491
-
1491
+
1492
private bool helpTelephoneFieldSet;
1493
-
1493
+
1494
private string helpUrlField;
1495
-
1495
+
1496
private bool helpUrlFieldSet;
1497
-
1497
+
1498
private string iconSourceFileField;
1499
-
1499
+
1500
private bool iconSourceFileFieldSet;
1501
-
1501
+
1502
private string manufacturerField;
1503
-
1503
+
1504
private bool manufacturerFieldSet;
1505
-
1505
+
1506
private string nameField;
1507
-
1507
+
1508
private bool nameFieldSet;
1509
-
1509
+
1510
private string parentNameField;
1511
-
1511
+
1512
private bool parentNameFieldSet;
1513
-
1513
+
1514
private string splashScreenSourceFileField;
1515
-
1515
+
1516
private bool splashScreenSourceFileFieldSet;
1517
-
1517
+
1518
private string tagField;
1519
-
1519
+
1520
private bool tagFieldSet;
1521
-
1521
+
1522
private string updateUrlField;
1523
-
1523
+
1524
private bool updateUrlFieldSet;
1525
-
1525
+
1526
private string upgradeCodeField;
1527
-
1527
+
1528
private bool upgradeCodeFieldSet;
1529
-
1529
+
1530
private string versionField;
1531
-
1531
+
1532
private bool versionFieldSet;
1533
-
1533
+
1534
private string conditionField;
1535
-
1535
+
1536
private bool conditionFieldSet;
1537
-
1537
+
1538
private ISchemaElement parentElement;
1539
-
1539
+
1540
public Bundle()
1541
{
1542
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -1558,7 +1558,7 @@ namespace WixToolset.Harvesters.Serialize
1558
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement)));
1559
this.children = childCollection0;
1560
}
1561
-
1561
+
1562
public virtual IEnumerable Children
1563
{
1564
get
@@ -1566,7 +1566,7 @@ namespace WixToolset.Harvesters.Serialize
1566
return this.children;
1567
}
1568
}
1569
-
1569
+
1570
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
1571
public virtual IEnumerable this[System.Type childType]
1572
{
@@ -1575,7 +1575,7 @@ namespace WixToolset.Harvesters.Serialize
1575
return this.children.Filter(childType);
1576
}
1577
}
1578
-
1578
+
1579
/// <summary>
1580
/// A URL for more information about the bundle to display in Programs and Features (also
1581
/// known as Add/Remove Programs).
@@ -1592,7 +1592,7 @@ namespace WixToolset.Harvesters.Serialize
1592
this.aboutUrlField = value;
1593
}
1594
}
1595
-
1595
+
1596
/// <summary>
1597
/// The legal copyright found in the version resources of final bundle executable. If
1598
/// this attribute is not provided the copyright will be set to "Copyright (c) [Bundle/@Manufacturer]. All rights reserved.".
@@ -1609,7 +1609,7 @@ namespace WixToolset.Harvesters.Serialize
1609
this.copyrightField = value;
1610
}
1611
}
1612
-
1612
+
1613
/// <summary>
1614
/// Whether Packages and Payloads not assigned to a container should be added to the default attached container or if they should be external. The default is yes.
1615
/// </summary>
@@ -1625,7 +1625,7 @@ namespace WixToolset.Harvesters.Serialize
1625
this.compressedField = value;
1626
}
1627
}
1628
-
1628
+
1629
/// <summary>
1630
/// Determines whether the bundle can be modified via the Programs and Features (also known as
1631
/// Add/Remove Programs). If the value is "button" then Programs and Features will show a single
@@ -1646,7 +1646,7 @@ namespace WixToolset.Harvesters.Serialize
1646
this.disableModifyField = value;
1647
}
1648
}
1649
-
1649
+
1650
/// <summary>
1651
/// Determines whether the bundle can be removed via the Programs and Features (also
1652
/// known as Add/Remove Programs). If the value is "yes" then the "Uninstall" button will
@@ -1667,7 +1667,7 @@ namespace WixToolset.Harvesters.Serialize
1667
this.disableRemoveField = value;
1668
}
1669
}
1670
-
1670
+
1671
public YesNoType DisableRepair
1672
{
1673
get
@@ -1680,7 +1680,7 @@ namespace WixToolset.Harvesters.Serialize
1680
this.disableRepairField = value;
1681
}
1682
}
1683
-
1683
+
1684
/// <summary>
1685
/// A telephone number for help to display in Programs and Features (also known as
1686
/// Add/Remove Programs).
@@ -1697,7 +1697,7 @@ namespace WixToolset.Harvesters.Serialize
1697
this.helpTelephoneField = value;
1698
}
1699
}
1700
-
1700
+
1701
/// <summary>
1702
/// A URL to the help for the bundle to display in Programs and Features (also known as
1703
/// Add/Remove Programs).
@@ -1714,7 +1714,7 @@ namespace WixToolset.Harvesters.Serialize
1714
this.helpUrlField = value;
1715
}
1716
}
1717
-
1717
+
1718
/// <summary>
1719
/// Path to an icon that will replace the default icon in the final Bundle executable.
1720
/// This icon will also be displayed in Programs and Features (also known as Add/Remove
@@ -1732,7 +1732,7 @@ namespace WixToolset.Harvesters.Serialize
1732
this.iconSourceFileField = value;
1733
}
1734
}
1735
-
1735
+
1736
/// <summary>
1737
/// The publisher of the bundle to display in Programs and Features (also known as
1738
/// Add/Remove Programs).
@@ -1749,7 +1749,7 @@ namespace WixToolset.Harvesters.Serialize
1749
this.manufacturerField = value;
1750
}
1751
}
1752
-
1752
+
1753
/// <summary>
1754
/// The name of the bundle to display in Programs and Features (also known as Add/Remove
1755
/// Programs). This name can be accessed and overwritten by a BootstrapperApplication
@@ -1767,7 +1767,7 @@ namespace WixToolset.Harvesters.Serialize
1767
this.nameField = value;
1768
}
1769
}
1770
-
1770
+
1771
/// <summary>
1772
/// The name of the parent bundle to display in Installed Updates (also known as Add/Remove
1773
/// Programs). This name is used to nest or group bundles that will appear as updates.
@@ -1785,7 +1785,7 @@ namespace WixToolset.Harvesters.Serialize
1785
this.parentNameField = value;
1786
}
1787
}
1788
-
1788
+
1789
/// <summary>
1790
/// Path to a bitmap that will be shown as the bootstrapper application is being loaded. If this attribute is not specified, no splash screen will be displayed.
1791
/// </summary>
@@ -1801,7 +1801,7 @@ namespace WixToolset.Harvesters.Serialize
1801
this.splashScreenSourceFileField = value;
1802
}
1803
}
1804
-
1804
+
1805
/// <summary>
1806
/// Set this string to uniquely identify this bundle to its own BA, and to related bundles. The value of this string only matters to the BA, and its value has no direct effect on engine functionality.
1807
/// </summary>
@@ -1817,7 +1817,7 @@ namespace WixToolset.Harvesters.Serialize
1817
this.tagField = value;
1818
}
1819
}
1820
-
1820
+
1821
/// <summary>
1822
/// A URL for updates of the bundle to display in Programs and Features (also
1823
/// known as Add/Remove Programs).
@@ -1834,7 +1834,7 @@ namespace WixToolset.Harvesters.Serialize
1834
this.updateUrlField = value;
1835
}
1836
}
1837
-
1837
+
1838
/// <summary>
1839
/// Unique identifier for a family of bundles. If two bundles have the same UpgradeCode the
1840
/// bundle with the highest version will be installed.
@@ -1851,7 +1851,7 @@ namespace WixToolset.Harvesters.Serialize
1851
this.upgradeCodeField = value;
1852
}
1853
}
1854
-
1854
+
1855
/// <summary>
1856
/// The version of the bundle. Newer versions upgrade earlier versions of the bundles
1857
/// with matching UpgradeCodes. If the bundle is registered in Programs and Features
@@ -1869,7 +1869,7 @@ namespace WixToolset.Harvesters.Serialize
1869
this.versionField = value;
1870
}
1871
}
1872
-
1872
+
1873
/// <summary>
1874
/// The condition of the bundle. If the condition is not met, the bundle will
1875
/// refuse to run. Conditions are checked before the bootstrapper application is loaded
@@ -1888,7 +1888,7 @@ namespace WixToolset.Harvesters.Serialize
1888
this.conditionField = value;
1889
}
1890
}
1891
-
1891
+
1892
public virtual ISchemaElement ParentElement
1893
{
1894
get
@@ -1900,7 +1900,7 @@ namespace WixToolset.Harvesters.Serialize
1900
this.parentElement = value;
1901
}
1902
}
1903
-
1903
+
1904
public virtual void AddChild(ISchemaElement child)
1905
{
1906
if ((null == child))
@@ -1910,7 +1910,7 @@ namespace WixToolset.Harvesters.Serialize
1910
this.children.AddElement(child);
1911
child.ParentElement = this;
1912
}
1913
-
1913
+
1914
public virtual void RemoveChild(ISchemaElement child)
1915
{
1916
if ((null == child))
@@ -1920,7 +1920,7 @@ namespace WixToolset.Harvesters.Serialize
1920
this.children.RemoveElement(child);
1921
child.ParentElement = null;
1922
}
1923
-
1923
+
1924
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
1925
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
1926
ISchemaElement ICreateChildren.CreateChild(string childName)
@@ -1996,7 +1996,7 @@ namespace WixToolset.Harvesters.Serialize
1996
}
1997
return childValue;
1998
}
1999
-
1999
+
2000
/// <summary>
2001
/// Processes this element and all child elements into an XmlWriter.
2002
/// </summary>
@@ -2116,14 +2116,14 @@ namespace WixToolset.Harvesters.Serialize
2116
{
2117
writer.WriteAttributeString("Condition", this.conditionField);
2118
}
2119
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
2119
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
2120
{
2121
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
2122
childElement.OutputXml(writer);
2123
}
2124
writer.WriteEndElement();
2125
}
2126
-
2126
+
2127
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2128
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
2129
void ISetAttributes.SetAttribute(string name, string value)
@@ -2224,32 +2224,32 @@ namespace WixToolset.Harvesters.Serialize
2224
}
2225
}
2226
}
2227
-
2227
+
2228
/// <summary>
2229
/// Provides information about an .exe so that the BA can request the engine to run it elevated from any secure location.
2230
/// </summary>
2231
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
2232
public class ApprovedExeForElevation : ISchemaElement, ISetAttributes
2233
{
2234
-
2234
+
2235
private string idField;
2236
-
2236
+
2237
private bool idFieldSet;
2238
-
2238
+
2239
private string keyField;
2240
-
2240
+
2241
private bool keyFieldSet;
2242
-
2242
+
2243
private string valueField;
2244
-
2244
+
2245
private bool valueFieldSet;
2246
-
2246
+
2247
private YesNoType win64Field;
2248
-
2248
+
2249
private bool win64FieldSet;
2250
-
2250
+
2251
private ISchemaElement parentElement;
2252
-
2252
+
2253
/// <summary>
2254
/// The identifier of the ApprovedExeForElevation element.
2255
/// </summary>
@@ -2265,7 +2265,7 @@ namespace WixToolset.Harvesters.Serialize
2265
this.idField = value;
2266
}
2267
}
2268
-
2268
+
2269
/// <summary>
2270
/// The key path.
2271
/// For security purposes, the root key will be HKLM and Variables are not supported.
@@ -2282,7 +2282,7 @@ namespace WixToolset.Harvesters.Serialize
2282
this.keyField = value;
2283
}
2284
}
2285
-
2285
+
2286
/// <summary>
2287
/// The value name.
2288
/// For security purposes, Variables are not supported.
@@ -2299,7 +2299,7 @@ namespace WixToolset.Harvesters.Serialize
2299
this.valueField = value;
2300
}
2301
}
2302
-
2302
+
2303
/// <summary>
2304
/// Instructs the search to look in the 64-bit registry when the value is 'yes'.
2305
/// When the value is 'no', the search looks in the 32-bit registry.
@@ -2317,7 +2317,7 @@ namespace WixToolset.Harvesters.Serialize
2317
this.win64Field = value;
2318
}
2319
}
2320
-
2320
+
2321
public virtual ISchemaElement ParentElement
2322
{
2323
get
@@ -2329,7 +2329,7 @@ namespace WixToolset.Harvesters.Serialize
2329
this.parentElement = value;
2330
}
2331
}
2332
-
2332
+
2333
/// <summary>
2334
/// Processes this element and all child elements into an XmlWriter.
2335
/// </summary>
@@ -2365,7 +2365,7 @@ namespace WixToolset.Harvesters.Serialize
2365
}
2366
writer.WriteEndElement();
2367
}
2368
-
2368
+
2369
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2370
void ISetAttributes.SetAttribute(string name, string value)
2371
{
@@ -2395,32 +2395,32 @@ namespace WixToolset.Harvesters.Serialize
2395
}
2396
}
2397
}
2398
-
2398
+
2399
/// <summary>
2400
/// Overrides the default log settings for a bundle.
2401
/// </summary>
2402
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
2403
public class Log : ISchemaElement, ISetAttributes
2404
{
2405
-
2405
+
2406
private YesNoType disableField;
2407
-
2407
+
2408
private bool disableFieldSet;
2409
-
2409
+
2410
private string pathVariableField;
2411
-
2411
+
2412
private bool pathVariableFieldSet;
2413
-
2413
+
2414
private string prefixField;
2415
-
2415
+
2416
private bool prefixFieldSet;
2417
-
2417
+
2418
private string extensionField;
2419
-
2419
+
2420
private bool extensionFieldSet;
2421
-
2421
+
2422
private ISchemaElement parentElement;
2423
-
2423
+
2424
/// <summary>
2425
/// Disables the default logging in the Bundle. The end user can still generate a
2426
/// log file by specifying the "-l" command-line argument when installing the
@@ -2438,7 +2438,7 @@ namespace WixToolset.Harvesters.Serialize
2438
this.disableField = value;
2439
}
2440
}
2441
-
2441
+
2442
/// <summary>
2443
/// Name of a Variable that will hold the path to the log file. An empty value
2444
/// will cause the variable to not be set. The default is "WixBundleLog".
@@ -2455,7 +2455,7 @@ namespace WixToolset.Harvesters.Serialize
2455
this.pathVariableField = value;
2456
}
2457
}
2458
-
2458
+
2459
/// <summary>
2460
/// File name and optionally a relative path to use as the prefix for the log file. The
2461
/// default is to use the Bundle/@Name or, if Bundle/@Name is not specified, the value
@@ -2473,7 +2473,7 @@ namespace WixToolset.Harvesters.Serialize
2473
this.prefixField = value;
2474
}
2475
}
2476
-
2476
+
2477
/// <summary>
2478
/// The extension to use for the log. The default is ".log".
2479
/// </summary>
@@ -2489,7 +2489,7 @@ namespace WixToolset.Harvesters.Serialize
2489
this.extensionField = value;
2490
}
2491
}
2492
-
2492
+
2493
public virtual ISchemaElement ParentElement
2494
{
2495
get
@@ -2501,7 +2501,7 @@ namespace WixToolset.Harvesters.Serialize
2501
this.parentElement = value;
2502
}
2503
}
2504
-
2504
+
2505
/// <summary>
2506
/// Processes this element and all child elements into an XmlWriter.
2507
/// </summary>
@@ -2537,7 +2537,7 @@ namespace WixToolset.Harvesters.Serialize
2537
}
2538
writer.WriteEndElement();
2539
}
2540
-
2540
+
2541
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2542
void ISetAttributes.SetAttribute(string name, string value)
2543
{
@@ -2567,24 +2567,24 @@ namespace WixToolset.Harvesters.Serialize
2567
}
2568
}
2569
}
2570
-
2570
+
2571
/// <summary>
2572
/// Specify one or more catalog files that will be used to verify the contents of the bundle.
2573
/// </summary>
2574
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
2575
public class Catalog : ISchemaElement, ISetAttributes
2576
{
2577
-
2577
+
2578
private string idField;
2579
-
2579
+
2580
private bool idFieldSet;
2581
-
2581
+
2582
private string sourceFileField;
2583
-
2583
+
2584
private bool sourceFileFieldSet;
2585
-
2585
+
2586
private ISchemaElement parentElement;
2587
-
2587
+
2588
/// <summary>
2589
/// The identifier of the catalog element.
2590
/// </summary>
@@ -2600,7 +2600,7 @@ namespace WixToolset.Harvesters.Serialize
2600
this.idField = value;
2601
}
2602
}
2603
-
2603
+
2604
/// <summary>
2605
/// The catalog file
2606
/// </summary>
@@ -2616,7 +2616,7 @@ namespace WixToolset.Harvesters.Serialize
2616
this.sourceFileField = value;
2617
}
2618
}
2619
-
2619
+
2620
public virtual ISchemaElement ParentElement
2621
{
2622
get
@@ -2628,7 +2628,7 @@ namespace WixToolset.Harvesters.Serialize
2628
this.parentElement = value;
2629
}
2630
}
2631
-
2631
+
2632
/// <summary>
2633
/// Processes this element and all child elements into an XmlWriter.
2634
/// </summary>
@@ -2649,7 +2649,7 @@ namespace WixToolset.Harvesters.Serialize
2649
}
2650
writer.WriteEndElement();
2651
}
2652
-
2652
+
2653
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2654
void ISetAttributes.SetAttribute(string name, string value)
2655
{
@@ -2669,30 +2669,30 @@ namespace WixToolset.Harvesters.Serialize
2669
}
2670
}
2671
}
2672
-
2672
+
2673
/// <summary>
2674
/// Contains all the relevant information about the setup UI.
2675
/// </summary>
2676
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
2677
public class BootstrapperApplication : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
2678
{
2679
-
2679
+
2680
private ElementCollection children;
2681
-
2681
+
2682
private string idField;
2683
-
2683
+
2684
private bool idFieldSet;
2685
-
2685
+
2686
private string sourceFileField;
2687
-
2687
+
2688
private bool sourceFileFieldSet;
2689
-
2689
+
2690
private string nameField;
2691
-
2691
+
2692
private bool nameFieldSet;
2693
-
2693
+
2694
private ISchemaElement parentElement;
2695
-
2695
+
2696
public BootstrapperApplication()
2697
{
2698
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -2701,7 +2701,7 @@ namespace WixToolset.Harvesters.Serialize
2701
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement)));
2702
this.children = childCollection0;
2703
}
2704
-
2704
+
2705
public virtual IEnumerable Children
2706
{
2707
get
@@ -2709,7 +2709,7 @@ namespace WixToolset.Harvesters.Serialize
2709
return this.children;
2710
}
2711
}
2712
-
2712
+
2713
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
2714
public virtual IEnumerable this[System.Type childType]
2715
{
@@ -2718,7 +2718,7 @@ namespace WixToolset.Harvesters.Serialize
2718
return this.children.Filter(childType);
2719
}
2720
}
2721
-
2721
+
2722
/// <summary>
2723
/// The identifier of the BootstrapperApplication element. Only required if you want to reference this element using a BootstrapperApplicationRef element.
2724
/// </summary>
@@ -2734,7 +2734,7 @@ namespace WixToolset.Harvesters.Serialize
2734
this.idField = value;
2735
}
2736
}
2737
-
2737
+
2738
/// <summary>
2739
/// The DLL with the bootstrapper application entry function.
2740
/// </summary>
@@ -2750,7 +2750,7 @@ namespace WixToolset.Harvesters.Serialize
2750
this.sourceFileField = value;
2751
}
2752
}
2753
-
2753
+
2754
/// <summary>
2755
/// The relative destination path and file name for the bootstrapper application DLL. The default is the source file name. Use this attribute to rename the bootstrapper application DLL or extract it into a subfolder. The use of '..' directories is not allowed.
2756
/// </summary>
@@ -2766,7 +2766,7 @@ namespace WixToolset.Harvesters.Serialize
2766
this.nameField = value;
2767
}
2768
}
2769
-
2769
+
2770
public virtual ISchemaElement ParentElement
2771
{
2772
get
@@ -2778,7 +2778,7 @@ namespace WixToolset.Harvesters.Serialize
2778
this.parentElement = value;
2779
}
2780
}
2781
-
2781
+
2782
public virtual void AddChild(ISchemaElement child)
2783
{
2784
if ((null == child))
@@ -2788,7 +2788,7 @@ namespace WixToolset.Harvesters.Serialize
2788
this.children.AddElement(child);
2789
child.ParentElement = this;
2790
}
2791
-
2791
+
2792
public virtual void RemoveChild(ISchemaElement child)
2793
{
2794
if ((null == child))
@@ -2798,7 +2798,7 @@ namespace WixToolset.Harvesters.Serialize
2798
this.children.RemoveElement(child);
2799
child.ParentElement = null;
2800
}
2801
-
2801
+
2802
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2803
ISchemaElement ICreateChildren.CreateChild(string childName)
2804
{
@@ -2821,7 +2821,7 @@ namespace WixToolset.Harvesters.Serialize
2821
}
2822
return childValue;
2823
}
2824
-
2824
+
2825
/// <summary>
2826
/// Processes this element and all child elements into an XmlWriter.
2827
/// </summary>
@@ -2844,14 +2844,14 @@ namespace WixToolset.Harvesters.Serialize
2844
{
2845
writer.WriteAttributeString("Name", this.nameField);
2846
}
2847
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
2847
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
2848
{
2849
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
2850
childElement.OutputXml(writer);
2851
}
2852
writer.WriteEndElement();
2853
}
2854
-
2854
+
2855
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2856
void ISetAttributes.SetAttribute(string name, string value)
2857
{
@@ -2876,22 +2876,22 @@ namespace WixToolset.Harvesters.Serialize
2876
}
2877
}
2878
}
2879
-
2879
+
2880
/// <summary>
2881
/// Used to reference a BootstrapperApplication element and optionally add additional payloads to the bootstrapper application.
2882
/// </summary>
2883
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
2884
public class BootstrapperApplicationRef : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
2885
{
2886
-
2886
+
2887
private ElementCollection children;
2888
-
2888
+
2889
private string idField;
2890
-
2890
+
2891
private bool idFieldSet;
2892
-
2892
+
2893
private ISchemaElement parentElement;
2894
-
2894
+
2895
public BootstrapperApplicationRef()
2896
{
2897
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -2900,7 +2900,7 @@ namespace WixToolset.Harvesters.Serialize
2900
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement)));
2901
this.children = childCollection0;
2902
}
2903
-
2903
+
2904
public virtual IEnumerable Children
2905
{
2906
get
@@ -2908,7 +2908,7 @@ namespace WixToolset.Harvesters.Serialize
2908
return this.children;
2909
}
2910
}
2911
-
2911
+
2912
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
2913
public virtual IEnumerable this[System.Type childType]
2914
{
@@ -2917,7 +2917,7 @@ namespace WixToolset.Harvesters.Serialize
2917
return this.children.Filter(childType);
2918
}
2919
}
2920
-
2920
+
2921
/// <summary>
2922
/// The identifier of the BootstrapperApplication element to reference.
2923
/// </summary>
@@ -2933,7 +2933,7 @@ namespace WixToolset.Harvesters.Serialize
2933
this.idField = value;
2934
}
2935
}
2936
-
2936
+
2937
public virtual ISchemaElement ParentElement
2938
{
2939
get
@@ -2945,7 +2945,7 @@ namespace WixToolset.Harvesters.Serialize
2945
this.parentElement = value;
2946
}
2947
}
2948
-
2948
+
2949
public virtual void AddChild(ISchemaElement child)
2950
{
2951
if ((null == child))
@@ -2955,7 +2955,7 @@ namespace WixToolset.Harvesters.Serialize
2955
this.children.AddElement(child);
2956
child.ParentElement = this;
2957
}
2958
-
2958
+
2959
public virtual void RemoveChild(ISchemaElement child)
2960
{
2961
if ((null == child))
@@ -2965,7 +2965,7 @@ namespace WixToolset.Harvesters.Serialize
2965
this.children.RemoveElement(child);
2966
child.ParentElement = null;
2967
}
2968
-
2968
+
2969
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
2970
ISchemaElement ICreateChildren.CreateChild(string childName)
2971
{
@@ -2988,7 +2988,7 @@ namespace WixToolset.Harvesters.Serialize
2988
}
2989
return childValue;
2990
}
2991
-
2991
+
2992
/// <summary>
2993
/// Processes this element and all child elements into an XmlWriter.
2994
/// </summary>
@@ -3003,14 +3003,14 @@ namespace WixToolset.Harvesters.Serialize
3003
{
3004
writer.WriteAttributeString("Id", this.idField);
3005
}
3006
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
3006
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
3007
{
3008
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
3009
childElement.OutputXml(writer);
3010
}
3011
writer.WriteEndElement();
3012
}
3013
-
3013
+
3014
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3015
void ISetAttributes.SetAttribute(string name, string value)
3016
{
@@ -3025,30 +3025,30 @@ namespace WixToolset.Harvesters.Serialize
3025
}
3026
}
3027
}
3028
-
3028
+
3029
/// <summary>
3030
/// This element has been deprecated. Use the BootstrapperApplication element instead.
3031
/// </summary>
3032
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
3033
public class UX : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
3034
{
3035
-
3035
+
3036
private ElementCollection children;
3037
-
3037
+
3038
private string sourceFileField;
3039
-
3039
+
3040
private bool sourceFileFieldSet;
3041
-
3041
+
3042
private string nameField;
3043
-
3043
+
3044
private bool nameFieldSet;
3045
-
3045
+
3046
private string splashScreenSourceFileField;
3047
-
3047
+
3048
private bool splashScreenSourceFileFieldSet;
3049
-
3049
+
3050
private ISchemaElement parentElement;
3051
-
3051
+
3052
public UX()
3053
{
3054
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -3056,7 +3056,7 @@ namespace WixToolset.Harvesters.Serialize
3056
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PayloadGroupRef)));
3057
this.children = childCollection0;
3058
}
3059
-
3059
+
3060
public virtual IEnumerable Children
3061
{
3062
get
@@ -3064,7 +3064,7 @@ namespace WixToolset.Harvesters.Serialize
3064
return this.children;
3065
}
3066
}
3067
-
3067
+
3068
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
3069
public virtual IEnumerable this[System.Type childType]
3070
{
@@ -3073,7 +3073,7 @@ namespace WixToolset.Harvesters.Serialize
3073
return this.children.Filter(childType);
3074
}
3075
}
3076
-
3076
+
3077
/// <summary>
3078
/// See the BootstrapperApplication instead.
3079
/// </summary>
@@ -3089,7 +3089,7 @@ namespace WixToolset.Harvesters.Serialize
3089
this.sourceFileField = value;
3090
}
3091
}
3092
-
3092
+
3093
/// <summary>
3094
/// See the BootstrapperApplication instead.
3095
/// </summary>
@@ -3105,7 +3105,7 @@ namespace WixToolset.Harvesters.Serialize
3105
this.nameField = value;
3106
}
3107
}
3108
-
3108
+
3109
/// <summary>
3110
/// See the BootstrapperApplication instead.
3111
/// </summary>
@@ -3121,7 +3121,7 @@ namespace WixToolset.Harvesters.Serialize
3121
this.splashScreenSourceFileField = value;
3122
}
3123
}
3124
-
3124
+
3125
public virtual ISchemaElement ParentElement
3126
{
3127
get
@@ -3133,7 +3133,7 @@ namespace WixToolset.Harvesters.Serialize
3133
this.parentElement = value;
3134
}
3135
}
3136
-
3136
+
3137
public virtual void AddChild(ISchemaElement child)
3138
{
3139
if ((null == child))
@@ -3143,7 +3143,7 @@ namespace WixToolset.Harvesters.Serialize
3143
this.children.AddElement(child);
3144
child.ParentElement = this;
3145
}
3146
-
3146
+
3147
public virtual void RemoveChild(ISchemaElement child)
3148
{
3149
if ((null == child))
@@ -3153,7 +3153,7 @@ namespace WixToolset.Harvesters.Serialize
3153
this.children.RemoveElement(child);
3154
child.ParentElement = null;
3155
}
3156
-
3156
+
3157
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3158
ISchemaElement ICreateChildren.CreateChild(string childName)
3159
{
@@ -3176,7 +3176,7 @@ namespace WixToolset.Harvesters.Serialize
3176
}
3177
return childValue;
3178
}
3179
-
3179
+
3180
/// <summary>
3181
/// Processes this element and all child elements into an XmlWriter.
3182
/// </summary>
@@ -3199,14 +3199,14 @@ namespace WixToolset.Harvesters.Serialize
3199
{
3200
writer.WriteAttributeString("SplashScreenSourceFile", this.splashScreenSourceFileField);
3201
}
3202
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
3202
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
3203
{
3204
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
3205
childElement.OutputXml(writer);
3206
}
3207
writer.WriteEndElement();
3208
}
3209
-
3209
+
3210
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3211
void ISetAttributes.SetAttribute(string name, string value)
3212
{
@@ -3231,7 +3231,7 @@ namespace WixToolset.Harvesters.Serialize
3231
}
3232
}
3233
}
3234
-
3234
+
3235
/// <summary>
3236
/// Writes additional information to the Windows registry that can be used to detect the bundle.
3237
/// This registration is intended primarily for update to an existing product.
@@ -3239,29 +3239,29 @@ namespace WixToolset.Harvesters.Serialize
3239
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
3240
public class OptionalUpdateRegistration : ISchemaElement, ISetAttributes
3241
{
3242
-
3242
+
3243
private string manufacturerField;
3244
-
3244
+
3245
private bool manufacturerFieldSet;
3246
-
3246
+
3247
private string departmentField;
3248
-
3248
+
3249
private bool departmentFieldSet;
3250
-
3250
+
3251
private string productFamilyField;
3252
-
3252
+
3253
private bool productFamilyFieldSet;
3254
-
3254
+
3255
private string nameField;
3256
-
3256
+
3257
private bool nameFieldSet;
3258
-
3258
+
3259
private string classificationField;
3260
-
3260
+
3261
private bool classificationFieldSet;
3262
-
3262
+
3263
private ISchemaElement parentElement;
3264
-
3264
+
3265
/// <summary>
3266
/// The name of the manufacturer. The default is the Bundle/@Manufacturer attribute,
3267
/// but may also be a short form, ex: Acme instead of Acme Corporation.
@@ -3279,7 +3279,7 @@ namespace WixToolset.Harvesters.Serialize
3279
this.manufacturerField = value;
3280
}
3281
}
3282
-
3282
+
3283
/// <summary>
3284
/// The name of the department or division publishing the update bundle.
3285
/// The PublishingGroup registry value is not written if this attribute is not specified.
@@ -3296,7 +3296,7 @@ namespace WixToolset.Harvesters.Serialize
3296
this.departmentField = value;
3297
}
3298
}
3299
-
3299
+
3300
/// <summary>
3301
/// The name of the family of products being updated. The default is the Bundle/@ParentName attribute.
3302
/// The corresponding registry key is not created if neither attribute is specified.
@@ -3313,7 +3313,7 @@ namespace WixToolset.Harvesters.Serialize
3313
this.productFamilyField = value;
3314
}
3315
}
3316
-
3316
+
3317
/// <summary>
3318
/// The name of the bundle. The default is the Bundle/@Name attribute,
3319
/// but may also be a short form, ex: KB12345 instead of Update to Product (KB12345).
@@ -3331,7 +3331,7 @@ namespace WixToolset.Harvesters.Serialize
3331
this.nameField = value;
3332
}
3333
}
3334
-
3334
+
3335
/// <summary>
3336
/// The release type of the update bundle, such as Update, Security Update, Service Pack, etc.
3337
/// The default value is Update.
@@ -3348,7 +3348,7 @@ namespace WixToolset.Harvesters.Serialize
3348
this.classificationField = value;
3349
}
3350
}
3351
-
3351
+
3352
public virtual ISchemaElement ParentElement
3353
{
3354
get
@@ -3360,7 +3360,7 @@ namespace WixToolset.Harvesters.Serialize
3360
this.parentElement = value;
3361
}
3362
}
3363
-
3363
+
3364
/// <summary>
3365
/// Processes this element and all child elements into an XmlWriter.
3366
/// </summary>
@@ -3393,7 +3393,7 @@ namespace WixToolset.Harvesters.Serialize
3393
}
3394
writer.WriteEndElement();
3395
}
3396
-
3396
+
3397
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3398
void ISetAttributes.SetAttribute(string name, string value)
3399
{
@@ -3428,30 +3428,30 @@ namespace WixToolset.Harvesters.Serialize
3428
}
3429
}
3430
}
3431
-
3431
+
3432
/// <summary>
3433
/// Contains the chain of packages to install.
3434
/// </summary>
3435
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
3436
public class Chain : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
3437
{
3438
-
3438
+
3439
private ElementCollection children;
3440
-
3440
+
3441
private YesNoType disableRollbackField;
3442
-
3442
+
3443
private bool disableRollbackFieldSet;
3444
-
3444
+
3445
private YesNoType disableSystemRestoreField;
3446
-
3446
+
3447
private bool disableSystemRestoreFieldSet;
3448
-
3448
+
3449
private YesNoType parallelCacheField;
3450
-
3450
+
3451
private bool parallelCacheFieldSet;
3452
-
3452
+
3453
private ISchemaElement parentElement;
3454
-
3454
+
3455
public Chain()
3456
{
3457
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -3463,7 +3463,7 @@ namespace WixToolset.Harvesters.Serialize
3463
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PackageGroupRef)));
3464
this.children = childCollection0;
3465
}
3466
-
3466
+
3467
public virtual IEnumerable Children
3468
{
3469
get
@@ -3471,7 +3471,7 @@ namespace WixToolset.Harvesters.Serialize
3471
return this.children;
3472
}
3473
}
3474
-
3474
+
3475
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
3476
public virtual IEnumerable this[System.Type childType]
3477
{
@@ -3480,7 +3480,7 @@ namespace WixToolset.Harvesters.Serialize
3480
return this.children.Filter(childType);
3481
}
3482
}
3483
-
3483
+
3484
/// <summary>
3485
/// Specifies whether the bundle will attempt to rollback packages
3486
/// executed in the chain. If "yes" is specified then when a vital
@@ -3501,7 +3501,7 @@ namespace WixToolset.Harvesters.Serialize
3501
this.disableRollbackField = value;
3502
}
3503
}
3504
-
3504
+
3505
/// <summary>
3506
/// Specifies whether the bundle will attempt to create a system
3507
/// restore point when executing the chain. If "yes" is specified then
@@ -3522,7 +3522,7 @@ namespace WixToolset.Harvesters.Serialize
3522
this.disableSystemRestoreField = value;
3523
}
3524
}
3525
-
3525
+
3526
/// <summary>
3527
/// Specifies whether the bundle will start installing packages
3528
/// while other packages are still being cached. If "yes",
@@ -3542,7 +3542,7 @@ namespace WixToolset.Harvesters.Serialize
3542
this.parallelCacheField = value;
3543
}
3544
}
3545
-
3545
+
3546
public virtual ISchemaElement ParentElement
3547
{
3548
get
@@ -3554,7 +3554,7 @@ namespace WixToolset.Harvesters.Serialize
3554
this.parentElement = value;
3555
}
3556
}
3557
-
3557
+
3558
public virtual void AddChild(ISchemaElement child)
3559
{
3560
if ((null == child))
@@ -3564,7 +3564,7 @@ namespace WixToolset.Harvesters.Serialize
3564
this.children.AddElement(child);
3565
child.ParentElement = this;
3566
}
3567
-
3567
+
3568
public virtual void RemoveChild(ISchemaElement child)
3569
{
3570
if ((null == child))
@@ -3574,7 +3574,7 @@ namespace WixToolset.Harvesters.Serialize
3574
this.children.RemoveElement(child);
3575
child.ParentElement = null;
3576
}
3577
-
3577
+
3578
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3579
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
3580
ISchemaElement ICreateChildren.CreateChild(string childName)
@@ -3614,7 +3614,7 @@ namespace WixToolset.Harvesters.Serialize
3614
}
3615
return childValue;
3616
}
3617
-
3617
+
3618
/// <summary>
3619
/// Processes this element and all child elements into an XmlWriter.
3620
/// </summary>
@@ -3658,14 +3658,14 @@ namespace WixToolset.Harvesters.Serialize
3658
writer.WriteAttributeString("ParallelCache", "yes");
3659
}
3660
}
3661
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
3661
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
3662
{
3663
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
3664
childElement.OutputXml(writer);
3665
}
3666
writer.WriteEndElement();
3667
}
3668
-
3668
+
3669
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
3670
void ISetAttributes.SetAttribute(string name, string value)
3671
{
@@ -3690,102 +3690,102 @@ namespace WixToolset.Harvesters.Serialize
3690
}
3691
}
3692
}
3693
-
3693
+
3694
/// <summary>
3695
/// Describes a single msi package to install.
3696
/// </summary>
3697
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
3698
public class MsiPackage : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
3699
{
3700
-
3700
+
3701
private ElementCollection children;
3702
-
3702
+
3703
private string sourceFileField;
3704
-
3704
+
3705
private bool sourceFileFieldSet;
3706
-
3706
+
3707
private string nameField;
3708
-
3708
+
3709
private bool nameFieldSet;
3710
-
3710
+
3711
private string downloadUrlField;
3712
-
3712
+
3713
private bool downloadUrlFieldSet;
3714
-
3714
+
3715
private string idField;
3716
-
3716
+
3717
private bool idFieldSet;
3718
-
3718
+
3719
private string afterField;
3720
-
3720
+
3721
private bool afterFieldSet;
3722
-
3722
+
3723
private string installSizeField;
3724
-
3724
+
3725
private bool installSizeFieldSet;
3726
-
3726
+
3727
private string installConditionField;
3728
-
3728
+
3729
private bool installConditionFieldSet;
3730
-
3730
+
3731
private BundleCacheType cacheField;
3732
-
3732
+
3733
private bool cacheFieldSet;
3734
-
3734
+
3735
private string cacheIdField;
3736
-
3736
+
3737
private bool cacheIdFieldSet;
3738
-
3738
+
3739
private string displayNameField;
3740
-
3740
+
3741
private bool displayNameFieldSet;
3742
-
3742
+
3743
private string descriptionField;
3744
-
3744
+
3745
private bool descriptionFieldSet;
3746
-
3746
+
3747
private string logPathVariableField;
3748
-
3748
+
3749
private bool logPathVariableFieldSet;
3750
-
3750
+
3751
private string rollbackLogPathVariableField;
3752
-
3752
+
3753
private bool rollbackLogPathVariableFieldSet;
3754
-
3754
+
3755
private YesNoType permanentField;
3756
-
3756
+
3757
private bool permanentFieldSet;
3758
-
3758
+
3759
private YesNoType vitalField;
3760
-
3760
+
3761
private bool vitalFieldSet;
3762
-
3762
+
3763
private YesNoDefaultType compressedField;
3764
-
3764
+
3765
private bool compressedFieldSet;
3766
-
3766
+
3767
private YesNoType enableSignatureVerificationField;
3768
-
3768
+
3769
private bool enableSignatureVerificationFieldSet;
3770
-
3770
+
3771
private YesNoType enableFeatureSelectionField;
3772
-
3772
+
3773
private bool enableFeatureSelectionFieldSet;
3774
-
3774
+
3775
private YesNoType forcePerMachineField;
3776
-
3776
+
3777
private bool forcePerMachineFieldSet;
3778
-
3778
+
3779
private YesNoType suppressLooseFilePayloadGenerationField;
3780
-
3780
+
3781
private bool suppressLooseFilePayloadGenerationFieldSet;
3782
-
3782
+
3783
private YesNoType visibleField;
3784
-
3784
+
3785
private bool visibleFieldSet;
3786
-
3786
+
3787
private ISchemaElement parentElement;
3788
-
3788
+
3789
public MsiPackage()
3790
{
3791
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -3796,7 +3796,7 @@ namespace WixToolset.Harvesters.Serialize
3796
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement)));
3797
this.children = childCollection0;
3798
}
3799
-
3799
+
3800
public virtual IEnumerable Children
3801
{
3802
get
@@ -3804,7 +3804,7 @@ namespace WixToolset.Harvesters.Serialize
3804
return this.children;
3805
}
3806
}
3807
-
3807
+
3808
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
3809
public virtual IEnumerable this[System.Type childType]
3810
{
@@ -3813,7 +3813,7 @@ namespace WixToolset.Harvesters.Serialize
3813
return this.children.Filter(childType);
3814
}
3815
}
3816
-
3816
+
3817
/// <summary>
3818
/// Location of the package to add to the bundle. The default value is the Name attribute, if provided.
3819
/// At a minimum, the SourceFile or Name attribute must be specified.
@@ -3830,7 +3830,7 @@ namespace WixToolset.Harvesters.Serialize
3830
this.sourceFileField = value;
3831
}
3832
}
3833
-
3833
+
3834
/// <summary>
3835
/// The destination path and file name for this chain payload. Use this attribute to rename the
3836
/// chain entry point or extract it into a subfolder. The default value is the file name from the
@@ -3849,7 +3849,7 @@ namespace WixToolset.Harvesters.Serialize
3849
this.nameField = value;
3850
}
3851
}
3852
-
3852
+
3853
public string DownloadUrl
3854
{
3855
get
@@ -3862,7 +3862,7 @@ namespace WixToolset.Harvesters.Serialize
3862
this.downloadUrlField = value;
3863
}
3864
}
3865
-
3865
+
3866
/// <summary>
3867
/// Identifier for this package, for ordering and cross-referencing. The default is the Name attribute
3868
/// modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores).
@@ -3879,7 +3879,7 @@ namespace WixToolset.Harvesters.Serialize
3879
this.idField = value;
3880
}
3881
}
3882
-
3882
+
3883
/// <summary>
3884
/// The identifier of another package that this one should be installed after. By default the After
3885
/// attribute is set to the previous sibling package in the Chain or PackageGroup element. If this
@@ -3897,7 +3897,7 @@ namespace WixToolset.Harvesters.Serialize
3897
this.afterField = value;
3898
}
3899
}
3900
-
3900
+
3901
/// <summary>
3902
/// The size this package will take on disk in bytes after it is installed. By default, the binder will
3903
/// calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs)
@@ -3915,7 +3915,7 @@ namespace WixToolset.Harvesters.Serialize
3915
this.installSizeField = value;
3916
}
3917
}
3918
-
3918
+
3919
/// <summary>
3920
/// A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled.
3921
/// </summary>
@@ -3931,7 +3931,7 @@ namespace WixToolset.Harvesters.Serialize
3931
this.installConditionField = value;
3932
}
3933
}
3934
-
3934
+
3935
/// <summary>
3936
/// Whether to cache the package. The default is "yes".
3937
/// </summary>
@@ -3947,7 +3947,7 @@ namespace WixToolset.Harvesters.Serialize
3947
this.cacheField = value;
3948
}
3949
}
3950
-
3950
+
3951
/// <summary>
3952
/// The identifier to use when caching the package.
3953
/// </summary>
@@ -3963,7 +3963,7 @@ namespace WixToolset.Harvesters.Serialize
3963
this.cacheIdField = value;
3964
}
3965
}
3966
-
3966
+
3967
/// <summary>
3968
/// Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages
3969
/// use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use
@@ -3982,7 +3982,7 @@ namespace WixToolset.Harvesters.Serialize
3982
this.displayNameField = value;
3983
}
3984
}
3985
-
3985
+
3986
/// <summary>
3987
/// Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages
3988
/// use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use
@@ -4001,7 +4001,7 @@ namespace WixToolset.Harvesters.Serialize
4001
this.descriptionField = value;
4002
}
4003
}
4004
-
4004
+
4005
/// <summary>
4006
/// Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not
4007
/// be set. The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging.
@@ -4018,7 +4018,7 @@ namespace WixToolset.Harvesters.Serialize
4018
this.logPathVariableField = value;
4019
}
4020
}
4021
-
4021
+
4022
/// <summary>
4023
/// Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause
4024
/// the variable to not be set. The default is "WixBundleRollbackLog_[PackageId]" except for MSU packages which
@@ -4036,7 +4036,7 @@ namespace WixToolset.Harvesters.Serialize
4036
this.rollbackLogPathVariableField = value;
4037
}
4038
}
4039
-
4039
+
4040
/// <summary>
4041
/// Specifies whether the package can be uninstalled. The default is "no".
4042
/// </summary>
@@ -4052,7 +4052,7 @@ namespace WixToolset.Harvesters.Serialize
4052
this.permanentField = value;
4053
}
4054
}
4055
-
4055
+
4056
/// <summary>
4057
/// Specifies whether the package must succeed for the chain to continue. The default "yes"
4058
/// indicates that if the package fails then the chain will fail and rollback or stop. If
@@ -4070,7 +4070,7 @@ namespace WixToolset.Harvesters.Serialize
4070
this.vitalField = value;
4071
}
4072
}
4073
-
4073
+
4074
/// <summary>
4075
/// Whether the package payload should be embedded in a container or left as an external payload.
4076
/// </summary>
@@ -4086,7 +4086,7 @@ namespace WixToolset.Harvesters.Serialize
4086
this.compressedField = value;
4087
}
4088
}
4089
-
4089
+
4090
/// <summary>
4091
/// By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes"
4092
/// and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the
@@ -4105,7 +4105,7 @@ namespace WixToolset.Harvesters.Serialize
4105
this.enableSignatureVerificationField = value;
4106
}
4107
}
4108
-
4108
+
4109
/// <summary>
4110
/// Specifies whether the bundle will allow individual control over the installation state of Features inside
4111
/// the msi package. Managing feature selection requires special care to ensure the install, modify, update and
@@ -4123,7 +4123,7 @@ namespace WixToolset.Harvesters.Serialize
4123
this.enableFeatureSelectionField = value;
4124
}
4125
}
4126
-
4126
+
4127
/// <summary>
4128
/// Override the automatic per-machine detection of MSI packages and force the package to be per-machine.
4129
/// The default is "no", which allows the tools to detect the expected value.
@@ -4140,7 +4140,7 @@ namespace WixToolset.Harvesters.Serialize
4140
this.forcePerMachineField = value;
4141
}
4142
}
4143
-
4143
+
4144
/// <summary>
4145
/// This attribute has been deprecated. When the value is "yes", the Binder will not read the MSI package
4146
/// to detect uncompressed files that would otherwise be automatically included in the Bundle as Payloads.
@@ -4158,7 +4158,7 @@ namespace WixToolset.Harvesters.Serialize
4158
this.suppressLooseFilePayloadGenerationField = value;
4159
}
4160
}
4161
-
4161
+
4162
/// <summary>
4163
/// Specifies whether the MSI will be displayed in Programs and Features (also known as Add/Remove Programs). If "yes" is
4164
/// specified the MSI package information will be displayed in Programs and Features. The default "no" indicates the MSI
@@ -4176,7 +4176,7 @@ namespace WixToolset.Harvesters.Serialize
4176
this.visibleField = value;
4177
}
4178
}
4179
-
4179
+
4180
public virtual ISchemaElement ParentElement
4181
{
4182
get
@@ -4188,7 +4188,7 @@ namespace WixToolset.Harvesters.Serialize
4188
this.parentElement = value;
4189
}
4190
}
4191
-
4191
+
4192
public virtual void AddChild(ISchemaElement child)
4193
{
4194
if ((null == child))
@@ -4198,7 +4198,7 @@ namespace WixToolset.Harvesters.Serialize
4198
this.children.AddElement(child);
4199
child.ParentElement = this;
4200
}
4201
-
4201
+
4202
public virtual void RemoveChild(ISchemaElement child)
4203
{
4204
if ((null == child))
@@ -4208,7 +4208,7 @@ namespace WixToolset.Harvesters.Serialize
4208
this.children.RemoveElement(child);
4209
child.ParentElement = null;
4210
}
4211
-
4211
+
4212
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
4213
ISchemaElement ICreateChildren.CreateChild(string childName)
4214
{
@@ -4239,7 +4239,7 @@ namespace WixToolset.Harvesters.Serialize
4239
}
4240
return childValue;
4241
}
4242
-
4242
+
4243
/// <summary>
4244
/// Processes this element and all child elements into an XmlWriter.
4245
/// </summary>
@@ -4406,14 +4406,14 @@ namespace WixToolset.Harvesters.Serialize
4406
writer.WriteAttributeString("Visible", "yes");
4407
}
4408
}
4409
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
4409
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
4410
{
4411
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
4412
childElement.OutputXml(writer);
4413
}
4414
writer.WriteEndElement();
4415
}
4416
-
4416
+
4417
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
4418
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
4419
void ISetAttributes.SetAttribute(string name, string value)
@@ -4529,94 +4529,94 @@ namespace WixToolset.Harvesters.Serialize
4529
}
4530
}
4531
}
4532
-
4532
+
4533
/// <summary>
4534
/// Describes a single msp package to install.
4535
/// </summary>
4536
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
4537
public class MspPackage : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
4538
{
4539
-
4539
+
4540
private ElementCollection children;
4541
-
4541
+
4542
private string sourceFileField;
4543
-
4543
+
4544
private bool sourceFileFieldSet;
4545
-
4545
+
4546
private string nameField;
4547
-
4547
+
4548
private bool nameFieldSet;
4549
-
4549
+
4550
private string downloadUrlField;
4551
-
4551
+
4552
private bool downloadUrlFieldSet;
4553
-
4553
+
4554
private string idField;
4555
-
4555
+
4556
private bool idFieldSet;
4557
-
4557
+
4558
private string afterField;
4559
-
4559
+
4560
private bool afterFieldSet;
4561
-
4561
+
4562
private string installSizeField;
4563
-
4563
+
4564
private bool installSizeFieldSet;
4565
-
4565
+
4566
private string installConditionField;
4567
-
4567
+
4568
private bool installConditionFieldSet;
4569
-
4569
+
4570
private BundleCacheType cacheField;
4571
-
4571
+
4572
private bool cacheFieldSet;
4573
-
4573
+
4574
private string cacheIdField;
4575
-
4575
+
4576
private bool cacheIdFieldSet;
4577
-
4577
+
4578
private string displayNameField;
4579
-
4579
+
4580
private bool displayNameFieldSet;
4581
-
4581
+
4582
private string descriptionField;
4583
-
4583
+
4584
private bool descriptionFieldSet;
4585
-
4585
+
4586
private string logPathVariableField;
4587
-
4587
+
4588
private bool logPathVariableFieldSet;
4589
-
4589
+
4590
private string rollbackLogPathVariableField;
4591
-
4591
+
4592
private bool rollbackLogPathVariableFieldSet;
4593
-
4593
+
4594
private YesNoType permanentField;
4595
-
4595
+
4596
private bool permanentFieldSet;
4597
-
4597
+
4598
private YesNoType vitalField;
4599
-
4599
+
4600
private bool vitalFieldSet;
4601
-
4601
+
4602
private YesNoDefaultType compressedField;
4603
-
4603
+
4604
private bool compressedFieldSet;
4605
-
4605
+
4606
private YesNoType enableSignatureVerificationField;
4607
-
4607
+
4608
private bool enableSignatureVerificationFieldSet;
4609
-
4609
+
4610
private YesNoDefaultType perMachineField;
4611
-
4611
+
4612
private bool perMachineFieldSet;
4613
-
4613
+
4614
private YesNoType slipstreamField;
4615
-
4615
+
4616
private bool slipstreamFieldSet;
4617
-
4617
+
4618
private ISchemaElement parentElement;
4619
-
4619
+
4620
public MspPackage()
4621
{
4622
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -4626,7 +4626,7 @@ namespace WixToolset.Harvesters.Serialize
4626
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement)));
4627
this.children = childCollection0;
4628
}
4629
-
4629
+
4630
public virtual IEnumerable Children
4631
{
4632
get
@@ -4634,7 +4634,7 @@ namespace WixToolset.Harvesters.Serialize
4634
return this.children;
4635
}
4636
}
4637
-
4637
+
4638
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
4639
public virtual IEnumerable this[System.Type childType]
4640
{
@@ -4643,7 +4643,7 @@ namespace WixToolset.Harvesters.Serialize
4643
return this.children.Filter(childType);
4644
}
4645
}
4646
-
4646
+
4647
/// <summary>
4648
/// Location of the package to add to the bundle. The default value is the Name attribute, if provided.
4649
/// At a minimum, the SourceFile or Name attribute must be specified.
@@ -4660,7 +4660,7 @@ namespace WixToolset.Harvesters.Serialize
4660
this.sourceFileField = value;
4661
}
4662
}
4663
-
4663
+
4664
/// <summary>
4665
/// The destination path and file name for this chain payload. Use this attribute to rename the
4666
/// chain entry point or extract it into a subfolder. The default value is the file name from the
@@ -4679,7 +4679,7 @@ namespace WixToolset.Harvesters.Serialize
4679
this.nameField = value;
4680
}
4681
}
4682
-
4682
+
4683
public string DownloadUrl
4684
{
4685
get
@@ -4692,7 +4692,7 @@ namespace WixToolset.Harvesters.Serialize
4692
this.downloadUrlField = value;
4693
}
4694
}
4695
-
4695
+
4696
/// <summary>
4697
/// Identifier for this package, for ordering and cross-referencing. The default is the Name attribute
4698
/// modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores).
@@ -4709,7 +4709,7 @@ namespace WixToolset.Harvesters.Serialize
4709
this.idField = value;
4710
}
4711
}
4712
-
4712
+
4713
/// <summary>
4714
/// The identifier of another package that this one should be installed after. By default the After
4715
/// attribute is set to the previous sibling package in the Chain or PackageGroup element. If this
@@ -4727,7 +4727,7 @@ namespace WixToolset.Harvesters.Serialize
4727
this.afterField = value;
4728
}
4729
}
4730
-
4730
+
4731
/// <summary>
4732
/// The size this package will take on disk in bytes after it is installed. By default, the binder will
4733
/// calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs)
@@ -4745,7 +4745,7 @@ namespace WixToolset.Harvesters.Serialize
4745
this.installSizeField = value;
4746
}
4747
}
4748
-
4748
+
4749
/// <summary>
4750
/// A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled.
4751
/// </summary>
@@ -4761,7 +4761,7 @@ namespace WixToolset.Harvesters.Serialize
4761
this.installConditionField = value;
4762
}
4763
}
4764
-
4764
+
4765
/// <summary>
4766
/// Whether to cache the package. The default is "keep".
4767
/// </summary>
@@ -4777,7 +4777,7 @@ namespace WixToolset.Harvesters.Serialize
4777
this.cacheField = value;
4778
}
4779
}
4780
-
4780
+
4781
/// <summary>
4782
/// The identifier to use when caching the package.
4783
/// </summary>
@@ -4793,7 +4793,7 @@ namespace WixToolset.Harvesters.Serialize
4793
this.cacheIdField = value;
4794
}
4795
}
4796
-
4796
+
4797
/// <summary>
4798
/// Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages
4799
/// use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use
@@ -4812,7 +4812,7 @@ namespace WixToolset.Harvesters.Serialize
4812
this.displayNameField = value;
4813
}
4814
}
4815
-
4815
+
4816
/// <summary>
4817
/// Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages
4818
/// use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use
@@ -4831,7 +4831,7 @@ namespace WixToolset.Harvesters.Serialize
4831
this.descriptionField = value;
4832
}
4833
}
4834
-
4834
+
4835
/// <summary>
4836
/// Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not
4837
/// be set. The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging.
@@ -4848,7 +4848,7 @@ namespace WixToolset.Harvesters.Serialize
4848
this.logPathVariableField = value;
4849
}
4850
}
4851
-
4851
+
4852
/// <summary>
4853
/// Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause
4854
/// the variable to not be set. The default is "WixBundleRollbackLog_[PackageId]" except for MSU packages which
@@ -4866,7 +4866,7 @@ namespace WixToolset.Harvesters.Serialize
4866
this.rollbackLogPathVariableField = value;
4867
}
4868
}
4869
-
4869
+
4870
/// <summary>
4871
/// Specifies whether the package can be uninstalled. The default is "no".
4872
/// </summary>
@@ -4882,7 +4882,7 @@ namespace WixToolset.Harvesters.Serialize
4882
this.permanentField = value;
4883
}
4884
}
4885
-
4885
+
4886
/// <summary>
4887
/// Specifies whether the package must succeed for the chain to continue. The default "yes"
4888
/// indicates that if the package fails then the chain will fail and rollback or stop. If
@@ -4900,7 +4900,7 @@ namespace WixToolset.Harvesters.Serialize
4900
this.vitalField = value;
4901
}
4902
}
4903
-
4903
+
4904
/// <summary>
4905
/// Whether the package payload should be embedded in a container or left as an external payload.
4906
/// </summary>
@@ -4916,7 +4916,7 @@ namespace WixToolset.Harvesters.Serialize
4916
this.compressedField = value;
4917
}
4918
}
4919
-
4919
+
4920
/// <summary>
4921
/// By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes"
4922
/// and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the
@@ -4935,7 +4935,7 @@ namespace WixToolset.Harvesters.Serialize
4935
this.enableSignatureVerificationField = value;
4936
}
4937
}
4938
-
4938
+
4939
/// <summary>
4940
/// Indicates the package must be executed elevated. The default is "no".
4941
/// </summary>
@@ -4951,7 +4951,7 @@ namespace WixToolset.Harvesters.Serialize
4951
this.perMachineField = value;
4952
}
4953
}
4954
-
4954
+
4955
/// <summary>
4956
/// Specifies whether to automatically slipstream the patch for any target msi packages in the chain. The default is "no".
4957
/// Even when the value is "no", you can still author the SlipstreamMsp element under MsiPackage elements as desired.
@@ -4968,7 +4968,7 @@ namespace WixToolset.Harvesters.Serialize
4968
this.slipstreamField = value;
4969
}
4970
}
4971
-
4971
+
4972
public virtual ISchemaElement ParentElement
4973
{
4974
get
@@ -4980,7 +4980,7 @@ namespace WixToolset.Harvesters.Serialize
4980
this.parentElement = value;
4981
}
4982
}
4983
-
4983
+
4984
public virtual void AddChild(ISchemaElement child)
4985
{
4986
if ((null == child))
@@ -4990,7 +4990,7 @@ namespace WixToolset.Harvesters.Serialize
4990
this.children.AddElement(child);
4991
child.ParentElement = this;
4992
}
4993
-
4993
+
4994
public virtual void RemoveChild(ISchemaElement child)
4995
{
4996
if ((null == child))
@@ -5000,7 +5000,7 @@ namespace WixToolset.Harvesters.Serialize
5000
this.children.RemoveElement(child);
5001
child.ParentElement = null;
5002
}
5003
-
5003
+
5004
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
5005
ISchemaElement ICreateChildren.CreateChild(string childName)
5006
{
@@ -5027,7 +5027,7 @@ namespace WixToolset.Harvesters.Serialize
5027
}
5028
return childValue;
5029
}
5030
-
5030
+
5031
/// <summary>
5032
/// Processes this element and all child elements into an XmlWriter.
5033
/// </summary>
@@ -5176,14 +5176,14 @@ namespace WixToolset.Harvesters.Serialize
5176
writer.WriteAttributeString("Slipstream", "yes");
5177
}
5178
}
5179
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
5179
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
5180
{
5181
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
5182
childElement.OutputXml(writer);
5183
}
5184
writer.WriteEndElement();
5185
}
5186
-
5186
+
5187
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
5188
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
5189
void ISetAttributes.SetAttribute(string name, string value)
@@ -5289,94 +5289,94 @@ namespace WixToolset.Harvesters.Serialize
5289
}
5290
}
5291
}
5292
-
5292
+
5293
/// <summary>
5294
/// Describes a single msu package to install.
5295
/// </summary>
5296
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
5297
public class MsuPackage : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
5298
{
5299
-
5299
+
5300
private ElementCollection children;
5301
-
5301
+
5302
private string sourceFileField;
5303
-
5303
+
5304
private bool sourceFileFieldSet;
5305
-
5305
+
5306
private string nameField;
5307
-
5307
+
5308
private bool nameFieldSet;
5309
-
5309
+
5310
private string downloadUrlField;
5311
-
5311
+
5312
private bool downloadUrlFieldSet;
5313
-
5313
+
5314
private string idField;
5315
-
5315
+
5316
private bool idFieldSet;
5317
-
5317
+
5318
private string afterField;
5319
-
5319
+
5320
private bool afterFieldSet;
5321
-
5321
+
5322
private string installSizeField;
5323
-
5323
+
5324
private bool installSizeFieldSet;
5325
-
5325
+
5326
private string installConditionField;
5327
-
5327
+
5328
private bool installConditionFieldSet;
5329
-
5329
+
5330
private BundleCacheType cacheField;
5331
-
5331
+
5332
private bool cacheFieldSet;
5333
-
5333
+
5334
private string cacheIdField;
5335
-
5335
+
5336
private bool cacheIdFieldSet;
5337
-
5337
+
5338
private string displayNameField;
5339
-
5339
+
5340
private bool displayNameFieldSet;
5341
-
5341
+
5342
private string descriptionField;
5343
-
5343
+
5344
private bool descriptionFieldSet;
5345
-
5345
+
5346
private string logPathVariableField;
5347
-
5347
+
5348
private bool logPathVariableFieldSet;
5349
-
5349
+
5350
private string rollbackLogPathVariableField;
5351
-
5351
+
5352
private bool rollbackLogPathVariableFieldSet;
5353
-
5353
+
5354
private YesNoType permanentField;
5355
-
5355
+
5356
private bool permanentFieldSet;
5357
-
5357
+
5358
private YesNoType vitalField;
5359
-
5359
+
5360
private bool vitalFieldSet;
5361
-
5361
+
5362
private YesNoDefaultType compressedField;
5363
-
5363
+
5364
private bool compressedFieldSet;
5365
-
5365
+
5366
private YesNoType enableSignatureVerificationField;
5367
-
5367
+
5368
private bool enableSignatureVerificationFieldSet;
5369
-
5369
+
5370
private string detectConditionField;
5371
-
5371
+
5372
private bool detectConditionFieldSet;
5373
-
5373
+
5374
private string kBField;
5375
-
5375
+
5376
private bool kBFieldSet;
5377
-
5377
+
5378
private ISchemaElement parentElement;
5379
-
5379
+
5380
public MsuPackage()
5381
{
5382
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -5386,7 +5386,7 @@ namespace WixToolset.Harvesters.Serialize
5386
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement)));
5387
this.children = childCollection0;
5388
}
5389
-
5389
+
5390
public virtual IEnumerable Children
5391
{
5392
get
@@ -5394,7 +5394,7 @@ namespace WixToolset.Harvesters.Serialize
5394
return this.children;
5395
}
5396
}
5397
-
5397
+
5398
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
5399
public virtual IEnumerable this[System.Type childType]
5400
{
@@ -5403,7 +5403,7 @@ namespace WixToolset.Harvesters.Serialize
5403
return this.children.Filter(childType);
5404
}
5405
}
5406
-
5406
+
5407
/// <summary>
5408
/// Location of the package to add to the bundle. The default value is the Name attribute, if provided.
5409
/// At a minimum, the SourceFile or Name attribute must be specified.
@@ -5420,7 +5420,7 @@ namespace WixToolset.Harvesters.Serialize
5420
this.sourceFileField = value;
5421
}
5422
}
5423
-
5423
+
5424
/// <summary>
5425
/// The destination path and file name for this chain payload. Use this attribute to rename the
5426
/// chain entry point or extract it into a subfolder. The default value is the file name from the
@@ -5439,7 +5439,7 @@ namespace WixToolset.Harvesters.Serialize
5439
this.nameField = value;
5440
}
5441
}
5442
-
5442
+
5443
public string DownloadUrl
5444
{
5445
get
@@ -5452,7 +5452,7 @@ namespace WixToolset.Harvesters.Serialize
5452
this.downloadUrlField = value;
5453
}
5454
}
5455
-
5455
+
5456
/// <summary>
5457
/// Identifier for this package, for ordering and cross-referencing. The default is the Name attribute
5458
/// modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores).
@@ -5469,7 +5469,7 @@ namespace WixToolset.Harvesters.Serialize
5469
this.idField = value;
5470
}
5471
}
5472
-
5472
+
5473
/// <summary>
5474
/// The identifier of another package that this one should be installed after. By default the After
5475
/// attribute is set to the previous sibling package in the Chain or PackageGroup element. If this
@@ -5487,7 +5487,7 @@ namespace WixToolset.Harvesters.Serialize
5487
this.afterField = value;
5488
}
5489
}
5490
-
5490
+
5491
/// <summary>
5492
/// The size this package will take on disk in bytes after it is installed. By default, the binder will
5493
/// calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs)
@@ -5505,7 +5505,7 @@ namespace WixToolset.Harvesters.Serialize
5505
this.installSizeField = value;
5506
}
5507
}
5508
-
5508
+
5509
/// <summary>
5510
/// A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled.
5511
/// </summary>
@@ -5521,7 +5521,7 @@ namespace WixToolset.Harvesters.Serialize
5521
this.installConditionField = value;
5522
}
5523
}
5524
-
5524
+
5525
/// <summary>
5526
/// Whether to cache the package. The default is "yes".
5527
/// </summary>
@@ -5537,7 +5537,7 @@ namespace WixToolset.Harvesters.Serialize
5537
this.cacheField = value;
5538
}
5539
}
5540
-
5540
+
5541
/// <summary>
5542
/// The identifier to use when caching the package.
5543
/// </summary>
@@ -5553,7 +5553,7 @@ namespace WixToolset.Harvesters.Serialize
5553
this.cacheIdField = value;
5554
}
5555
}
5556
-
5556
+
5557
/// <summary>
5558
/// Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages
5559
/// use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use
@@ -5572,7 +5572,7 @@ namespace WixToolset.Harvesters.Serialize
5572
this.displayNameField = value;
5573
}
5574
}
5575
-
5575
+
5576
/// <summary>
5577
/// Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages
5578
/// use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use
@@ -5591,7 +5591,7 @@ namespace WixToolset.Harvesters.Serialize
5591
this.descriptionField = value;
5592
}
5593
}
5594
-
5594
+
5595
/// <summary>
5596
/// Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not
5597
/// be set. The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging.
@@ -5608,7 +5608,7 @@ namespace WixToolset.Harvesters.Serialize
5608
this.logPathVariableField = value;
5609
}
5610
}
5611
-
5611
+
5612
/// <summary>
5613
/// Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause
5614
/// the variable to not be set. The default is "WixBundleRollbackLog_[PackageId]" except for MSU packages which
@@ -5626,7 +5626,7 @@ namespace WixToolset.Harvesters.Serialize
5626
this.rollbackLogPathVariableField = value;
5627
}
5628
}
5629
-
5629
+
5630
/// <summary>
5631
/// Specifies whether the package can be uninstalled. The default is "no".
5632
/// </summary>
@@ -5642,7 +5642,7 @@ namespace WixToolset.Harvesters.Serialize
5642
this.permanentField = value;
5643
}
5644
}
5645
-
5645
+
5646
/// <summary>
5647
/// Specifies whether the package must succeed for the chain to continue. The default "yes"
5648
/// indicates that if the package fails then the chain will fail and rollback or stop. If
@@ -5660,7 +5660,7 @@ namespace WixToolset.Harvesters.Serialize
5660
this.vitalField = value;
5661
}
5662
}
5663
-
5663
+
5664
/// <summary>
5665
/// Whether the package payload should be embedded in a container or left as an external payload.
5666
/// </summary>
@@ -5676,7 +5676,7 @@ namespace WixToolset.Harvesters.Serialize
5676
this.compressedField = value;
5677
}
5678
}
5679
-
5679
+
5680
/// <summary>
5681
/// By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes"
5682
/// and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the
@@ -5695,7 +5695,7 @@ namespace WixToolset.Harvesters.Serialize
5695
this.enableSignatureVerificationField = value;
5696
}
5697
}
5698
-
5698
+
5699
/// <summary>
5700
/// A condition that determines if the package is present on the target system. This condition can use built-in
5701
/// variables and variables returned by searches. This condition is necessary because Windows doesn't provide a
@@ -5715,7 +5715,7 @@ namespace WixToolset.Harvesters.Serialize
5715
this.detectConditionField = value;
5716
}
5717
}
5718
-
5718
+
5719
/// <summary>
5720
/// The knowledge base identifier for the MSU. The KB attribute must be specified to enable the MSU package to
5721
/// be uninstalled. Even then MSU uninstallation is only supported on Windows 7 and later. When the KB attribute
@@ -5733,7 +5733,7 @@ namespace WixToolset.Harvesters.Serialize
5733
this.kBField = value;
5734
}
5735
}
5736
-
5736
+
5737
public virtual ISchemaElement ParentElement
5738
{
5739
get
@@ -5745,7 +5745,7 @@ namespace WixToolset.Harvesters.Serialize
5745
this.parentElement = value;
5746
}
5747
}
5748
-
5748
+
5749
public virtual void AddChild(ISchemaElement child)
5750
{
5751
if ((null == child))
@@ -5755,7 +5755,7 @@ namespace WixToolset.Harvesters.Serialize
5755
this.children.AddElement(child);
5756
child.ParentElement = this;
5757
}
5758
-
5758
+
5759
public virtual void RemoveChild(ISchemaElement child)
5760
{
5761
if ((null == child))
@@ -5765,7 +5765,7 @@ namespace WixToolset.Harvesters.Serialize
5765
this.children.RemoveElement(child);
5766
child.ParentElement = null;
5767
}
5768
-
5768
+
5769
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
5770
ISchemaElement ICreateChildren.CreateChild(string childName)
5771
{
@@ -5792,7 +5792,7 @@ namespace WixToolset.Harvesters.Serialize
5792
}
5793
return childValue;
5794
}
5795
-
5795
+
5796
/// <summary>
5797
/// Processes this element and all child elements into an XmlWriter.
5798
/// </summary>
@@ -5923,14 +5923,14 @@ namespace WixToolset.Harvesters.Serialize
5923
{
5924
writer.WriteAttributeString("KB", this.kBField);
5925
}
5926
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
5926
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
5927
{
5928
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
5929
childElement.OutputXml(writer);
5930
}
5931
writer.WriteEndElement();
5932
}
5933
-
5933
+
5934
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
5935
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
5936
void ISetAttributes.SetAttribute(string name, string value)
@@ -6036,110 +6036,110 @@ namespace WixToolset.Harvesters.Serialize
6036
}
6037
}
6038
}
6039
-
6039
+
6040
/// <summary>
6041
/// Describes a single exe package to install.
6042
/// </summary>
6043
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
6044
public class ExePackage : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
6045
{
6046
-
6046
+
6047
private ElementCollection children;
6048
-
6048
+
6049
private string sourceFileField;
6050
-
6050
+
6051
private bool sourceFileFieldSet;
6052
-
6052
+
6053
private string nameField;
6054
-
6054
+
6055
private bool nameFieldSet;
6056
-
6056
+
6057
private string downloadUrlField;
6058
-
6058
+
6059
private bool downloadUrlFieldSet;
6060
-
6060
+
6061
private string idField;
6062
-
6062
+
6063
private bool idFieldSet;
6064
-
6064
+
6065
private string afterField;
6066
-
6066
+
6067
private bool afterFieldSet;
6068
-
6068
+
6069
private string installSizeField;
6070
-
6070
+
6071
private bool installSizeFieldSet;
6072
-
6072
+
6073
private string installConditionField;
6074
-
6074
+
6075
private bool installConditionFieldSet;
6076
-
6076
+
6077
private BundleCacheType cacheField;
6078
-
6078
+
6079
private bool cacheFieldSet;
6080
-
6080
+
6081
private string cacheIdField;
6082
-
6082
+
6083
private bool cacheIdFieldSet;
6084
-
6084
+
6085
private string displayNameField;
6086
-
6086
+
6087
private bool displayNameFieldSet;
6088
-
6088
+
6089
private string descriptionField;
6090
-
6090
+
6091
private bool descriptionFieldSet;
6092
-
6092
+
6093
private string logPathVariableField;
6094
-
6094
+
6095
private bool logPathVariableFieldSet;
6096
-
6096
+
6097
private string rollbackLogPathVariableField;
6098
-
6098
+
6099
private bool rollbackLogPathVariableFieldSet;
6100
-
6100
+
6101
private YesNoType permanentField;
6102
-
6102
+
6103
private bool permanentFieldSet;
6104
-
6104
+
6105
private YesNoType vitalField;
6106
-
6106
+
6107
private bool vitalFieldSet;
6108
-
6108
+
6109
private YesNoDefaultType compressedField;
6110
-
6110
+
6111
private bool compressedFieldSet;
6112
-
6112
+
6113
private YesNoType enableSignatureVerificationField;
6114
-
6114
+
6115
private bool enableSignatureVerificationFieldSet;
6116
-
6116
+
6117
private string detectConditionField;
6118
-
6118
+
6119
private bool detectConditionFieldSet;
6120
-
6120
+
6121
private string installCommandField;
6122
-
6122
+
6123
private bool installCommandFieldSet;
6124
-
6124
+
6125
private string repairCommandField;
6126
-
6126
+
6127
private bool repairCommandFieldSet;
6128
-
6128
+
6129
private string uninstallCommandField;
6130
-
6130
+
6131
private bool uninstallCommandFieldSet;
6132
-
6132
+
6133
private YesNoDefaultType perMachineField;
6134
-
6134
+
6135
private bool perMachineFieldSet;
6136
-
6136
+
6137
private BurnExeProtocolType protocolField;
6138
-
6138
+
6139
private bool protocolFieldSet;
6140
-
6140
+
6141
private ISchemaElement parentElement;
6142
-
6142
+
6143
public ExePackage()
6144
{
6145
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -6151,7 +6151,7 @@ namespace WixToolset.Harvesters.Serialize
6151
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement)));
6152
this.children = childCollection0;
6153
}
6154
-
6154
+
6155
public virtual IEnumerable Children
6156
{
6157
get
@@ -6159,7 +6159,7 @@ namespace WixToolset.Harvesters.Serialize
6159
return this.children;
6160
}
6161
}
6162
-
6162
+
6163
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
6164
public virtual IEnumerable this[System.Type childType]
6165
{
@@ -6168,7 +6168,7 @@ namespace WixToolset.Harvesters.Serialize
6168
return this.children.Filter(childType);
6169
}
6170
}
6171
-
6171
+
6172
/// <summary>
6173
/// Location of the package to add to the bundle. The default value is the Name attribute, if provided.
6174
/// At a minimum, the SourceFile or Name attribute must be specified.
@@ -6185,7 +6185,7 @@ namespace WixToolset.Harvesters.Serialize
6185
this.sourceFileField = value;
6186
}
6187
}
6188
-
6188
+
6189
/// <summary>
6190
/// The destination path and file name for this chain payload. Use this attribute to rename the
6191
/// chain entry point or extract it into a subfolder. The default value is the file name from the
@@ -6204,7 +6204,7 @@ namespace WixToolset.Harvesters.Serialize
6204
this.nameField = value;
6205
}
6206
}
6207
-
6207
+
6208
public string DownloadUrl
6209
{
6210
get
@@ -6217,7 +6217,7 @@ namespace WixToolset.Harvesters.Serialize
6217
this.downloadUrlField = value;
6218
}
6219
}
6220
-
6220
+
6221
/// <summary>
6222
/// Identifier for this package, for ordering and cross-referencing. The default is the Name attribute
6223
/// modified to be suitable as an identifier (i.e. invalid characters are replaced with underscores).
@@ -6234,7 +6234,7 @@ namespace WixToolset.Harvesters.Serialize
6234
this.idField = value;
6235
}
6236
}
6237
-
6237
+
6238
/// <summary>
6239
/// The identifier of another package that this one should be installed after. By default the After
6240
/// attribute is set to the previous sibling package in the Chain or PackageGroup element. If this
@@ -6252,7 +6252,7 @@ namespace WixToolset.Harvesters.Serialize
6252
this.afterField = value;
6253
}
6254
}
6255
-
6255
+
6256
/// <summary>
6257
/// The size this package will take on disk in bytes after it is installed. By default, the binder will
6258
/// calculate the install size by scanning the package (File table for MSIs, Payloads for EXEs)
@@ -6270,7 +6270,7 @@ namespace WixToolset.Harvesters.Serialize
6270
this.installSizeField = value;
6271
}
6272
}
6273
-
6273
+
6274
/// <summary>
6275
/// A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled.
6276
/// </summary>
@@ -6286,7 +6286,7 @@ namespace WixToolset.Harvesters.Serialize
6286
this.installConditionField = value;
6287
}
6288
}
6289
-
6289
+
6290
/// <summary>
6291
/// Whether to cache the package. The default is "yes".
6292
/// </summary>
@@ -6302,7 +6302,7 @@ namespace WixToolset.Harvesters.Serialize
6302
this.cacheField = value;
6303
}
6304
}
6305
-
6305
+
6306
/// <summary>
6307
/// The identifier to use when caching the package.
6308
/// </summary>
@@ -6318,7 +6318,7 @@ namespace WixToolset.Harvesters.Serialize
6318
this.cacheIdField = value;
6319
}
6320
}
6321
-
6321
+
6322
/// <summary>
6323
/// Specifies the display name to place in the bootstrapper application data manifest for the package. By default, ExePackages
6324
/// use the ProductName field from the version information, MsiPackages use the ProductName property, and MspPackages use
@@ -6337,7 +6337,7 @@ namespace WixToolset.Harvesters.Serialize
6337
this.displayNameField = value;
6338
}
6339
}
6340
-
6340
+
6341
/// <summary>
6342
/// Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages
6343
/// use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use
@@ -6356,7 +6356,7 @@ namespace WixToolset.Harvesters.Serialize
6356
this.descriptionField = value;
6357
}
6358
}
6359
-
6359
+
6360
/// <summary>
6361
/// Name of a Variable that will hold the path to the log file. An empty value will cause the variable to not
6362
/// be set. The default is "WixBundleLog_[PackageId]" except for MSU packages which default to no logging.
@@ -6373,7 +6373,7 @@ namespace WixToolset.Harvesters.Serialize
6373
this.logPathVariableField = value;
6374
}
6375
}
6376
-
6376
+
6377
/// <summary>
6378
/// Name of a Variable that will hold the path to the log file used during rollback. An empty value will cause
6379
/// the variable to not be set. The default is "WixBundleRollbackLog_[PackageId]" except for MSU packages which
@@ -6391,7 +6391,7 @@ namespace WixToolset.Harvesters.Serialize
6391
this.rollbackLogPathVariableField = value;
6392
}
6393
}
6394
-
6394
+
6395
/// <summary>
6396
/// Specifies whether the package can be uninstalled. The default is "no".
6397
/// </summary>
@@ -6407,7 +6407,7 @@ namespace WixToolset.Harvesters.Serialize
6407
this.permanentField = value;
6408
}
6409
}
6410
-
6410
+
6411
/// <summary>
6412
/// Specifies whether the package must succeed for the chain to continue. The default "yes"
6413
/// indicates that if the package fails then the chain will fail and rollback or stop. If
@@ -6425,7 +6425,7 @@ namespace WixToolset.Harvesters.Serialize
6425
this.vitalField = value;
6426
}
6427
}
6428
-
6428
+
6429
/// <summary>
6430
/// Whether the package payload should be embedded in a container or left as an external payload.
6431
/// </summary>
@@ -6441,7 +6441,7 @@ namespace WixToolset.Harvesters.Serialize
6441
this.compressedField = value;
6442
}
6443
}
6444
-
6444
+
6445
/// <summary>
6446
/// By default, a Bundle will use the hash of a package to verify its contents. If this attribute is set to "yes"
6447
/// and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the
@@ -6460,7 +6460,7 @@ namespace WixToolset.Harvesters.Serialize
6460
this.enableSignatureVerificationField = value;
6461
}
6462
}
6463
-
6463
+
6464
/// <summary>
6465
/// A condition that determines if the package is present on the target system. This condition can use built-in
6466
/// variables and variables returned by searches. This condition is necessary because Windows doesn't provide a
@@ -6480,7 +6480,7 @@ namespace WixToolset.Harvesters.Serialize
6480
this.detectConditionField = value;
6481
}
6482
}
6483
-
6483
+
6484
/// <summary>
6485
/// The command-line arguments provided to the ExePackage during install. If this attribute is absent the executable will be launched with no command-line arguments.
6486
/// </summary>
@@ -6496,7 +6496,7 @@ namespace WixToolset.Harvesters.Serialize
6496
this.installCommandField = value;
6497
}
6498
}
6499
-
6499
+
6500
/// <summary>
6501
/// The command-line arguments to specify to indicate a repair. If the executable package can be repaired but
6502
/// does not require any special command-line arguments to do so then set the attribute's value to blank. To
@@ -6514,7 +6514,7 @@ namespace WixToolset.Harvesters.Serialize
6514
this.repairCommandField = value;
6515
}
6516
}
6517
-
6517
+
6518
/// <summary>
6519
/// The command-line arguments provided to the ExePackage during uninstall. If this attribute is absent the executable will be launched with no command-line arguments. To prevent an ExePackage from being uninstalled set the Permanent attribute to "yes".
6520
/// </summary>
@@ -6530,7 +6530,7 @@ namespace WixToolset.Harvesters.Serialize
6530
this.uninstallCommandField = value;
6531
}
6532
}
6533
-
6533
+
6534
/// <summary>
6535
/// Indicates the package must be executed elevated. The default is "no".
6536
/// </summary>
@@ -6546,7 +6546,7 @@ namespace WixToolset.Harvesters.Serialize
6546
this.perMachineField = value;
6547
}
6548
}
6549
-
6549
+
6550
/// <summary>
6551
/// Indicates the communication protocol the package supports for extended progress and error reporting. The default is "none".
6552
/// </summary>
@@ -6562,7 +6562,7 @@ namespace WixToolset.Harvesters.Serialize
6562
this.protocolField = value;
6563
}
6564
}
6565
-
6565
+
6566
public virtual ISchemaElement ParentElement
6567
{
6568
get
@@ -6574,7 +6574,7 @@ namespace WixToolset.Harvesters.Serialize
6574
this.parentElement = value;
6575
}
6576
}
6577
-
6577
+
6578
public virtual void AddChild(ISchemaElement child)
6579
{
6580
if ((null == child))
@@ -6584,7 +6584,7 @@ namespace WixToolset.Harvesters.Serialize
6584
this.children.AddElement(child);
6585
child.ParentElement = this;
6586
}
6587
-
6587
+
6588
public virtual void RemoveChild(ISchemaElement child)
6589
{
6590
if ((null == child))
@@ -6594,7 +6594,7 @@ namespace WixToolset.Harvesters.Serialize
6594
this.children.RemoveElement(child);
6595
child.ParentElement = null;
6596
}
6597
-
6597
+
6598
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
6599
ISchemaElement ICreateChildren.CreateChild(string childName)
6600
{
@@ -6629,7 +6629,7 @@ namespace WixToolset.Harvesters.Serialize
6629
}
6630
return childValue;
6631
}
6632
-
6632
+
6633
/// <summary>
6634
/// Processes this element and all child elements into an XmlWriter.
6635
/// </summary>
@@ -6798,14 +6798,14 @@ namespace WixToolset.Harvesters.Serialize
6798
writer.WriteAttributeString("Protocol", "netfx4");
6799
}
6800
}
6801
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
6801
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
6802
{
6803
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
6804
childElement.OutputXml(writer);
6805
}
6806
writer.WriteEndElement();
6807
}
6808
-
6808
+
6809
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
6810
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
6811
void ISetAttributes.SetAttribute(string name, string value)
@@ -6931,37 +6931,37 @@ namespace WixToolset.Harvesters.Serialize
6931
}
6932
}
6933
}
6934
-
6934
+
6935
/// <summary>
6936
/// Describes a rollback boundary in the chain.
6937
/// </summary>
6938
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
6939
public class RollbackBoundary : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
6940
{
6941
-
6941
+
6942
private ElementCollection children;
6943
-
6943
+
6944
private string idField;
6945
-
6945
+
6946
private bool idFieldSet;
6947
-
6947
+
6948
private YesNoType vitalField;
6949
-
6949
+
6950
private bool vitalFieldSet;
6951
-
6951
+
6952
private YesNoType transactionField;
6953
-
6953
+
6954
private bool transactionFieldSet;
6955
-
6955
+
6956
private ISchemaElement parentElement;
6957
-
6957
+
6958
public RollbackBoundary()
6959
{
6960
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
6961
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(ISchemaElement)));
6962
this.children = childCollection0;
6963
}
6964
-
6964
+
6965
public virtual IEnumerable Children
6966
{
6967
get
@@ -6969,7 +6969,7 @@ namespace WixToolset.Harvesters.Serialize
6969
return this.children;
6970
}
6971
}
6972
-
6972
+
6973
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
6974
public virtual IEnumerable this[System.Type childType]
6975
{
@@ -6978,7 +6978,7 @@ namespace WixToolset.Harvesters.Serialize
6978
return this.children.Filter(childType);
6979
}
6980
}
6981
-
6981
+
6982
/// <summary>
6983
/// Identifier for this rollback boundary, for ordering and cross-referencing. If this attribute is
6984
/// not provided a stable identifier will be generated.
@@ -6995,7 +6995,7 @@ namespace WixToolset.Harvesters.Serialize
6995
this.idField = value;
6996
}
6997
}
6998
-
6998
+
6999
/// <summary>
7000
/// Specifies whether the rollback boundary aborts the chain. The default "yes" indicates that if
7001
/// the rollback boundary is encountered then the chain will fail and rollback or stop. If "no"
@@ -7013,7 +7013,7 @@ namespace WixToolset.Harvesters.Serialize
7013
this.vitalField = value;
7014
}
7015
}
7016
-
7016
+
7017
/// <summary>
7018
/// Specifies whether the rollback boundary is wrapped in an MSI transaction. The default is "no"
7019
/// </summary>
@@ -7029,7 +7029,7 @@ namespace WixToolset.Harvesters.Serialize
7029
this.transactionField = value;
7030
}
7031
}
7032
-
7032
+
7033
public virtual ISchemaElement ParentElement
7034
{
7035
get
@@ -7041,7 +7041,7 @@ namespace WixToolset.Harvesters.Serialize
7041
this.parentElement = value;
7042
}
7043
}
7044
-
7044
+
7045
public virtual void AddChild(ISchemaElement child)
7046
{
7047
if ((null == child))
@@ -7051,7 +7051,7 @@ namespace WixToolset.Harvesters.Serialize
7051
this.children.AddElement(child);
7052
child.ParentElement = this;
7053
}
7054
-
7054
+
7055
public virtual void RemoveChild(ISchemaElement child)
7056
{
7057
if ((null == child))
@@ -7061,7 +7061,7 @@ namespace WixToolset.Harvesters.Serialize
7061
this.children.RemoveElement(child);
7062
child.ParentElement = null;
7063
}
7064
-
7064
+
7065
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
7066
ISchemaElement ICreateChildren.CreateChild(string childName)
7067
{
@@ -7076,7 +7076,7 @@ namespace WixToolset.Harvesters.Serialize
7076
}
7077
return childValue;
7078
}
7079
-
7079
+
7080
/// <summary>
7081
/// Processes this element and all child elements into an XmlWriter.
7082
/// </summary>
@@ -7113,14 +7113,14 @@ namespace WixToolset.Harvesters.Serialize
7113
writer.WriteAttributeString("Transaction", "yes");
7114
}
7115
}
7116
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
7116
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
7117
{
7118
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
7119
childElement.OutputXml(writer);
7120
}
7121
writer.WriteEndElement();
7122
}
7123
-
7123
+
7124
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
7125
void ISetAttributes.SetAttribute(string name, string value)
7126
{
@@ -7145,22 +7145,22 @@ namespace WixToolset.Harvesters.Serialize
7145
}
7146
}
7147
}
7148
-
7148
+
7149
/// <summary>
7150
/// Describes a package group to a bootstrapper.
7151
/// </summary>
7152
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
7153
public class PackageGroup : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
7154
{
7155
-
7155
+
7156
private ElementCollection children;
7157
-
7157
+
7158
private string idField;
7159
-
7159
+
7160
private bool idFieldSet;
7161
-
7161
+
7162
private ISchemaElement parentElement;
7163
-
7163
+
7164
public PackageGroup()
7165
{
7166
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
@@ -7172,7 +7172,7 @@ namespace WixToolset.Harvesters.Serialize
7172
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PackageGroupRef)));
7173
this.children = childCollection0;
7174
}
7175
-
7175
+
7176
public virtual IEnumerable Children
7177
{
7178
get
@@ -7180,7 +7180,7 @@ namespace WixToolset.Harvesters.Serialize
7180
return this.children;
7181
}
7182
}
7183
-
7183
+
7184
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
7185
public virtual IEnumerable this[System.Type childType]
7186
{
@@ -7189,7 +7189,7 @@ namespace WixToolset.Harvesters.Serialize
7189
return this.children.Filter(childType);
7190
}
7191
}
7192
-
7192
+
7193
/// <summary>
7194
/// Identifier for package group.
7195
/// </summary>
@@ -7205,7 +7205,7 @@ namespace WixToolset.Harvesters.Serialize
7205
this.idField = value;
7206
}
7207
}
7208
-
7208
+
7209
public virtual ISchemaElement ParentElement
7210
{
7211
get
@@ -7217,7 +7217,7 @@ namespace WixToolset.Harvesters.Serialize
7217
this.parentElement = value;
7218
}
7219
}
7220
-
7220
+
7221
public virtual void AddChild(ISchemaElement child)
7222
{
7223
if ((null == child))
@@ -7227,7 +7227,7 @@ namespace WixToolset.Harvesters.Serialize
7227
this.children.AddElement(child);
7228
child.ParentElement = this;
7229
}
7230
-
7230
+
7231
public virtual void RemoveChild(ISchemaElement child)
7232
{
7233
if ((null == child))
@@ -7237,7 +7237,7 @@ namespace WixToolset.Harvesters.Serialize
7237
this.children.RemoveElement(child);
7238
child.ParentElement = null;
7239
}
7240
-
7240
+
7241
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
7242
[SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
7243
ISchemaElement ICreateChildren.CreateChild(string childName)
@@ -7277,7 +7277,7 @@ namespace WixToolset.Harvesters.Serialize
7277
}
7278
return childValue;
7279
}
7280
-
7280
+
7281
/// <summary>
7282
/// Processes this element and all child elements into an XmlWriter.
7283
/// </summary>
@@ -7292,14 +7292,14 @@ namespace WixToolset.Harvesters.Serialize
7292
{
7293
writer.WriteAttributeString("Id", this.idField);
7294
}
7295
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
7295
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
7296
{
7297
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
7298
childElement.OutputXml(writer);
7299
}
7300
writer.WriteEndElement();
7301
}
7302
-
7302
+
7303
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
7304
void ISetAttributes.SetAttribute(string name, string value)
7305
{
@@ -7314,24 +7314,24 @@ namespace WixToolset.Harvesters.Serialize
7314
}
7315
}
7316
}
7317
-
7317
+
7318
/// <summary>
7319
/// Create a reference to PackageGroup element that exists inside a Bundle or Fragment element.
7320
/// </summary>
7321
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
7322
public class PackageGroupRef : ISchemaElement, ISetAttributes
7323
{
7324
-
7324
+
7325
private string idField;
7326
-
7326
+
7327
private bool idFieldSet;
7328
-
7328
+
7329
private string afterField;
7330
-
7330
+
7331
private bool afterFieldSet;
7332
-
7332
+
7333
private ISchemaElement parentElement;
7334
-
7334
+
7335
/// <summary>
7336
/// The identifier of the PackageGroup element to reference.
7337
/// </summary>
@@ -7347,7 +7347,7 @@ namespace WixToolset.Harvesters.Serialize
7347
this.idField = value;
7348
}
7349
}
7350
-
7350
+
7351
/// <summary>
7352
/// The identifier of a package that this group should be installed after.
7353
/// </summary>
@@ -7363,7 +7363,7 @@ namespace WixToolset.Harvesters.Serialize
7363
this.afterField = value;
7364
}
7365
}
7366
-
7366
+
7367
public virtual ISchemaElement ParentElement
7368
{
7369
get
@@ -7375,7 +7375,7 @@ namespace WixToolset.Harvesters.Serialize
7375
this.parentElement = value;
7376
}
7377
}
7378
-
7378
+
7379
/// <summary>
7380
/// Processes this element and all child elements into an XmlWriter.
7381
/// </summary>
@@ -7396,7 +7396,7 @@ namespace WixToolset.Harvesters.Serialize
7396
}
7397
writer.WriteEndElement();
7398
}
7399
-
7399
+
7400
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
7401
void ISetAttributes.SetAttribute(string name, string value)
7402
{
@@ -7416,24 +7416,24 @@ namespace WixToolset.Harvesters.Serialize
7416
}
7417
}
7418
}
7419
-
7419
+
7420
/// <summary>
7421
/// Allows an MSI property to be set based on the value of a burn engine expression.
7422
/// </summary>
7423
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
7424
public class MsiProperty : ISchemaElement, ISetAttributes
7425
{
7426
-
7426
+
7427
private string nameField;
7428
-
7428
+
7429
private bool nameFieldSet;
7430
-
7430
+
7431
private string valueField;
7432
-
7432
+
7433
private bool valueFieldSet;
7434
-
7434
+
7435
private ISchemaElement parentElement;
7436
-
7436
+
7437
/// <summary>
7438
/// The name of the MSI property to set. Burn controls the follow MSI properties so they cannot be set with MsiProperty: ACTION, ALLUSERS, REBOOT, REINSTALL, REINSTALLMODE
7439
/// </summary>
@@ -7449,7 +7449,7 @@ namespace WixToolset.Harvesters.Serialize
7449
this.nameField = value;
7450
}
7451
}
7452
-
7452
+
7453
/// <summary>
7454
/// The value to set the property to. This string is evaluated by the burn engine and can be as simple as a burn engine variable reference or as complex as a full expression.
7455
/// </summary>
@@ -7465,7 +7465,7 @@ namespace WixToolset.Harvesters.Serialize
7465
this.valueField = value;
7466
}
7467
}
7468
-
7468
+
7469
public virtual ISchemaElement ParentElement
7470
{
7471
get
@@ -7477,7 +7477,7 @@ namespace WixToolset.Harvesters.Serialize
7477
this.parentElement = value;
7478
}
7479
}
7480
-
7480
+
7481
/// <summary>
7482
/// Processes this element and all child elements into an XmlWriter.
7483
/// </summary>
@@ -7498,7 +7498,7 @@ namespace WixToolset.Harvesters.Serialize
7498
}
7499
writer.WriteEndElement();
7500
}
7501
-
7501
+
7502
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
7503
void ISetAttributes.SetAttribute(string name, string value)
7504
{
@@ -7518,20 +7518,20 @@ namespace WixToolset.Harvesters.Serialize
7518
}
7519
}
7520
}
7521
-
7521
+
7522
/// <summary>
7523
/// Specifies a patch included in the same bundle that is installed when the parent MSI package is installed.
7524
/// </summary>
7525
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
7526
public class SlipstreamMsp : ISchemaElement, ISetAttributes
7527
{
7528
-
7528
+
7529
private string idField;
7530
-
7530
+
7531
private bool idFieldSet;
7532
-
7532
+
7533
private ISchemaElement parentElement;
7534
-
7534
+
7535
/// <summary>
7536
/// The identifier for a MspPackage in the bundle.
7537
/// </summary>
@@ -7547,7 +7547,7 @@ namespace WixToolset.Harvesters.Serialize
7547
this.idField = value;
7548
}
7549
}
7550
-
7550
+
7551
public virtual ISchemaElement ParentElement
7552
{
7553
get
@@ -7559,7 +7559,7 @@ namespace WixToolset.Harvesters.Serialize
7559
this.parentElement = value;
7560
}
7561
}
7562
-
7562
+
7563
/// <summary>
7564
/// Processes this element and all child elements into an XmlWriter.
7565
/// </summary>
@@ -7576,7 +7576,7 @@ namespace WixToolset.Harvesters.Serialize
7576
}
7577
writer.WriteEndElement();
7578
}
7579
-
7579
+
7580
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
7581
void ISetAttributes.SetAttribute(string name, string value)
7582
{
@@ -7591,36 +7591,36 @@ namespace WixToolset.Harvesters.Serialize
7591
}
7592
}
7593
}
7594
-
7594
+
7595
/// <summary>
7596
/// Describes a burn engine variable to define.
7597
/// </summary>
7598
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
7599
public class Variable : ISchemaElement, ISetAttributes
7600
{
7601
-
7601
+
7602
private YesNoType hiddenField;
7603
-
7603
+
7604
private bool hiddenFieldSet;
7605
-
7605
+
7606
private string nameField;
7607
-
7607
+
7608
private bool nameFieldSet;
7609
-
7609
+
7610
private YesNoType persistedField;
7611
-
7611
+
7612
private bool persistedFieldSet;
7613
-
7613
+
7614
private string valueField;
7615
-
7615
+
7616
private bool valueFieldSet;
7617
-
7617
+
7618
private TypeType typeField;
7619
-
7619
+
7620
private bool typeFieldSet;
7621
-
7621
+
7622
private ISchemaElement parentElement;
7623
-
7623
+
7624
/// <summary>
7625
/// Whether the value of the variable should be hidden.
7626
/// </summary>
@@ -7636,7 +7636,7 @@ namespace WixToolset.Harvesters.Serialize
7636
this.hiddenField = value;
7637
}
7638
}
7639
-
7639
+
7640
/// <summary>
7641
/// The name for the variable.
7642
/// </summary>
@@ -7652,7 +7652,7 @@ namespace WixToolset.Harvesters.Serialize
7652
this.nameField = value;
7653
}
7654
}
7655
-
7655
+
7656
/// <summary>
7657
/// Whether the variable should be persisted.
7658
/// </summary>
@@ -7668,7 +7668,7 @@ namespace WixToolset.Harvesters.Serialize
7668
this.persistedField = value;
7669
}
7670
}
7671
-
7671
+
7672
/// <summary>
7673
/// Starting value for the variable.
7674
/// </summary>
@@ -7684,7 +7684,7 @@ namespace WixToolset.Harvesters.Serialize
7684
this.valueField = value;
7685
}
7686
}
7687
-
7687
+
7688
/// <summary>
7689
/// Type of the variable, inferred from the value if not specified.
7690
/// </summary>
@@ -7700,7 +7700,7 @@ namespace WixToolset.Harvesters.Serialize
7700
this.typeField = value;
7701
}
7702
}
7703
-
7703
+
7704
public virtual ISchemaElement ParentElement
7705
{
7706
get
@@ -7712,7 +7712,7 @@ namespace WixToolset.Harvesters.Serialize
7712
this.parentElement = value;
7713
}
7714
}
7715
-
7715
+
7716
/// <summary>
7717
/// Parses a TypeType from a string.
7718
/// </summary>
@@ -7722,7 +7722,7 @@ namespace WixToolset.Harvesters.Serialize
7722
Variable.TryParseTypeType(value, out parsedValue);
7723
return parsedValue;
7724
}
7725
-
7725
+
7726
/// <summary>
7727
/// Tries to parse a TypeType from a string.
7728
/// </summary>
@@ -7758,7 +7758,7 @@ namespace WixToolset.Harvesters.Serialize
7758
}
7759
return true;
7760
}
7761
-
7761
+
7762
/// <summary>
7763
/// Processes this element and all child elements into an XmlWriter.
7764
/// </summary>
@@ -7816,7 +7816,7 @@ namespace WixToolset.Harvesters.Serialize
7816
}
7817
writer.WriteEndElement();
7818
}
7819
-
7819
+
7820
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
7821
void ISetAttributes.SetAttribute(string name, string value)
7822
{
@@ -7850,57 +7850,57 @@ namespace WixToolset.Harvesters.Serialize
7850
this.typeFieldSet = true;
7851
}
7852
}
7853
-
7853
+
7854
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
7855
public enum TypeType
7856
{
7857
-
7857
+
7858
IllegalValue = int.MaxValue,
7859
-
7859
+
7860
NotSet = -1,
7861
-
7861
+
7862
@string,
7863
-
7863
+
7864
numeric,
7865
-
7865
+
7866
version,
7867
}
7868
}
7869
-
7869
+
7870
/// <summary>
7871
/// Representation of a file that contains one or more files.
7872
/// </summary>
7873
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
7874
public class Container : IParentElement, ICreateChildren, ISchemaElement, ISetAttributes
7875
{
7876
-
7876
+
7877
private ElementCollection children;
7878
-
7878
+
7879
private string downloadUrlField;
7880
-
7880
+
7881
private bool downloadUrlFieldSet;
7882
-
7882
+
7883
private string idField;
7884
-
7884
+
7885
private bool idFieldSet;
7886
-
7886
+
7887
private string nameField;
7888
-
7888
+
7889
private bool nameFieldSet;
7890
-
7890
+
7891
private BurnContainerType typeField;
7892
-
7892
+
7893
private bool typeFieldSet;
7894
-
7894
+
7895
private ISchemaElement parentElement;
7896
-
7896
+
7897
public Container()
7898
{
7899
ElementCollection childCollection0 = new ElementCollection(ElementCollection.CollectionType.Choice);
7900
childCollection0.AddItem(new ElementCollection.ChoiceItem(typeof(PackageGroupRef)));
7901
this.children = childCollection0;
7902
}
7903
-
7903
+
7904
public virtual IEnumerable Children
7905
{
7906
get
@@ -7908,7 +7908,7 @@ namespace WixToolset.Harvesters.Serialize
7908
return this.children;
7909
}
7910
}
7911
-
7911
+
7912
[SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers")]
7913
public virtual IEnumerable this[System.Type childType]
7914
{
@@ -7917,7 +7917,7 @@ namespace WixToolset.Harvesters.Serialize
7917
return this.children.Filter(childType);
7918
}
7919
}
7920
-
7920
+
7921
public string DownloadUrl
7922
{
7923
get
@@ -7930,7 +7930,7 @@ namespace WixToolset.Harvesters.Serialize
7930
this.downloadUrlField = value;
7931
}
7932
}
7933
-
7933
+
7934
/// <summary>
7935
/// The unique identifier for the container. If this attribute is not specified the Name attribute will be used.
7936
/// </summary>
@@ -7946,7 +7946,7 @@ namespace WixToolset.Harvesters.Serialize
7946
this.idField = value;
7947
}
7948
}
7949
-
7949
+
7950
/// <summary>
7951
/// The file name for this container. A relative path may be provided to place the container in a sub-folder of the bundle.
7952
/// </summary>
@@ -7962,7 +7962,7 @@ namespace WixToolset.Harvesters.Serialize
7962
this.nameField = value;
7963
}
7964
}
7965
-
7965
+
7966
/// <summary>
7967
/// Indicates whether the container is "attached" to the bundle executable or placed external to the bundle extecutable as "detached". If
7968
/// this attribute is not specified, the default is to create a detached container.
@@ -7979,7 +7979,7 @@ namespace WixToolset.Harvesters.Serialize
7979
this.typeField = value;
7980
}
7981
}
7982
-
7982
+
7983
public virtual ISchemaElement ParentElement
7984
{
7985
get
@@ -7991,7 +7991,7 @@ namespace WixToolset.Harvesters.Serialize
7991
this.parentElement = value;
7992
}
7993
}
7994
-
7994
+
7995
public virtual void AddChild(ISchemaElement child)
7996
{
7997
if ((null == child))
@@ -8001,7 +8001,7 @@ namespace WixToolset.Harvesters.Serialize
8001
this.children.AddElement(child);
8002
child.ParentElement = this;
8003
}
8004
-
8004
+
8005
public virtual void RemoveChild(ISchemaElement child)
8006
{
8007
if ((null == child))
@@ -8011,7 +8011,7 @@ namespace WixToolset.Harvesters.Serialize
8011
this.children.RemoveElement(child);
8012
child.ParentElement = null;
8013
}
8014
-
8014
+
8015
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
8016
ISchemaElement ICreateChildren.CreateChild(string childName)
8017
{
@@ -8030,7 +8030,7 @@ namespace WixToolset.Harvesters.Serialize
8030
}
8031
return childValue;
8032
}
8033
-
8033
+
8034
/// <summary>
8035
/// Processes this element and all child elements into an XmlWriter.
8036
/// </summary>
@@ -8064,14 +8064,14 @@ namespace WixToolset.Harvesters.Serialize
8064
writer.WriteAttributeString("Type", "detached");
8065
}
8066
}
8067
- for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext(); )
8067
+ for (IEnumerator enumerator = this.children.GetEnumerator(); enumerator.MoveNext();)
8068
{
8069
ISchemaElement childElement = ((ISchemaElement)(enumerator.Current));
8070
childElement.OutputXml(writer);
8071
}
8072
writer.WriteEndElement();
8073
}
8074
-
8074
+
8075
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
8076
void ISetAttributes.SetAttribute(string name, string value)
8077
{
@@ -8101,20 +8101,20 @@ namespace WixToolset.Harvesters.Serialize
8101
}
8102
}
8103
}
8104
-
8104
+
8105
/// <summary>
8106
/// Create a reference to an existing Container element.
8107
/// </summary>
8108
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
8109
public class ContainerRef : ISchemaElement, ISetAttributes
8110
{
8111
-
8111
+
8112
private string idField;
8113
-
8113
+
8114
private bool idFieldSet;
8115
-
8115
+
8116
private ISchemaElement parentElement;
8117
-
8117
+
8118
/// <summary>
8119
/// The identifier of Container element to reference.
8120
/// </summary>
@@ -8130,7 +8130,7 @@ namespace WixToolset.Harvesters.Serialize
8130
this.idField = value;
8131
}
8132
}
8133
-
8133
+
8134
public virtual ISchemaElement ParentElement
8135
{
8136
get
@@ -8142,7 +8142,7 @@ namespace WixToolset.Harvesters.Serialize
8142
this.parentElement = value;
8143
}
8144
}
8145
-
8145
+
8146
/// <summary>
8147
/// Processes this element and all child elements into an XmlWriter.
8148
/// </summary>
@@ -8159,7 +8159,7 @@ namespace WixToolset.Harvesters.Serialize
8159
}
8160
writer.WriteEndElement();
8161
}
8162
-
8162
+
8163
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
8164
void ISetAttributes.SetAttribute(string name, string value)
8165
{
@@ -8174,24 +8174,24 @@ namespace WixToolset.Harvesters.Serialize
8174
}
8175
}
8176
}
8177
-
8177
+
8178
/// <summary>
8179
/// Describes map of exit code returned from executable package to a bootstrapper behavior.
8180
/// </summary>
8181
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
8182
public class ExitCode : ISchemaElement, ISetAttributes
8183
{
8184
-
8184
+
8185
private int valueField;
8186
-
8186
+
8187
private bool valueFieldSet;
8188
-
8188
+
8189
private BehaviorType behaviorField;
8190
-
8190
+
8191
private bool behaviorFieldSet;
8192
-
8192
+
8193
private ISchemaElement parentElement;
8194
-
8194
+
8195
/// <summary>
8196
/// Exit code returned from executable package. If no value is provided it means all values not explicitly set default to this behavior.
8197
/// </summary>
@@ -8207,7 +8207,7 @@ namespace WixToolset.Harvesters.Serialize
8207
this.valueField = value;
8208
}
8209
}
8210
-
8210
+
8211
/// <summary>
8212
/// Choose one of the supported behaviors error codes: success, error, scheduleReboot, forceReboot.
8213
/// </summary>
@@ -8223,7 +8223,7 @@ namespace WixToolset.Harvesters.Serialize
8223
this.behaviorField = value;
8224
}
8225
}
8226
-
8226
+
8227
public virtual ISchemaElement ParentElement
8228
{
8229
get
@@ -8235,7 +8235,7 @@ namespace WixToolset.Harvesters.Serialize
8235
this.parentElement = value;
8236
}
8237
}
8238
-
8238
+
8239
/// <summary>
8240
/// Parses a BehaviorType from a string.
8241
/// </summary>
@@ -8245,7 +8245,7 @@ namespace WixToolset.Harvesters.Serialize
8245
ExitCode.TryParseBehaviorType(value, out parsedValue);
8246
return parsedValue;
8247
}
8248
-
8248
+
8249
/// <summary>
8250
/// Tries to parse a BehaviorType from a string.
8251
/// </summary>
@@ -8288,7 +8288,7 @@ namespace WixToolset.Harvesters.Serialize
8288
}
8289
return true;
8290
}
8291
-
8291
+
8292
/// <summary>
8293
/// Processes this element and all child elements into an XmlWriter.
8294
/// </summary>
@@ -8324,7 +8324,7 @@ namespace WixToolset.Harvesters.Serialize
8324
}
8325
writer.WriteEndElement();
8326
}
8327
-
8327
+
8328
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
8329
void ISetAttributes.SetAttribute(string name, string value)
8330
{
@@ -8343,50 +8343,50 @@ namespace WixToolset.Harvesters.Serialize
8343
this.behaviorFieldSet = true;
8344
}
8345
}
8346
-
8346
+
8347
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
8348
public enum BehaviorType
8349
{
8350
-
8350
+
8351
IllegalValue = int.MaxValue,
8352
-
8352
+
8353
NotSet = -1,
8354
-
8354
+
8355
success,
8356
-
8356
+
8357
error,
8358
-
8358
+
8359
scheduleReboot,
8360
-
8360
+
8361
forceReboot,
8362
}
8363
}
8364
-
8364
+
8365
/// <summary>
8366
/// Describes additional, conditional command-line arguments for an ExePackage.
8367
/// </summary>
8368
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
8369
public class CommandLine : ISchemaElement, ISetAttributes
8370
{
8371
-
8371
+
8372
private string installArgumentField;
8373
-
8373
+
8374
private bool installArgumentFieldSet;
8375
-
8375
+
8376
private string uninstallArgumentField;
8377
-
8377
+
8378
private bool uninstallArgumentFieldSet;
8379
-
8379
+
8380
private string repairArgumentField;
8381
-
8381
+
8382
private bool repairArgumentFieldSet;
8383
-
8383
+
8384
private string conditionField;
8385
-
8385
+
8386
private bool conditionFieldSet;
8387
-
8387
+
8388
private ISchemaElement parentElement;
8389
-
8389
+
8390
/// <summary>
8391
/// Additional command-line arguments to apply during package installation if Condition is true.
8392
/// </summary>
@@ -8402,7 +8402,7 @@ namespace WixToolset.Harvesters.Serialize
8402
this.installArgumentField = value;
8403
}
8404
}
8405
-
8405
+
8406
/// <summary>
8407
/// Additional command-line arguments to apply during package uninstallation if Condition is true.
8408
/// </summary>
@@ -8418,7 +8418,7 @@ namespace WixToolset.Harvesters.Serialize
8418
this.uninstallArgumentField = value;
8419
}
8420
}
8421
-
8421
+
8422
/// <summary>
8423
/// Additional command-line arguments to apply during package repair if Condition is true.
8424
/// </summary>
@@ -8434,7 +8434,7 @@ namespace WixToolset.Harvesters.Serialize
8434
this.repairArgumentField = value;
8435
}
8436
}
8437
-
8437
+
8438
/// <summary>
8439
/// The condition that controls whether the command-line arguments specified in the
8440
/// InstallArgument, UninstallArgument, or RepairArgument attributes are appended to the
@@ -8455,7 +8455,7 @@ namespace WixToolset.Harvesters.Serialize
8455
this.conditionField = value;
8456
}
8457
}
8458
-
8458
+
8459
public virtual ISchemaElement ParentElement
8460
{
8461
get
@@ -8467,7 +8467,7 @@ namespace WixToolset.Harvesters.Serialize
8467
this.parentElement = value;
8468
}
8469
}
8470
-
8470
+
8471
/// <summary>
8472
/// Processes this element and all child elements into an XmlWriter.
8473
/// </summary>
@@ -8496,7 +8496,7 @@ namespace WixToolset.Harvesters.Serialize
8496
}
8497
writer.WriteEndElement();
8498
}
8499
-
8499
+
8500
[SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
8501
void ISetAttributes.SetAttribute(string name, string value)
8502
{
@@ -8526,40 +8526,40 @@ namespace WixToolset.Harvesters.Serialize
8526
}
8527
}
8528
}
8529
-
8529
+
8530
/// <summary>
8531
/// Describes a payload to a bootstrapper.
8532
/// </summary>
8533
[GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
8534
public class Payload : ISchemaElement, ISetAttributes
8535
{
8536
-
8536
+
8537
private string idField;
8538
-
8538
+
8539
private bool idFieldSet;
8540
-
8540
+
8541
private YesNoDefaultType compressedField;
8542
-
8542
+
8543
private bool compressedFieldSet;
8544
-
8544
+
8545
private string sourceFileField;
8546
-
8546
+
8547
private bool sourceFileFieldSet;
8548
-
8548
+
8549
private string nameField;
8550
-
8550
+
8551
private bool nameFieldSet;
8552
-
8552
+
8553
private string downloadUrlField;
8554
-
8554
+
8555
private bool downloadUrlFieldSet;
8556
-
8556
+
8557
private YesNoType enableSignatureVerificationField;
8558
-
8558
+
8559
private bool enableSignatureVerificationFieldSet;
8560
-
8560
+
8561
private ISchemaElement parentElement;
8562
-
8562
+
8563
/// <summary>
8564
/// The identifier of Payload element.
8565
/// </summary>
@@ -8575,7 +8575,7 @@ namespace WixToolset.Harvesters.Serialize
8575
this.idField = value;
8576
}
8577
}
8578
-
8578
+
8579
/// <summary>
8580
/// Whether the payload should be embedded in a container or left as an external payload.
8581
/// </summary>
@@ -8591,7 +8591,7 @@ namespace WixToolset.Harvesters.Serialize
8591
this.compressedField = value;
8592
}
8593
}
8594
-
8594
+
8595
/// <summary>
8596
/// Location of the source file.
8597
/// </summary>
@@ -8607,7 +8607,7 @@ namespace WixToolset.Harvesters.Serialize
8607
this.sourceFileField = value;
8608
}
8609
}
8610
-
8610
+
8611
/// <summary>
8612
/// The destination path and file name for this payload. The default is the source file name. The use of '..' directories is not allowed.
8613
/// </summary>
@@ -8623,7 +8623,7 @@ namespace WixToolset.Harvesters.Serialize
8623
this.nameField = value;
8624
}
8625
}
8626
-
8626
+
8627
public string DownloadUrl
This file is too large to show in full.
src/tools/heat/UtilMutator.cs
+3
-5
@@ -398,8 +398,7 @@ namespace WixToolset.Harvesters
398
this.fragments.Add(String.Concat("Component:", (null != component.Id ? component.Id : this.fragments.Count.ToString())), fragment);
399
400
// create a new DirectoryRef
401
- Wix.DirectoryRef directoryRef = new Wix.DirectoryRef();
402
- directoryRef.Id = directory.Id;
401
+ var directoryRef = DirectoryHelper.CreateDirectoryReference(directory.Id);
402
fragment.AddChild(directoryRef);
403
404
// move the Component from the the Directory to the DirectoryRef
@@ -438,7 +437,7 @@ namespace WixToolset.Harvesters
437
{
438
if (directory.ParentElement is Wix.Directory)
439
{
441
- Wix.Directory parentDirectory = (Wix.Directory)directory.ParentElement;
440
+ var parentDirectory = (Wix.DirectoryBase)directory.ParentElement;
441
442
// parent directory must have an identifier to create a reference to it
443
if (null == parentDirectory.Id)
@@ -451,8 +450,7 @@ namespace WixToolset.Harvesters
450
this.fragments.Add(String.Concat("Directory:", ("TARGETDIR" == directory.Id ? null : (null != directory.Id ? directory.Id : this.fragments.Count.ToString()))), fragment);
451
452
// create a new DirectoryRef
454
- Wix.DirectoryRef directoryRef = new Wix.DirectoryRef();
455
- directoryRef.Id = parentDirectory.Id;
453
+ var directoryRef = DirectoryHelper.CreateDirectoryReference(parentDirectory.Id);
454
fragment.AddChild(directoryRef);
455
456
// move the Directory from the parent Directory to DirectoryRef
src/tools/heat/VSProjectHarvester.cs
+7
-5
@@ -334,22 +334,24 @@ namespace WixToolset.Harvesters
334
}
335
else
336
{
337
- Wix.DirectoryRef directoryRef = new Wix.DirectoryRef();
338
- harvestParent = directoryRef;
337
+ string directoryRefId;
338
339
if (!String.IsNullOrEmpty(this.directoryIds))
340
{
342
- directoryRef.Id = this.directoryIds;
341
+ directoryRefId = this.directoryIds;
342
}
343
else if (this.setUniqueIdentifiers)
344
{
346
- directoryRef.Id = String.Format(CultureInfo.InvariantCulture, DirectoryIdFormat, sanitizedProjectName, pog.Name);
345
+ directoryRefId = String.Format(CultureInfo.InvariantCulture, DirectoryIdFormat, sanitizedProjectName, pog.Name);
346
}
347
else
348
{
350
- directoryRef.Id = this.Core.CreateIdentifierFromFilename(String.Format(CultureInfo.InvariantCulture, DirectoryIdFormat, sanitizedProjectName, pog.Name));
349
+ directoryRefId = this.Core.CreateIdentifierFromFilename(String.Format(CultureInfo.InvariantCulture, DirectoryIdFormat, sanitizedProjectName, pog.Name));
350
}
351
352
+ var directoryRef = DirectoryHelper.CreateDirectoryReference(directoryRefId);
353
+ harvestParent = directoryRef;
354
+
355
this.directoryRefSeed = this.Core.GenerateIdentifier(DirectoryPrefix, this.projectGUID, pog.Name);
356
}
357
src/tools/test/WixToolsetTest.Heat/HeatFixture.cs
new
+136
@@ -0,0 +1,136 @@
1
+// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
+
3
+namespace WixToolsetTest.Heat
4
+{
5
+ using System.IO;
6
+ using System.Linq;
7
+ using WixBuildTools.TestSupport;
8
+ using Xunit;
9
+
10
+ public class HeatFixture
11
+ {
12
+ [Fact]
13
+ public void CanHarvestSimpleDirectory()
14
+ {
15
+ var folder = TestData.Get("TestData", "SingleFile");
16
+
17
+ using (var fs = new DisposableFileSystem())
18
+ {
19
+ var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
20
+
21
+ var args = new[]
22
+ {
23
+ "dir", folder,
24
+ "-o", outputPath
25
+ };
26
+
27
+ var result = HeatRunner.Execute(args);
28
+ result.AssertSuccess();
29
+
30
+ var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
31
+ WixAssert.CompareLineByLine(new[]
32
+ {
33
+ "<?xml version='1.0' encoding='utf-8'?>",
34
+ "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
35
+ " <Fragment>",
36
+ " <StandardDirectory Id='TARGETDIR'>",
37
+ " <Directory Id='dirwsJn0Cqs9KdlDSFdQsu9ygYvMF8' Name='SingleFile' />",
38
+ " </StandardDirectory>",
39
+ " </Fragment>",
40
+ " <Fragment>",
41
+ " <DirectoryRef Id='dirwsJn0Cqs9KdlDSFdQsu9ygYvMF8'>",
42
+ " <Component Id='cmp0i3dThrp4nheCteEmXvHxBDa_VE' Guid='PUT-GUID-HERE'>",
43
+ " <File Id='filziMcXYgrmcbVF8PuTUfIB9Vgqo0' KeyPath='yes' Source='SourceDir\\a.txt' />",
44
+ " </Component>",
45
+ " </DirectoryRef>",
46
+ " </Fragment>",
47
+ "</Wix>",
48
+ }, wxs);
49
+ }
50
+ }
51
+
52
+ [Fact]
53
+ public void CanHarvestSimpleDirectoryToInstallFolder()
54
+ {
55
+ var folder = TestData.Get("TestData", "SingleFile");
56
+
57
+ using (var fs = new DisposableFileSystem())
58
+ {
59
+ var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
60
+
61
+ var args = new[]
62
+ {
63
+ "dir", folder,
64
+ "-dr", "INSTALLFOLDER",
65
+ "-o", outputPath
66
+ };
67
+
68
+ var result = HeatRunner.Execute(args);
69
+ result.AssertSuccess();
70
+
71
+ var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
72
+ WixAssert.CompareLineByLine(new[]
73
+ {
74
+ "<?xml version='1.0' encoding='utf-8'?>",
75
+ "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
76
+ " <Fragment>",
77
+ " <DirectoryRef Id='INSTALLFOLDER'>",
78
+ " <Directory Id='dirlooNEIrtEBL2w_RhFEIgiKcUlxE' Name='SingleFile' />",
79
+ " </DirectoryRef>",
80
+ " </Fragment>",
81
+ " <Fragment>",
82
+ " <DirectoryRef Id='dirlooNEIrtEBL2w_RhFEIgiKcUlxE'>",
83
+ " <Component Id='cmpxHVF6oXohc0EWgRphmYZvw5.GGU' Guid='PUT-GUID-HERE'>",
84
+ " <File Id='filk_7KUAfL4VfzxSRsGFf_XOBHln0' KeyPath='yes' Source='SourceDir\\a.txt' />",
85
+ " </Component>",
86
+ " </DirectoryRef>",
87
+ " </Fragment>",
88
+ "</Wix>",
89
+ }, wxs);
90
+ }
91
+ }
92
+
93
+ [Fact]
94
+ public void CanHarvestFile()
95
+ {
96
+ var folder = TestData.Get("TestData", "SingleFile");
97
+
98
+ using (var fs = new DisposableFileSystem())
99
+ {
100
+ var outputPath = Path.Combine(fs.GetFolder(), "out.wxs");
101
+
102
+ var args = new[]
103
+ {
104
+ "file", Path.Combine(folder, "a.txt"),
105
+ "-cg", "GroupA",
106
+ "-dr", "ProgramFiles6432Folder",
107
+ "-o", outputPath
108
+
109
+ };
110
+
111
+ var result = HeatRunner.Execute(args);
112
+ result.AssertSuccess();
113
+
114
+ var wxs = File.ReadAllLines(outputPath).Select(s => s.Replace("\"", "'")).ToArray();
115
+ WixAssert.CompareLineByLine(new[]
116
+ {
117
+ "<?xml version='1.0' encoding='utf-8'?>",
118
+ "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
119
+ " <Fragment>",
120
+ " <StandardDirectory Id='ProgramFiles6432Folder'>",
121
+ " <Directory Id='dirl6r_Yc0gvMUEUVe5rioOOIIasoU' Name='SingleFile' />",
122
+ " </StandardDirectory>",
123
+ " </Fragment>",
124
+ " <Fragment>",
125
+ " <ComponentGroup Id='GroupA'>",
126
+ " <Component Id='cmpfBcW61_XzosRWK3EzUTBtJrcJD8' Directory='dirl6r_Yc0gvMUEUVe5rioOOIIasoU' Guid='PUT-GUID-HERE'>",
127
+ " <File Id='filKrZgaIOSKpNZXFnezZc9X.LKGpw' KeyPath='yes' Source='SourceDir\\SingleFile\\a.txt' />",
128
+ " </Component>",
129
+ " </ComponentGroup>",
130
+ " </Fragment>",
131
+ "</Wix>",
132
+ }, wxs);
133
+ }
134
+ }
135
+ }
136
+}
src/tools/test/WixToolsetTest.Heat/HeatRunner.cs
+4
-13
@@ -1,17 +1,14 @@
1
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3
-namespace WixToolsetTest.Harvesters
3
+namespace WixToolsetTest.Heat
4
{
5
- using System;
5
using System.Collections.Generic;
7
- using System.Threading;
6
using System.Threading.Tasks;
7
using WixToolset.Core;
8
using WixToolset.Core.TestPackage;
9
using WixToolset.Data;
12
- using WixToolset.Extensibility.Data;
10
using WixToolset.Extensibility.Services;
14
- using WixToolset.Harvesters;
11
+ using WixToolset.Tools.Heat;
12
13
/// <summary>
14
/// Utility class to emulate heat.exe.
@@ -66,8 +63,6 @@ namespace WixToolsetTest.Harvesters
63
/// <returns></returns>
64
public static Task<int> Execute(string[] args, IWixToolsetCoreServiceProvider coreProvider, out List<Message> messages, bool warningsAsErrors = true)
65
{
69
- coreProvider.AddBundleBackend();
70
-
66
var listener = new TestMessageListener();
67
68
messages = listener.Messages;
@@ -80,12 +75,8 @@ namespace WixToolsetTest.Harvesters
75
messaging.WarningsAsError = true;
76
}
77
83
- var arguments = coreProvider.GetService<ICommandLineArguments>();
84
- arguments.Populate(args);
85
-
86
- var commandLine = HeatCommandLineFactory.CreateCommandLine(coreProvider);
87
- var command = commandLine.ParseStandardCommandLine(arguments);
88
- return command?.ExecuteAsync(CancellationToken.None) ?? Task.FromResult(1);
78
+ var program = new Program();
79
+ return program.Run(coreProvider, listener, args);
80
}
81
}
82
}
src/tools/test/WixToolsetTest.Heat/TestData/SingleFile/a.txt
new
+1
@@ -0,0 +1 @@
1
+This is a.txt
src/tools/test/WixToolsetTest.Heat/WixToolsetTest.Heat.csproj
+12
-2
@@ -3,13 +3,23 @@
3
4
<Project Sdk="Microsoft.NET.Sdk">
5
<PropertyGroup>
6
- <TargetFramework>netcoreapp3.1</TargetFramework>
6
+ <TargetFramework>net472</TargetFramework>
7
<IsPackable>false</IsPackable>
8
+ <DebugType>embedded</DebugType>
9
+ <DefaultItemExcludes>TestData\**;$(DefaultItemExcludes)</DefaultItemExcludes>
10
<SignOutput>false</SignOutput>
11
</PropertyGroup>
12
13
<ItemGroup>
12
- <PackageReference Include="WixBuildTools.TestSupport" />
14
+ <Content Include="TestData\**" CopyToOutputDirectory="PreserveNewest" />
15
+ </ItemGroup>
16
+
17
+ <ItemGroup>
18
+ <ProjectReference Include="..\..\heat\heat.csproj" />
19
+ </ItemGroup>
20
+
21
+ <ItemGroup>
22
+ <PackageReference Include="WixToolset.Core.TestPackage" />
23
</ItemGroup>
24
25
<ItemGroup>
src/tools/tools.cmd
+1
@@ -24,6 +24,7 @@ msbuild -Restore tools.sln -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L
24
msbuild publish_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L%\tools_publish.binlog || exit /b
25
26
:: Test
27
+dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Heat -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Heat.trx" || exit /b
28
dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.HeatTasks -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.HeatTasks.trx" || exit /b
29
30
:: Pack
src/tools/tools.sln
+11
@@ -16,6 +16,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.HeatTasks", "Wix
16
EndProject
17
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.HeatTasks", "test\WixToolsetTest.HeatTasks\WixToolsetTest.HeatTasks.csproj", "{3FB7F972-31A6-4929-B6BF-EACEC659A7D3}"
18
EndProject
19
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Heat", "test\WixToolsetTest.Heat\WixToolsetTest.Heat.csproj", "{AF77C94C-5B4B-45E7-A642-A3C1F94F106D}"
20
+EndProject
21
Global
22
GlobalSection(SolutionConfigurationPlatforms) = preSolution
23
Debug|Any CPU = Debug|Any CPU
@@ -72,12 +74,21 @@ Global
74
{3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Release|Any CPU.Build.0 = Release|Any CPU
75
{3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Release|x86.ActiveCfg = Release|Any CPU
76
{3FB7F972-31A6-4929-B6BF-EACEC659A7D3}.Release|x86.Build.0 = Release|Any CPU
77
+ {AF77C94C-5B4B-45E7-A642-A3C1F94F106D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
78
+ {AF77C94C-5B4B-45E7-A642-A3C1F94F106D}.Debug|Any CPU.Build.0 = Debug|Any CPU
79
+ {AF77C94C-5B4B-45E7-A642-A3C1F94F106D}.Debug|x86.ActiveCfg = Debug|Any CPU
80
+ {AF77C94C-5B4B-45E7-A642-A3C1F94F106D}.Debug|x86.Build.0 = Debug|Any CPU
81
+ {AF77C94C-5B4B-45E7-A642-A3C1F94F106D}.Release|Any CPU.ActiveCfg = Release|Any CPU
82
+ {AF77C94C-5B4B-45E7-A642-A3C1F94F106D}.Release|Any CPU.Build.0 = Release|Any CPU
83
+ {AF77C94C-5B4B-45E7-A642-A3C1F94F106D}.Release|x86.ActiveCfg = Release|Any CPU
84
+ {AF77C94C-5B4B-45E7-A642-A3C1F94F106D}.Release|x86.Build.0 = Release|Any CPU
85
EndGlobalSection
86
GlobalSection(SolutionProperties) = preSolution
87
HideSolutionNode = FALSE
88
EndGlobalSection
89
GlobalSection(NestedProjects) = preSolution
90
{3FB7F972-31A6-4929-B6BF-EACEC659A7D3} = {F7A815A5-37AE-4EC4-A6D6-B29565055668}
91
+ {AF77C94C-5B4B-45E7-A642-A3C1F94F106D} = {F7A815A5-37AE-4EC4-A6D6-B29565055668}
92
EndGlobalSection
93
GlobalSection(ExtensibilityGlobals) = postSolution
94
SolutionGuid = {537F1116-39FE-4AED-A9A2-35030E5750D5}